רישום ביומן ומעקב במישור הבקרה

במסמך הזה מוסבר איך משתמשים ב-Cloud Logging וב-Cloud Monitoring כדי לראות יומנים ומדדים של מישור הבקרה של Cloud Service Mesh.

שימוש ב-Service mesh מאפשר לכם לעקוב אחרי תעבורת הנתונים אל השירותים וממנה, וכך ליהנות מניטור עשיר יותר ומניפוי באגים בלי לבצע שינויים בקוד של השירות עצמו. רשומות ביומן יכולות לספק מידע חשוב לפתרון בעיות ב-Service mesh, כולל רשומות של חיבורים וניתוקים מוצלחים, דוחות שגיאות לגבי לקוחות שההגדרה שלהם שגויה והתראות לגבי התנגשויות במשאבי API.

תרחישים לדוגמה

בהמשך מפורטים שלושה תרחישי שימוש לרישום ביומן ולמעקב של מישור הבקרה:

  • Cloud Logging למישור הבקרה של Cloud Service Mesh: אתם יכולים לאחסן, לחפש ולנתח בצורה מאובטחת את כל נתוני היומן והאירועים של Cloud Service Mesh, וגם להגדיר התראות לגביהם, באמצעות כל התכונות המובנות של Logging. ‫Cloud Service Mesh מייצא יומנים ל-Logging כשלקוח Envoy או gRPC מתחבר או מתנתק, וגם כשהוא מזהה בעיות בהגדרות.
  • Cloud Monitoring למישור הבקרה של Cloud Service Mesh: Cloud Service Mesh מייצא מדד מפתח שמציין את מספר הלקוחות שמחוברים למישור הבקרה של Cloud Service Mesh אל Monitoring. אתם יכולים להגדיר לוח בקרה ב-Monitoring ולהציג את המדד הזה בזמן אמת כדי לעקוב אחרי תקינות הרשת כשהלקוחות מתחברים ומתנתקים. אפשר גם להגדיר SLO לרשת ה-Mesh.
  • פתרון בעיות באופן מיידי: Cloud Service Mesh מייצא טלמטריה לרישום ביומן ולמעקב כברירת מחדל. אין צורך בהגדרה נוספת כדי להגדיר רישום ביומן ומעקב, כך שתוכלו לפתור בעיות בכל שלב, כולל כשאתם מגדירים את הרשת בפעם הראשונה.

צפייה ביומנים

כדי לראות את היומנים של Cloud Service Mesh, משתמשים ב-Logs Explorer. בקטע הבא מוצגת דוגמה לשאילתה לצפייה ביומנים של Cloud Service Mesh, אבל אפשר להשתמש בקישור הקודם כדי ליצור שאילתה משלכם.

  1. נכנסים לדף Logs Explorer במסוף Google Cloud .

    כניסה לדף Logs Explorer

  2. ברשימה משאב,
    • אם אתם משתמשים בממשקי ה-API של ניתוב השירותים, בוחרים באפשרות Gateway Scope או Mesh.
    • אם אתם משתמשים בממשקי API ישנים יותר, בוחרים באפשרות GCE Network.
  3. ברשימה Log name, בוחרים באפשרות trafficdirector.googleapis.com/events.
  4. לוחצים על Run query.

שדות של רשומות ביומן של Cloud Service Mesh

שדה תיאור
node_id המזהה של צומת xDS-client, כפי שסופק על ידי xDS-client.
client_type סוג לקוח xDS שמחובר ל-Cloud Service Mesh. ערכים אפשריים:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip כתובת ה-IP של הצומת כפי שסופקה על ידי הלקוח.
api_version גרסת xDS API שמשמשת לקוחות xDS להתחבר ל-Cloud Service Mesh. הערכים האפשריים הם V2 ו-V3.
description תיאור טקסטואלי של האירוע עם פרטים נוספים.

דוגמאות לרשומות ביומן

