סקירה כללית של מעקב מבוזר

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

‫Cloud Load Balancing משתלב עם Cloud Trace כדי ליצור טווחי מעקב לבקשות שמאזן העומסים מעבד. מכיוון שמאזן העומסים הוא נקודת הכניסה לתנועה של האפליקציה, הפעלה והפצה של הקשר המעקב במאזן העומסים מבטיחות ניראות של האבחון בכל נתיב הבקשה. אתם יכולים להשתמש במעקבים האלה כדי לזהות צווארי בקבוק של זמן אחזור, לבודד דילוגים שנכשלו ולפתור שגיאות בארכיטקטורות מרובות שכבות.

מאזן העומסים יוצר מעקבים שתואמים לתקנים פתוחים (W3C Trace Context ו-OpenTelemetry). שירותים לקצה העורפי שמשודרגים באמצעות OpenTelemetry יכולים להמשיך את המעקב שמתחיל מאזן העומסים.

יתרונות מרכזיים

מעקב מבוזר באמצעות Cloud Trace מספק את היתרונות הבאים:

  • מעקב מקצה לקצה אחרי בקשות: מעקב אחרי הנתיב של בקשה דרך מאזני עומסים חיצוניים ופנימיים של אפליקציות (ALB), ודרך שירותי הקצה העורפי שאליהם הם מנתבים את התנועה.
  • ניטור בקצה הרשת: תיעוד של טווחי מעקב בכלל ההעברה, לפני שמאזן העומסים בוחר בקצה עורפי, כדי שתוכלו לראות שגיאות בקצה הרשת וזמן אחזור שהכלים בקצה העורפי לא יכולים לזהות.
  • הגדרת טלמטריה מנותקת: הגדרת הגדרות מעקב במשאבי TelemetryPolicy עצמאיים בלי לשנות את הגדרת הניתוב של מאזן העומסים.
  • קורלציה בין נתוני טלמטריה: קורלציה בין טווחי המעקב לבין יומני הבקשות של Cloud Load Balancing ומדדי Cloud Monitoring, כדי לאתר את המקור של זמן האחזור או השגיאות.

מאזני עומסים נתמכים

בטבלה הבאה מפורטים מאזני העומסים שתומכים במעקב מבוזר, ומצבי הדגימה שבהם כל מאזן עומסים תומך:

מאזן עומסים סכמת איזון עומסים דגימה הסתברותית דגימה מבוססת-הורה
מאזן עומסים גלובלי חיצוני של אפליקציות (ALB) EXTERNAL_MANAGED
מאזן עומסים חיצוני אזורי של אפליקציות (ALB) EXTERNAL_MANAGED
מאזן עומסים פנימי אזורי של אפליקציות (ALB) INTERNAL_MANAGED
מאזן עומסים פנימי של אפליקציות (ALB) באזורים שונים INTERNAL_MANAGED

מאזני עומסים קלאסיים של אפליקציות (ALB) לא תומכים במעקב מבוזר.

איך פועל מעקב מבוזר

כדי להגדיר מעקב מבוזר, יוצרים משאב TelemetryPolicy ב-Network Services API. במדיניות טלמטריה מצוינים הפרטים הבאים:

  • ‫Targets: כללי ההעברה של מאזני העומסים שרוצים לעקוב אחריהם.
  • הגדרת המעקב: הגדרות הדגימה שקובעות אחרי אילו בקשות מאזן העומסים עוקב.

כשבקשה מגיעה לכלל העברה שמדיניות הטלמטריה מטרגטת, מאזן העומסים מחליט אם לדגום את הבקשה. אם הבקשה נדגמת, מאזן העומסים יוצר טווח מעקב, שולח את הטווח ל-Cloud Trace ומפיץ את הקשר המעקב לקצה העורפי בכותרת הבקשה traceparent של W3C.

צירוף כלל העברה

מדיניות הטלמטריה מטרגטת את כלל ההעברה של מאזן העומסים, שמייצג את ממשק המשתמש של מאזן העומסים. כשמצרפים מעקב לכלל ההעברה, מאזן העומסים יכול לעקוב אחרי כל התנועה שנכנסת לכתובת IP וירטואלית (VIP) וליציאה, כולל בקשות שנכשלות לפני שמאזן העומסים בוחר בקצה עורפי.

אלה המאפיינים של כללי מדיניות הטלמטריה:

  • מחזור חיים עצמאי: כללי מדיניות הטלמטריה נפרדים משירותי הקצה העורפי, ממפות ה-URL ומשרתי ה-Proxy לחלוקת העומס. אתם יכולים ליצור, לשנות או למחוק מדיניות טלמטריה בלי לשנות את האופן שבו מאזן העומסים מנתב את התנועה.
  • שימוש חוזר בממשקי קצה (frontend): מדיניות טלמטריה אחת יכולה לטרגט כמה כללי העברה, כך שאפשר להחיל הגדרות מעקב עקביות על כמה ממשקי קצה של מאזני עומסים.
  • ברמת המיקום: יוצרים מדיניות טלמטריה במיקום global כדי לטרגט כללי העברה גלובליים, כמו אלה שמשמשים מאזני עומסים גלובליים חיצוניים של אפליקציות (ALB) ומאזני עומסים פנימיים של אפליקציות (ALB) בכמה אזורים. כדי לטרגט כללי העברה אזוריים באזור מסוים, צריך ליצור מדיניות טלמטריה באותו אזור. למשל, כללי העברה שמשמשים מאזני עומסים אזוריים חיצוניים של אפליקציות (ALB) ומאזני עומסים אזוריים פנימיים של אפליקציות (ALB).