דוגמה לרשומה ביומן תיאור
‫"Cloud Service Mesh לא הצליח למצוא הגדרה כלשהי עבור לקוח xDS". היומן הזה נוצר כשלקוח xDS נדחה על ידי Cloud Service Mesh כי לא קיימת הגדרה. יכול להיות שהסיבה לכך היא הגדרה לא מלאה של משאבי API שרלוונטיים ל-Cloud Service Mesh.
‫"Client has successfully connected" (הלקוח התחבר בהצלחה). סוג ההודעה הזה ביומן נוצר בכל פעם שלקוח מתחבר בהצלחה ל-Cloud Service Mesh.
‫"Client has successfully disconnected" (הלקוח התנתק בהצלחה). סוג ההודעה הזה ביומן נוצר בכל פעם שלקוח מחובר מתנתק מ-Cloud Service Mesh.
"לא הוגדר משתנה המטא-נתונים TRAFFICDIRECTOR_INTERCEPTION_PORT. קיימת הגדרת ניתוב עבור ה-listener של היירוט, אבל היא תתעלם ממנה." הודעות יומן מסוג זה נוצרות כשמשאבי Cloud Service Mesh מוגדרים בצורה נכונה, אבל המשתנה TRAFFICDIRECTOR_INTERCEPTION_PORT לא מוגדר במטא-נתונים של צומת xDS-client, ולכן אי אפשר להוסיף את ההגדרה הזו ללקוח.
‫"Interception listener is built on the given port 15001, but routing configuration does not exist for it." סוג ההודעה הזה ביומן נוצר כשהמשתנה TRAFFICDIRECTOR_INTERCEPTION_PORT מוגדר במטא-נתונים של צומת xDS-client, אבל לא הוגדרו משאבים ל-Cloud Service Mesh כדי ליצור תגובת xDS מלאה.
"שליחת תגובת ADS מ-Cloud Service Mesh נכשלה. הבקשה האחרונה לגילוי שנשלחה מהצומת כללה גרסה או צופן חד-פעמי שגויים." סוג ההודעה הזה ביומן נוצר כש-Cloud Service Mesh לא מצליח לעבד את תגובת xDS בצורה תקינה בגלל תקשורת פגומה מלקוח xDS. ההודעה הזו מציינת שגיאת הטמעה בלקוח. מומלץ לבדוק את היומנים של הלקוח.
"לקוח ששולח תעבורה בין אזורים לשירות לקצה העורפי backend_service_id. אזור המקור: source_region אזורי היעד: destination_region1, destination_region2" הודעת יומן מהסוג הזה נוצרת כשלקוח מדווח ל-Cloud Service Mesh שהוא שלח תעבורת נתונים בין אזורים מאזור מקור לאזור יעד אחד או יותר.

הצגת המדדים

‫Cloud Service Mesh מייצא שלושה מדדים ל-Cloud Monitoring:‏ xDS API Connected Streams,‏ Request count ו-Request count by zone. המדד xDS API Connected Streams מציין את מספר הלקוחות שמחוברים למישור הבקרה, והמדד Request count מציין את מספר הבקשות שנשלחו לשירות קצה עורפי, מקובצות לפי אזור מקור, אזור יעד וסטטוס הבקשה. מספר הבקשות לפי אזור מציין את מספר הבקשות שנשלחו לשירות לקצה העורפי, מקובצות לפי אזור המקור, אזור היעד וסטטוס הבקשה. כדי לראות את המדדים האלה, משתמשים בMetrics Explorer.

כדי לראות את המדדים של Cloud Service Mesh:

  1. נכנסים לדף Metrics Explorer במסוף Google Cloud .

    כניסה לדף Metrics Explorer

  2. ברשימה Resource type, בוחרים משאב.
    • אם אתם משתמשים בממשקי ה-API של ניתוב השירותים, בוחרים באפשרות Gateway Scope או Mesh.
    • אם אתם משתמשים בממשקי API ישנים יותר, בוחרים באפשרות Network.
  3. ברשימה Metric בוחרים באפשרות connected_clients.
  4. חוזרים לרשימה Resource type ובוחרים באפשרות Compute Engine Backend Service.
  5. ברשימה מדד, בוחרים באפשרות Request count או Request count by zone.

לחלופין, אפשר להשתמש בשאילתה כדי לראות את מספר הבקשות באזורים שונים:

  1. בוחרים באפשרות MQL.
  2. בשדה, מזינים את השאילתה לדוגמה הבאה:
    fetch gce_backend_service
    | metric 'trafficdirector.googleapis.com/xds/server/request_count'
    | filter ( ne(metric.source_region, metric.destination_region))
    | align rate(1m)
    | every 1m
    | group_by [metric.source_region, metric.destination_region, resource.backend_service_id],
    [value_request_count_aggregate: aggregate(value.request_count)]
    
  3. לוחצים על Run query.

הגדרת מדדים מבוססי-יומנים והתראות

כדי לבצע את השלבים הבאים, צריך להגדיר מדדים שמבוססים על יומנים. מידע נוסף על הגדרת מדדים מבוססי-יומנים זמין במאמר סקירה כללית.

אתם יכולים להגדיר התראות שישלחו לכם הודעה כשהודעות שצוינו על ידי המשתמש יופיעו ביומנים שכללתם. ההתראות האלה יכולות להודיע למפעיל אם קורה משהו לא צפוי. לדוגמה, אם שינוי בהגדרות של Cloud Service Mesh גורם להתנגשויות במשאבי API, תוכלו לקבל התראה על הודעת השגיאה. כדי להגדיר התראות על מדדים שמבוססים על יומנים, אפשר לעיין במאמר הגדרת תרשימים והתראות.