מצבי דגימה

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

  • דגימה הסתברותית: מאזן העומסים דוגם חלק קבוע מהבקשות, שאתם מגדירים בשדה samplingRate. לדוגמה, הערך 0.01 דוגם 1% מהבקשות. אפשר להשתמש בדגימה הסתברותית בכל מאזני העומסים הנתמכים.
  • דגימה מבוססת-הורה: מאזן העומסים מכבד את החלטת הדגימה בכותרת traceparent הנכנסת מלקוח או משירות במעלה הזרם. מגדירים דגימה מבוססת-הורה בשדה parentBasedSampling. דגימה שמבוססת על הורה נתמכת רק במאזני עומסים פנימיים של אפליקציות.

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

    • אם בכותרת traceparent הנכנסת מוגדר הדגל שנדגם, מאזן העומסים דוגם את הבקשה בקצב שצוין בשדה parentBasedSampling.samplingRate. לדוגמה, אם מגדירים את השדה הזה לערך 1.0, המערכת תעקוב אחרי כל הבקשות ששירות במעלה הזרם כבר דגם.
    • אם הכותרת הנכנסת traceparent לא כוללת את הדגל שנדגם, מאזן העומסים לא דוגם את הבקשה. ההתנהגות הזו מכבדת את ההחלטה במעלה הזרם ופועלת לפי המפרט של OpenTelemetry, שמונע הופעה של מעקבים מנותקים ב-Cloud Trace.
    • אם הבקשה לא כוללת כותרת traceparent, מאזן העומסים מחיל את ה-samplingRate הבסיסי.

טיפול בכותרת של הקשר יומן מעקב

מאזן העומסים מטפל בכותרת traceparent של W3C באופן הבא:

  • המעקב לא מופעל או שהבקשה לא נדגמת: מאזן העומסים מעביר את הכותרת traceparent הנכנסת לקצה העורפי ללא שינויים.
  • הבקשה נדגמת ולא כוללת כותרת traceparent: מאזן העומסים יוצר מזהה מעקב ומזהה span חדשים, ומגדיר את דגלי המעקב ל-03 (אקראי ונדגם).
  • הבקשה נדגמת וכוללת כותרת traceparent: מאזן העומסים שומר את מזהה המעקב הנכנס ואת הדגל האקראי, יוצר מזהה span חדש ומגדיר את הדגל שנדגם.

שירותים לקצה העורפי שמשתמשים ב-OpenTelemetry SDK עם מפיץ ההקשר של W3C Trace Context קוראים באופן אוטומטי את הכותרת traceparent וממשיכים את המעקב. מידע נוסף זמין במאמר הקשר יומן מעקב.

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

בקטע הזה מתוארים תרחישים נפוצים של מעקב מבוזר.

מעקב אחר הקצה של חזית החנות

חנות למסחר אלקטרוני משתמשת במאזן עומסים גלובלי חיצוני של אפליקציות (ALB) כדי לקבל תנועה של לקוחות. כדי לעקוב אחרי זמן האחזור בקצה הרשת ושגיאות כמו תגובות 404 וכשלים ב-TLS, אתם מצרפים מדיניות טלמטריה עם דגימה הסתברותית לכלל ההעברה של החנות. תדירות דגימה נמוכה, כמו 0.01 (1%), שומרת על עלויות קליטה צפויות ב-Cloud Trace במהלך אירועי תנועה בשיא.

שמירה על המשכיות המעקב בשירותי התשלום בקופה

בקשות התשלום עוברות מחזית החנות דרך מאזן עומסים פנימי של אפליקציות (ALB) לשירותים פנימיים של עגלת קניות, מלאי ותשלומים. כדי לוודא שבקשות התשלום שנדגמו בחנות נבדקות בכל דילוג פנימי, מפעילים דגימה מבוססת-הורה במאזן העומסים הפנימי עם parentBasedSampling.samplingRate של 1.0. תנועה פנימית שגרתית שלא כוללת החלטת דגימה במעלה הזרם נדגמת בשיעור הבסיסי samplingRate.

בידוד צווארי בקבוק של זמן אחזור

כשיש עלייה בזמן האחזור של התשלום או עלייה חדה בשגיאות 5xx, אתם משווים בין ה-spans של מאזן העומסים ב-Cloud Trace לבין יומני הבקשות ומדדי זמן האחזור של מאזן העומסים. ההשוואה הזו עוזרת לכם לקבוע אם מקור הבעיה הוא בקצה של מאזן העומסים, בדילוג פנימי של מאזן העומסים או בשירות לקצה העורפי.

תמחור

מאזן העומסים לא מחייב על יצירת טווחי מעקב. עם זאת, ב-Cloud Trace מחויבים על הטמעת span של מעקב לפי התמחור של Cloud Trace.

כדי לנהל את עלויות הטמעת הנתונים של עומסי עבודה בסביבת הייצור עם תנועה גבוהה, מומלץ להגדיר samplingRate של 0.01 (1%) או 0.001 (0.1%).

מגבלות

בגרסת טרום-השקה (Preview), למעקב מבוזר של מאזני עומסים של אפליקציות יש את המגבלות הבאות:

  • דגימה שמבוססת על הורה לא נתמכת במאזני עומסים חיצוניים של אפליקציות (ALB).
  • אין תמיכה במאפייני span בהתאמה אישית.
  • אי אפשר להגדיר מעקב מבוזר באמצעות Google Kubernetes Engine Gateway API או Terraform.
  • מדיניות טלמטריה אחת יכולה לטרגט עד 50 משאבים.

מעקב מבוזר ב-Agent Gateway

אם אתם משתמשים ב-Agent Gateway כדי לנהל את התנועה של סוכני AI, קראו את המאמר מעקב אחרי התנועה דרך Agent Gateway כדי לקבל מידע על מעקב אחרי תנועת הסוכנים.

המאמרים הבאים