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

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

רישום ביומן

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

דגימה ואיסוף של יומנים

מתבצעת דגימה של הבקשות (והתגובות התואמות) שמטופלות על ידי מכונות וירטואליות (VM) בעורף של מאזן העומסים. לאחר מכן, הבקשות האלה שעברו דגימה מעובדות כדי ליצור יומנים. אתם קובעים את החלק היחסי של הבקשות שמוצגות כרשומות ביומן באמצעות הפרמטר logConfig.sampleRate. אם הערך של logConfig.sampleRate הוא 1.0 (100%), יומנים נוצרים עבור כל הבקשות ונכתבים ב-Cloud Logging.

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

שדות אופציונליים

רשומות ביומן מכילות שדות חובה ושדות אופציונליים. בקטע What is logged מפורטים השדות האופציונליים ושדות החובה. כל שדות החובה תמיד כלולים. אתם יכולים לבחור אילו שדות אופציונליים להשאיר.

  • אם בוחרים באפשרות include all optional, כל השדות האופציונליים בפורמט של רשומת היומן נכללים ביומני הזרימה. כשנוספים שדות אופציונליים חדשים לפורמט הרשומה, יומני זרימת הנתונים כוללים אוטומטית את השדות החדשים.

  • אם בוחרים באפשרות exclude all optional, כל השדות האופציונליים מושמטים.

  • אם בוחרים באפשרות מותאם אישית, אפשר לציין את השדות האופציונליים שרוצים לכלול, כמו tls.protocol,tls.cipher.

הוראות להתאמה אישית של שדות אופציונליים מופיעות במאמר הפעלת רישום ביומן בשירות קצה עורפי קיים.

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

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

המסוף

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף איזון עומסים

  2. לוחצים על השם של מאזן העומסים.

  3. לוחצים על עריכה.

  4. לוחצים על Backend Configuration (הגדרת ה-Backend).

  5. לוחצים על עריכה לצד שירות לקצה העורפי.

  6. לוחצים על הגדרות מתקדמות (זיקה לסשן, זמן להשלמת תהליך).

  7. לוחצים על הפעלת הרישום ביומן.

  8. מגדירים שבר Sample rate. אפשר להגדיר מספר מ-0.0 עד 1.0, כאשר 0.0 אומר שלא מתבצעת רישום של בקשות ו-1.0 אומר שמתבצע רישום של 100% מהבקשות. ערך ברירת המחדל הוא 1.0.

  9. אופציונלי: כדי לכלול את כל השדות האופציונליים ביומנים, בקטע Optional fields (שדות אופציונליים), לוחצים על Include all optional fields (כלול את כל השדות האופציונליים).

  10. כדי לסיים את העריכה של שירות לקצה העורפי, לוחצים על עדכון.

  11. כדי לסיים את העריכה של מאזן העומסים, לוחצים על עדכון.

gcloud

כדי לעדכן את שירות לקצה העורפי ולהפעיל רישום ביומן, משתמשים בפקודה gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

איפה

  • --enable-logging מאפשר רישום ביומן עבור שירות לקצה העורפי הזה.
  • --logging-sample-rate מאפשר לציין ערך מ-0.0 עד 1.0, כאשר 0.0 אומר שאף בקשה לא מתועדת ו-1.0 אומר ש-100% מהבקשות מתועדות. הפרמטר הזה רלוונטי רק עם הפרמטר --enable-logging. הפעלת הרישום אבל הגדרת קצב הדגימה ל-0.0 שווה להשבתת הרישום. ערך ברירת המחדל הוא 1.0.
  • --logging-optional מאפשרת לכם לציין את השדות האופציונליים שאתם רוצים לכלול ביומנים:

    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.

    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.

    • CUSTOM כדי לכלול רשימה מותאמת אישית של שדות אופציונליים שצוינו ב-OPTIONAL_FIELDS.

  • --logging-optional-fields: רשימה מופרדת בפסיקים של שדות אופציונליים שרוצים לכלול ביומנים.

    לדוגמה, אפשר להגדיר את tls.protocol,tls.cipher רק אם LOGGING_OPTIONAL_MODE מוגדר לערך CUSTOM.

    אם אתם משתמשים במדדים מותאמים אישית ורוצים לרשום ביומן רכיבים של דוח הטעינה של ORCA, אתם צריכים להגדיר את LOGGING_OPTIONAL_MODE ל-CUSTOM ולציין אילו רכיבים צריך לרשום ביומן בשדה OPTIONAL_FIELDS. לדוגמה, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

כדי להשתמש במאזני עומסים פנימיים של אפליקציות (ALB) בין אזורים, פועלים לפי השלבים הבאים:

המסוף

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף איזון עומסים

  2. לוחצים על השם של מאזן העומסים.

  3. לוחצים על עריכה.

  4. לוחצים על Backend Configuration (הגדרת ה-Backend).

  5. לוחצים על עריכה לצד שירות לקצה העורפי.

  6. לוחצים על הגדרות מתקדמות (זיקה לסשן, זמן להשלמת תהליך).

  7. לוחצים על הפעלת הרישום ביומן.

  8. מגדירים שבר Sample rate. אפשר להגדיר מספר מ-0.0 עד 1.0, כאשר 0.0 אומר שלא מתבצעת רישום של בקשות ו-1.0 אומר שמתבצע רישום של 100% מהבקשות. ערך ברירת המחדל הוא 1.0.

  9. אופציונלי: כדי לכלול את כל השדות האופציונליים ביומנים, בקטע Optional fields (שדות אופציונליים), לוחצים על Include all optional fields (כלול את כל השדות האופציונליים).

  10. כדי לסיים את העריכה של שירות לקצה העורפי, לוחצים על עדכון.

  11. כדי לסיים את העריכה של מאזן העומסים, לוחצים על עדכון.

gcloud

כדי לעדכן את שירות לקצה העורפי ולהפעיל רישום ביומן, משתמשים בפקודה gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --global \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

איפה

  • --enable-logging מאפשר רישום ביומן עבור שירות לקצה העורפי הזה.
  • --logging-sample-rate מאפשר לציין ערך מ-0.0 עד 1.0, כאשר 0.0 אומר שאף בקשה לא מתועדת ו-1.0 אומר ש-100% מהבקשות מתועדות. הפרמטר הזה רלוונטי רק עם הפרמטר --enable-logging. הפעלת הרישום אבל הגדרת קצב הדגימה ל-0.0 שווה להשבתת הרישום. ערך ברירת המחדל הוא 1.0.
  • --logging-optional מאפשרת לכם לציין את השדות האופציונליים שאתם רוצים לכלול ביומנים:

    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.

    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.

    • CUSTOM כדי לכלול רשימה מותאמת אישית של שדות אופציונליים שצוינו ב-OPTIONAL_FIELDS.

  • --logging-optional-fields: רשימה מופרדת בפסיקים של שדות אופציונליים שרוצים לכלול ביומנים.

    לדוגמה, אפשר להגדיר את tls.protocol,tls.cipher רק אם LOGGING_OPTIONAL_MODE מוגדר לערך CUSTOM.

    אם אתם משתמשים במדדים מותאמים אישית ורוצים לרשום ביומן רכיבים של דוח הטעינה של ORCA, אתם צריכים להגדיר את LOGGING_OPTIONAL_MODE ל-CUSTOM ולציין אילו רכיבים צריך לרשום ביומן בשדה OPTIONAL_FIELDS. לדוגמה, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

אחרי שמפעילים את הרישום ביומן בשירות לקצה העורפי, כל בקשת HTTP(S) נרשמת ביומן באמצעות Cloud Logging.

השבתה או שינוי של רישום ביומן בשירות קיים לקצה העורפי

המסוף

  1. נכנסים לדף Load Balancing במסוף Google Cloud .

    כניסה לדף איזון עומסים

  2. לוחצים על השם של מאזן העומסים.

  3. לוחצים על עריכה.

  4. לוחצים על Backend Configuration (הגדרת ה-Backend).

  5. לוחצים על עריכה לצד שירות ה-Backend.

  6. כדי להשבית את הרישום ביומן לחלוטין, בקטע Logging (רישום ביומן), מבטלים את הסימון בתיבה Enable logging (הפעלת רישום ביומן).

  7. אם לא משביתים את הרישום ביומן, אפשר להגדיר שבר אחר של שיעור הדגימה. אפשר להגדיר מספר מ-0.0 עד 1.0, כאשר 0.0 אומר שלא מתבצעת רישום של בקשות ו-1.0 אומר שמתבצע רישום של 100% מהבקשות. ערך ברירת המחדל הוא 1.0. לדוגמה, 0.2 אומר ש-20% מהבקשות שנדגמו יוצרות יומנים.

  8. כדי לסיים את העריכה של שירות לקצה העורפי, לוחצים על עדכון.

  9. כדי לסיים את העריכה של מאזן העומסים, לוחצים על עדכון.

‫gcloud: מצב חוצה-אזורים

משביתים את הרישום ביומן בשירות לקצה העורפי באמצעות הפקודה gcloud compute backend-services update.

השבתה מלאה של רישום ביומן

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --no-enable-logging

איפה

  • --global מציין שהשירות לקצה העורפי הוא גלובלי. משתמשים בשדה הזה לשירותים לקצה העורפי שמשמשים עם מאזני עומסים פנימיים של אפליקציות (ALB) חוצי-אזורים.
  • --no-enable-logging משבית את הרישום ביומן עבור שירות לקצה העורפי הזה.

הפעלת רישום של שדות אופציונליים בשירות קצה עורפי קיים

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

איפה

  • בפרמטר --logging-sample-rate אפשר לציין ערך מ-0.0 עד 1.0, כאשר 0.0 אומר שלא מתבצעת רישום של בקשות, ו-1.0 אומר שמתבצעת רישום של 100% מהבקשות. הפרמטר הזה רלוונטי רק עם הפרמטר --enable-logging. הפעלת הרישום ביומן אבל הגדרת קצב הדגימה ל-0.0 שווה להשבתת הרישום ביומן. ערך ברירת המחדל הוא 1.0.
  • --logging-optional מאפשרת לכם לציין את השדות האופציונליים שאתם רוצים לכלול ביומנים:

    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.

    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.

    • CUSTOM כדי לכלול רשימה מותאמת אישית של שדות אופציונליים שצוינו ב-OPTIONAL_FIELDS.

  • --logging-optional-fields: רשימה מופרדת בפסיקים של שדות אופציונליים שרוצים לכלול ביומנים.

    לדוגמה, אפשר להגדיר את tls.protocol,tls.cipher רק אם LOGGING_OPTIONAL_MODE מוגדר לערך CUSTOM.

    אם אתם משתמשים במדדים מותאמים אישית ורוצים לרשום ביומן רכיבים של דוח הטעינה של ORCA, אתם צריכים להגדיר את LOGGING_OPTIONAL_MODE ל-CUSTOM ולציין אילו רכיבים צריך לרשום ביומן בשדה OPTIONAL_FIELDS. לדוגמה, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

עדכון מצב אופציונלי של רישום ביומן מ-CUSTOM למצבים אחרים

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=

איפה

  • --logging-optional מאפשרת לכם לציין את השדות האופציונליים שאתם רוצים לכלול ביומנים:

    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.

    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.

  • צריך להגדיר את --logging-optional-fields באופן מפורש כמו שמוצג כדי לנקות את השדות הקיימים של CUSTOM. ה-API לא מאפשר לשלב מצב שאינו CUSTOM עם שדות CUSTOM.

שינוי קצב הדגימה של הרישום ביומן

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --logging-sample-rate=VALUE

‫gcloud: מצב אזורי

משביתים את הרישום ביומן בשירות לקצה העורפי באמצעות הפקודה gcloud compute backend-services update.

השבתה מלאה של רישום ביומן

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --no-enable-logging

איפה

  • --region מציין שהשירות לקצה העורפי הוא אזורי. משתמשים בשדה הזה לשירותים לקצה העורפי שמשמשים עם מאזני עומסים פנימיים אזוריים של אפליקציות.
  • --no-enable-logging משבית את הרישום ביומן עבור שירות לקצה העורפי הזה.

הפעלת רישום של שדות אופציונליים בשירות קצה עורפי קיים

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

איפה

  • בפרמטר --logging-sample-rate אפשר לציין ערך מ-0.0 עד 1.0, כאשר 0.0 אומר שלא מתבצעת רישום של בקשות, ו-1.0 אומר שמתבצעת רישום של 100% מהבקשות. הפרמטר הזה רלוונטי רק עם הפרמטר --enable-logging. הפעלת הרישום ביומן אבל הגדרת קצב הדגימה ל-0.0 שווה להשבתת הרישום ביומן. ערך ברירת המחדל הוא 1.0.
  • --logging-optional מאפשרת לכם לציין את השדות האופציונליים שאתם רוצים לכלול ביומנים:

    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.

    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.

    • CUSTOM כדי לכלול רשימה מותאמת אישית של שדות אופציונליים שצוינו ב-OPTIONAL_FIELDS.

  • --logging-optional-fields: רשימה מופרדת בפסיקים של שדות אופציונליים שרוצים לכלול ביומנים.

    לדוגמה, אפשר להגדיר את tls.protocol,tls.cipher רק אם LOGGING_OPTIONAL_MODE מוגדר לערך CUSTOM.

    אם אתם משתמשים במדדים מותאמים אישית ורוצים לרשום ביומן רכיבים של דוח הטעינה של ORCA, אתם צריכים להגדיר את LOGGING_OPTIONAL_MODE ל-CUSTOM ולציין אילו רכיבים צריך לרשום ביומן בשדה OPTIONAL_FIELDS. לדוגמה, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

עדכון מצב אופציונלי של רישום ביומן מ-CUSTOM למצבים אחרים

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=

איפה

  • --logging-optional מאפשרת לכם לציין את השדות האופציונליים שאתם רוצים לכלול ביומנים:

    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.

    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.

  • צריך להגדיר את --logging-optional-fields באופן מפורש כמו שמוצג כדי לנקות את השדות הקיימים של CUSTOM. ה-API לא מאפשר לשלב מצב שאינו CUSTOM עם שדות CUSTOM.

שינוי קצב הדגימה של הרישום ביומן

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --logging-sample-rate=VALUE

איך צופים ביומנים

כדי לראות את היומנים, נכנסים לדף Logs Explorer במסוף Google Cloud .

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

  • כדי לראות את היומנים של כל מאזני העומסים הפנימיים של האפליקציות, בתפריט הנפתח הראשון בוחרים באפשרות Internal Application Load Balancer Rule.
  • כדי לראות יומנים רק של רשת אחת, בוחרים באפשרות Internal Application Load Balancer Rule (כלל איזון עומסים פנימי של אפליקציה) ואז בוחרים את שם הרשת.
  • כדי לראות יומנים רק עבור אזור אחד ברשת, בוחרים באפשרות Internal Application Load Balancer Rule > NETWORK > REGION.

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

קידוד UTF-8 מוגדר כשחובה בשדות של יומן. תווים שאינם תווים בפורמט UTF-8 מוחלפים בסימני שאלה.

אפשר להגדיר ייצוא של מדדים שמבוססים על יומנים עבור יומני משאבים (resource.type="internal_http_lb_rule"). המדדים שנוצרים מבוססים על המשאב Internal Application Load Balancer Rule (כלל מאזן עומסים פנימי של אפליקציות), שזמין בלוחות הבקרה של Cloud Monitoring:

כניסה ל-Monitoring

מה נרשם ביומן

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

  • מידע כללי שמוצג ברוב היומנים Google Cloud , כמו חומרה, מזהה פרויקט, מספר פרויקט וחותמת זמן, כפי שמתואר ב-LogEntry.
  • HttpRequest שדות ביומן.

חלק משדות היומן הם בפורמט של כמה שדות, עם יותר מפריט נתונים אחד בשדה נתון. לדוגמה, השדה tls הוא בפורמט TlsDetails, שמכיל את פרוטוקול ה-TLS ואת הצפנת ה-TLS בשדה אחד. השדות האלה מפורטים בטבלה הבאה של פורמט הרשומה.

שדה סוג סוג השדה: חובה או אופציונלי תיאור
logName מחרוזת חובה שם המשאב של היומן שאליו שייך רשומה זו ביומן.
בטופס "projects/PROJECT_ID/logs/requests".
timestamp מחרוזת חובה השעה שבה הבקשה התחילה.
severity LogSeverity format חובה רמת החומרה של רשומת היומן. ברירת המחדל היא LogSeverity.DEFAULT.
httpRequest אובייקט HttpRequest חובה פרוטו HttpRequest שמתאר את בקשת ה-HTTP(S) שנרשמת ביומן.
trace מחרוזת חובה שם המשאב של ה-trace שמשויך לרשומה ביומן, אם יש כזה. אם הוא מכיל שם משאב יחסי, השם נחשב ליחסי ל-https://tracing.googleapis.com. דוגמה: projects/PROJECT_ID/traces/06796866738c859f2f19b7cfb3214824.

מאזני עומסים פנימיים של אפליקציות לא תומכים בשדה הזה.

spanId מחרוזת חובה מזהה הטווח בתוך המעקב שמשויך לרשומה ביומן. במקרה של טווחים של Trace, המחרוזת הזו היא באותו פורמט שבו נעשה שימוש ב-Trace API v2: קידוד הקסדצימלי של מערך של 8 בייט, כמו 000000000000004a.

מאזני עומסים פנימיים של אפליקציות לא תומכים בשדה הזה.

resource אובייקט MonitoredResource חובה

המשאב במעקב שיצר את הרשומה הזו ביומן.

אובייקט MonitoredResourceDescriptor מתאר את הסכימה של אובייקט MonitoredResource באמצעות שם סוג וקבוצה של תוויות.

לדוגמה, לתיאורי משאבים במעקב של מאזני עומסים פנימיים של אפליקציות יש סוג משאב של internal_http_lb_rule, והם משתמשים בתוויות משאבים כדי לזהות את המשאב בפועל ואת המאפיינים שלו. רשימה של תוויות משאבים זמינה במאמר תוויות משאבים עבור resource.type="internal_http_lb_rule".

jsonPayload אובייקט (פורמט Struct) חובה המטען הייעודי (payload) של הרשומה ביומן, שמוצג כאובייקט JSON. אובייקט ה-JSON מכיל את השדות הבאים:
  • tls
  • proxyStatus
  • backendTargetProjectNumber
  • serviceDirectoryService
  • cloudFitExperiment
  • cloudFitFault
  • serviceExtensionInfo
  • mtls
  • authzPolicyInfo
  • backendNetworkName
  • orca_load_report
מחרוזת חובה

השדה proxyStatus מכיל מחרוזת שמציינת למה מאזן העומסים הפנימי של אפליקציות החזיר את HttpRequest.status. השדה הזה מאוכלס רק כשהשרת הפרוקסי מחזיר קוד שגיאה.

השדה לא מתועד אם הערך הוא מחרוזת ריקה. זה יכול לקרות אם ה-proxy או ה-backend לא מחזירים שגיאה או קוד שגיאה שאינו 0, 4XX או 5XX.

השדה proxyStatus מורכב משני חלקים:

מחרוזת חובה השדה backendTargetProjectNumber מכיל את מספר הפרויקט שמזהה את הבעלים של שירות הקצה העורפי או של קטגוריית הקצה העורפי.
מחרוזת חובה בשדה serviceDirectoryService מופיע השם של שירות Service Directory שבו הוגדרה התקלה ב-Cloud FIT.
מחרוזת חובה בשדה cloudFitExperiment מופיע השם של ניסוי Cloud FIT.
מחרוזת חובה השדה cloudFitFault מכיל את שם התקלה שהוחדרה על ידי ניסוי תקלה של Cloud FIT בנתיב הבקשה הזה.
ServiceExtensionInfo חובה בשדה serviceExtensionInfo מאוחסן מידע על זרמי gRPC ממאזן העומסים ל-Service Extensions. מידע נוסף זמין במאמר מה נרשם ביומן לגבי תוספי יתרונות מרכזיים.
AuthzPolicyInfo חובה בשדה authzPolicyInfo מאוחסן מידע על התוצאה של מדיניות ההרשאות. המידע הזה זמין רק למאזני עומסים פנימיים של אפליקציות שהופעלו בהם כללי הרשאה. מידע נוסף זמין במאמר בנושא מה נרשם ביומן לגבי מדיניות הרשאות.
TlsInfo אופציונלי

השדה tls מכיל את השדה TlsInfo שמציין את מטא-נתוני ה-TLS של החיבור בין הלקוח לבין מאזן העומסים. השדה הזה זמין רק אם הלקוח משתמש בהצפנת TLS/SSL.

משתמשים בפרמטר --logging-optional-fields כדי לציין אילו רכיבים צריך לתעד:

  • tls.protocol
  • tls.cipher

אי אפשר להגדיר את --logging-optional-fields ל-tls כדי לציין את כל הרכיבים.

MtlsInfo אופציונלי השדה mtls מכיל את הערך MtlsInfo שמציין את מטא-נתוני ה-mTLS לחיבור בין הלקוח לבין מאזן העומסים הפנימי של אפליקציות. השדה הזה זמין רק אם מאזן העומסים משתמש ב-Mutual TLS (mTLS) בקצה הקדמי.
מחרוזת חובה בשדה backendNetworkName מציינים את רשת ה-VPC של השרת העורפי, אם השרת העורפי משתמש ב-VPC שונה מכלל ההעברה של מאזן העומסים.
OrcaLoadReport אופציונלי

השדה orca_load_report מכיל חלק מהאלמנטים של דוח הטעינה של ORCA שמוחזר על ידי ה-backend, או את כולם. השדה הזה מוצג רק אם ה-backend מחזיר דוח עומס של ORCA, והגדרתם את מאזן העומסים כך שיתעד את דוח העומס של ORCA.

משתמשים בפרמטר --logging-optional-fields כדי לציין אילו מהרכיבים הבאים בדוח העומס של ORCA צריכים להיכלל ביומן:

  • orca_load_report.cpu_utilization
  • orca_load_report.mem_utilization
  • orca_load_report.request_cost
  • orca_load_report.utilization
  • orca_load_report.rps_fractional
  • orca_load_report.eps
  • orca_load_report.named_metrics
  • orca_load_report.application_utilization

אפשר גם להגדיר את --logging-optional-fields לערך orca_load_report כדי לציין שצריך לרשום ביומן את כל הרכיבים.

פורמט השדה TlsInfo

שדה פורמט השדה סוג השדה: חובה או אופציונלי תיאור
protocol מחרוזת אופציונלי פרוטוקול TLS שהלקוחות משתמשים בו כדי ליצור חיבור עם מאזן העומסים. הערכים האפשריים הם TLS 1.0, 1.1, 1.2, 1.3 או QUIC. הערך הזה מוגדר כ-NULL אם הלקוח לא משתמש בהצפנת TLS/SSL.
cipher מחרוזת אופציונלי הצפנת TLS שבה הלקוחות משתמשים כדי ליצור חיבור עם מאזן העומסים. הערך הזה מוגדר כ-NULL אם הלקוח לא משתמש ב-HTTP(S) או אם הלקוח לא משתמש בהצפנת TLS/SSL.

פורמט השדה MtlsInfo

שדה פורמט השדה סוג השדה: חובה או אופציונלי תיאור
clientCertPresent bool אופציונלי

true אם הלקוח סיפק אישור במהלך לחיצת היד של TLS, אחרת false.

clientCertChainVerified bool אופציונלי

true אם שרשרת אישורי הלקוח מאומתת מול TrustStore שהוגדר; אחרת, false.

clientCertError מחרוזת אופציונלי

מחרוזות מוגדרות מראש שמייצגות את תנאי השגיאה. מידע נוסף על מחרוזות השגיאה זמין במאמר בנושא מצב אימות לקוח.

clientCertSha256Fingerprint מחרוזת אופציונלי

טביעת אצבע מסוג SHA-256 של אישור הלקוח בקידוד Base64.

clientCertSerialNumber מחרוזת אופציונלי

המספר הסידורי של אישור הלקוח. אם המספר הסידורי ארוך מ-50 בייטים, המחרוזת client_cert_serial_number_exceeded_size_limit מתווספת ל- client_cert_error, והמספר הסידורי מוגדר כמחרוזת ריקה.

clientCertValidStartTime מחרוזת אופציונלי

חותמת זמן (בפורמט מחרוזת תאריך RFC 3339) שלפניו אישור הלקוח לא תקף. לדוגמה, 2022-07-01T18:05:09+00:00.

clientCertValidEndTime מחרוזת אופציונלי

חותמת זמן (בפורמט מחרוזת תאריך RFC 3339) שאחריה אישור הלקוח לא תקף. לדוגמה, 2022-07-01T18:05:09+00:00.

clientCertSpiffeId מחרוזת אופציונלי

מזהה SPIFFE מהשדה של שם הנושא החלופי (SAN). אם הערך לא תקין או שהוא גדול מ-2,048 בייט, מזהה ה-SPIFFE מוגדר כמחרוזת ריקה.

אם מזהה ה-SPIFFE ארוך מ-2,048 בייט, המחרוזת client_cert_spiffe_id_exceeded_size_limit מתווספת ל- client_cert_error.

clientCertUriSans מחרוזת אופציונלי

רשימה מופרדת בפסיקים בקידוד Base64 של תוספי ה-SAN מסוג URI. תוספי ה-SAN מחולצים מאישור הלקוח. מזהה ה-SPIFFE לא נכלל בשדה client_cert_uri_sans.

אם השדה client_cert_uri_sans ארוך מ-512 בייט, המחרוזת client_cert_uri_sans_exceeded_size_limit מתווספת ל-client_cert_error, והרשימה המופרדת בפסיקים מוגדרת כמחרוזת ריקה.

clientCertDnsnameSans מחרוזת אופציונלי

רשימה מופרדת בפסיקים בקידוד Base64 של תוספי ה-SAN מהסוג DNSName. תוספי ה-SAN מחולצים מאישור הלקוח.

אם השדה client_cert_dnsname_sans ארוך מ-512 בייט, המחרוזת client_cert_dnsname_sans_exceeded_size_limit מתווספת ל-client_cert_error, והרשימה המופרדת בפסיקים מוגדרת כמחרוזת ריקה.

clientCertIssuerDn מחרוזת אופציונלי

השדה המלא של הרשות המנפיקה מהאישור בקידוד Base64.

אם השדה client_cert_issuer_dn ארוך מ-512 בייט, המחרוזת client_cert_issuer_dn_exceeded_size_limit מתווספת ל-client_cert_error, והשדה client_cert_issuer_dn מוגדר כמחרוזת ריקה.

clientCertSubjectDn מחרוזת אופציונלי

השדה 'נושא' המלא מהאישור בקידוד Base64.

אם השדה client_cert_subject_dn ארוך מ-512 בייט, המחרוזת client_cert_subject_dn_exceeded_size_limit מתווספת ל-client_cert_error, והשדה client_cert_subject_dn מוגדר כמחרוזת ריקה.

clientCertLeaf מחרוזת אופציונלי

אישור העלה של הלקוח לחיבור mTLS שנוצר כשהאישור עבר אימות. הקידוד של האישור תואם ל-RFC 9440: אישור DER בינארי מקודד באמצעות Base64 (ללא מעברי שורה, רווחים או תווים אחרים מחוץ לאלפבית Base64) ומוגבל באמצעות נקודתיים משני הצדדים.

אם הערך של client_cert_leaf גדול מ-16 KB לא מוצפנים, המחרוזת client_cert_validated_leaf_exceeded_size_limit מתווספת ל-client_cert_error, והערך של client_cert_leaf מוגדר כמחרוזת ריקה.

clientCertChain מחרוזת אופציונלי

רשימת האישורים המופרדת בפסיקים, בסדר TLS רגיל, של שרשרת אישורי הלקוח לחיבור mTLS שנוצר, שבו אישור הלקוח עבר אימות, לא כולל אישור העלה. קידוד האישור תואם ל-RFC 9440.

אם הגודל המשולב של client_cert_leaf ושל client_cert_chain לפני קידוד Base64 חורג מ-16 KB, המחרוזת client_cert_validated_chain_exceeded_size_limit מתווספת ל-client_cert_error, והערך של client_cert_chain מוגדר כמחרוזת ריקה.

שדה השגיאה proxyStatus

השדה proxyStatus מכיל מחרוזת שמציינת למה מאזן העומסים החזיר שגיאה. יש שני חלקים בשדה proxyStatusproxyStatus error ו-proxyStatus details. בקטע הזה מתוארות המחרוזות שנתמכות בשדה proxyStatus error.

השדה proxyStatus error רלוונטי למאזני העומסים הבאים:

  • מאזן עומסים חיצוני אזורי של אפליקציות (ALB)
  • מאזן עומסים פנימי של אפליקציות (ALB) שפועל בכמה אזורים
  • מאזן עומסים פנימי אזורי של אפליקציות (ALB)
שגיאה ב-proxyStatus תיאור קודי תגובה נפוצים שמצורפים
destination_unavailable מאזן העומסים מחשיב את הקצה העורפי כלא זמין. לדוגמה, ניסיונות אחרונים לתקשר עם העורף נכשלו, או שבדיקת תקינות הסתיימה בכישלון. 500, 503
connection_timeout הניסיון של מאזן העומסים לפתוח חיבור לקצה העורפי הסתיים בטיימאאוט. 504
connection_terminated

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

הערך proxyStatus error מוחזר בכל אחד מהתרחישים הבאים:

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

0, 502, 503
connection_refused החיבור של מאזן העומסים לקצה העורפי נדחה. 502, 503
connection_limit_reached

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

הערך proxyStatus error מוחזר בכל אחד מהתרחישים הבאים:

  • אם קצה עורפי כלשהו נמצא במצב תחזוקה, אי אפשר לנתב את התנועה לקצה העורפי.
  • אם הבקשה מוגבלת מקומית.
  • ‫Envoy מטפל בתנאי שגיאה כמו חוסר זיכרון.
502, 503
destination_not_found מאזן העומסים לא יכול לקבוע את ה-backend המתאים לשימוש בבקשה הזו. לדוגמה, יכול להיות שהקצה העורפי לא מוגדר. 500, 404
dns_error מאזן העומסים נתקל בשגיאת DNS כשניסה למצוא כתובת IP עבור שם המארח של ה-Backend. 502, 503
proxy_configuration_error מאזן העומסים נתקל בשגיאת הגדרה פנימית. 500
proxy_internal_error מאזן העומסים נתקל בשגיאה פנימית. השגיאה יכולה לקרות בגלל הפעלה מחדש מתוזמנת של ה-proxy שמנהל את החיבורים. 0, 500, 502
proxy_internal_response מאזן העומסים יצר את התגובה בלי לנסות להתחבר לקצה העורפי. כל קוד סטטוס בהתאם לסוג הבעיה. לדוגמה, קוד הסטטוס 410 מציין שהקצה העורפי לא זמין בגלל איחור בתשלום.
http_response_timeout מאזן העומסים הגיע למגבלת הזמן הקצוב לתפוגה של שירות קצה עורפי שהוגדרה, בזמן ההמתנה לתגובה המלאה מהקצה העורפי. 504, 408
http_request_error מאזן העומסים נתקל בשגיאת HTTP מסוג ‎4xx, שמצביעה על בעיות בבקשת הלקוח. 400, 403, 405, 406, 408, 411, 413, 414, 415, 416, 417 או 429
http_protocol_error מאזן העומסים נתקל בשגיאת פרוטוקול HTTP במהלך התקשורת עם הקצה העורפי. 502
tls_protocol_error מאזן העומסים נתקל בשגיאת TLS במהלך לחיצת היד של TLS. 0
tls_certificate_error מאזן העומסים נתקל בשגיאה בזמן האימות של האישור שהוצג על ידי השרת או על ידי הלקוח כשה-mTLS מופעל. 0
tls_alert_received מאזן העומסים נתקל בהתראה קריטית של TLS במהלך לחיצת היד בפרוטוקול TLS. 0

שדה הפרטים של proxyStatus

השדה proxyStatus מכיל מחרוזת שמציינת למה מאזן העומסים החזיר שגיאה. יש שני חלקים בשדה proxyStatusproxyStatus error ו-proxyStatus details. השדה proxyStatus details הוא אופציונלי ומוצג רק אם יש מידע נוסף. בקטע הזה מתוארות המחרוזות שנתמכות בשדה proxyStatus details.

השדה proxyStatus details רלוונטי למאזני העומסים הבאים:

  • מאזן עומסים חיצוני אזורי של אפליקציות (ALB)
  • מאזן עומסים פנימי אזורי של אפליקציות (ALB)
  • מאזן עומסים פנימי של אפליקציות (ALB) שפועל בכמה אזורים
פרטים על proxyStatus תיאור קודי סטטוס נפוצים של תגובות
client_disconnected_before_any_response החיבור ללקוח נותק לפני שמאזן העומסים שלח תגובה כלשהי. 0
backend_connection_closed הקצה העורפי סגר באופן לא צפוי את החיבור שלו למאזן העומסים. זה יכול לקרות אם מאזן העומסים שולח תנועה לישות אחרת, כמו אפליקציית צד שלישי עם זמן קצוב לתפוגה של TCP קצר יותר מ-10 דקות (600 שניות) של מאזן העומסים. 502
failed_to_connect_to_backend מאזן העומסים לא הצליח להתחבר לקצה העורפי. הכשל הזה כולל פסק זמן במהלך שלב החיבור. 503
failed_to_pick_backend מאזן העומסים לא הצליח לבחור קצה עורפי תקין לטיפול בבקשה. 502
response_sent_by_backend בקשת ה-HTTP הועברה בהצלחה לשרת העורפי, והתגובה הוחזרה מהשרת העורפי. קוד סטטוס של HTTP מוגדר על ידי התוכנה שפועלת בבק-אנד.
client_timed_out

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

מידע נוסף על מאזן עומסים חיצוני אזורי של אפליקציות זמין במאמר בנושא זמן קצוב לתפוגה של הודעת keep-alive ב-HTTP של הלקוח. מידע נוסף על מאזן עומסים של אפליקציות (ALB) פנימי זמין במאמר בנושא זמן קצוב לתפוגה של חיבור HTTP פעיל של לקוח.
0, 408
backend_timeout

הזמן הקצוב לתשובה הסתיים בשרת העורפי.

502
http_protocol_error_from_backend_response התשובה של ה-backend מכילה שגיאה בפרוטוקול HTTP. 501, 502
http_protocol_error_from_request הבקשה של הלקוח מכילה שגיאה בפרוטוקול HTTP. 400, 503
http_version_not_supported אין תמיכה בגרסת פרוטוקול ה-HTTP. נתמכות רק גרסאות HTTP 1.1 ו-2.0. 400
handled_by_identity_aware_proxy התשובה הזו נוצרה על ידי שרת proxy לאימות זהויות (IAP) במהלך אימות הזהות של הלקוח לפני מתן גישה. 200, 302, 400, 401, 403, 500, 502
invalid_request_headers

הכותרות של בקשת ה-HTTP שהתקבלו מלקוח מכילות לפחות תו אחד שלא מותר לפי מפרט HTTP רלוונטי.

לדוגמה, שמות של שדות בכותרת שכוללים מרכאות כפולות (") או תווים מחוץ לטווח ASCII הרגיל (כלומר, כל בייט >= 0x80) הם לא תקינים.

למידע נוסף:

400, 404
ip_detection_failed לא הצלחנו לזהות את כתובת ה-IP המקורית. כל קוד סטטוס אפשרי, בהתאם לאופי הכשל. הערך צריך להיות בין 400 ל-599.
request_body_too_large גוף בקשת ה-HTTP חרג מהאורך המקסימלי שנתמך על ידי מאזן העומסים. 413, 507
request_header_timeout הבקשה נכשלה כי חלף הזמן הקצוב לתפוגה של כותרת הבקשה, כי מאזן העומסים לא קיבל את הבקשה המלאה תוך 5 שניות. 408, 504
denied_by_security_policy מאזן העומסים דחה את הבקשה הזו בגלל מדיניות האבטחה של Google Cloud Armor. 403
throttled_by_security_policy הבקשה נחסמה על ידי כלל הגבלת קצב העברת הנתונים של Cloud Armor. 429
client_cert_chain_invalid_eku לאישור הלקוח או למוסד המנפיק אין שימוש מורחב במפתח שכולל clientAuth. מידע נוסף זמין במאמר שגיאות שנרשמו ביומן לגבי חיבורים סגורים. 0
client_cert_chain_max_name_constraints_exceeded באישור ביניים שסופק לצורך אימות היו יותר מ-10 מגבלות שם. מידע נוסף זמין במאמר שגיאות שנרשמו ביומן עבור חיבורים סגורים. 0
client_cert_invalid_rsa_key_size גודל מפתח ה-RSA של אישור עלים או אישור ביניים של לקוח לא היה תקין. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_not_provided הלקוח לא סיפק את האישור המבוקש במהלך הלחיצת יד. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_pki_too_large ב-PKI שבו משתמשים לאימות יש יותר משלושה אישורים ביניים עם אותו Subject ו-Subject Public Key Info. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_unsupported_elliptic_curve_key אישור לקוח או אישור ביניים משתמשים בעקומה אליפטית שלא נתמכת. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_unsupported_key_algorithm אישור לקוח או אישור ביניים משתמש באלגוריתם שאינו RSA או ECDSA. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_validation_failed אימות אישור הלקוח נכשל ב-TrustConfig. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_validation_not_performed הגדרתם TLS הדדי בלי להגדיר TrustConfig. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_validation_search_limit_exceeded הגעתם למגבלת העומק או האיטרציה במהלך הניסיון לאמת את שרשרת האישורים. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
client_cert_validation_timed_out פג הזמן הקצוב (200 אלפיות השנייה) במהלך אימות שרשרת האישורים. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 0
tls_version_not_supported גרסת פרוטוקול TLS מזוהה אבל לא נתמכת. השגיאה גורמת לסגירת חיבור ה-TLS. 0
unknown_psk_identity השרתים שולחים את השגיאה הזו כשנדרש אימות מפתח PSK, אבל הלקוח לא מספק זהות PSK מקובלת. השגיאה גורמת לסגירת חיבור ה-TLS. 0
no_application_protocol נשלח על ידי שרתים כאשר תוסף 'application_layer_protocol_negotiation' של לקוח מפרסם רק פרוטוקולים שהשרת לא תומך בהם. TLS application-layer protocol negotiation extension השגיאה גורמת לסגירת חיבור ה-TLS. 0
no_certificate לא נמצא אישור. השגיאה גורמת לסגירת חיבור ה-TLS. 0
bad_certificate האישור לא תקף או שהוא מכיל חתימות שלא ניתן לאמת. השגיאה גורמת לסגירת חיבור ה-TLS. 0
unsupported_certificate האישור הוא מסוג לא נתמך. השגיאה גורמת לסגירה של חיבור TLS. 0
certificate_revoked האישור בוטל על ידי מי שחתם עליו. השגיאה גורמת לסגירה של חיבור TLS. 0
certificate_expired התוקף של האישור פג או שהוא לא תקף. השגיאה גורמת לסגירה של חיבור TLS. 0
certificate_unknown אירעו כמה בעיות לא מוגדרות במהלך העיבוד של האישור, ולכן הוא לא קביל. השגיאה גורמת לסגירת חיבור ה-TLS. 0
unknown_ca התקבלה שרשרת אישורים חוקית או שרשרת חלקית, אבל אי אפשר לקבל את האישור כי לא ניתן לאתר את אישור ה-CA או להתאים אותו לעוגן מהימן ידוע. השגיאה גורמת לסגירת חיבור TLS. 0
unexpected_message הודעה לא הולמת, כמו הודעת לחיצת יד שגויה או נתונים של אפליקציה שהתקבלו לפני הזמן. השגיאה גורמת לסגירת חיבור ה-TLS. 0
bad_record_mac מתקבל רשומה שלא ניתן לבטל את ההגנה שלה. השגיאה גורמת לסגירה של חיבור TLS. 0
record_overflow התקבלה רשומת TLSCiphertext שאורכה גדול מ-214+256 בייטים, או שרשומה פוענחה לרשומת TLSPlaintext שאורכה גדול מ-214 בייטים (או ממגבלה אחרת שנקבעה). השגיאה גורמת לסגירת חיבור TLS. 0
handshake_failure לא ניתן לנהל משא ומתן על קבוצה מקובלת של פרמטרים לאבטחה בהתחשב באפשרויות הזמינות. השגיאה גורמת לסגירת חיבור ה-TLS. 0
illegal_parameter שדה בהעברת הנתונים היה שגוי או לא עקבי עם שדות אחרים. השגיאה גורמת לסגירת חיבור ה-TLS. 0
access_denied התקבל אישור או PSK תקינים, אבל כשבקרת הגישה הופעלה, הלקוח לא המשיך במשא ומתן. השגיאה גורמת לסגירת חיבור ה-TLS. 0
decode_error לא ניתן לפענח הודעה כי חלק מהשדות נמצאים מחוץ לטווח שצוין, או שאורך ההודעה שגוי. השגיאה גורמת לסגירת חיבור ה-TLS. 0
decrypt_error פעולה קריפטוגרפית של לחיצת יד (לא של שכבת הרשומה) נכשלה, כולל אימות חתימה או אימות של הודעה שהסתיימה או של PSK binder. השגיאה גורמת לסגירת חיבור ה-TLS. 0
insufficient_security המשא ומתן נכשל ספציפית כי השרת דורש פרמטרים מאובטחים יותר מאלה שהלקוח תומך בהם. השגיאה גורמת לסגירת חיבור ה-TLS. 0
inappropriate_fallback התגובה נשלחת על ידי השרת בתגובה לניסיון חוזר לא חוקי של חיבור מלקוח. השגיאה גורמת לסגירת חיבור ה-TLS. 0
user_cancelled המשתמש ביטל את הלחיצת יד מסיבה כלשהי שלא קשורה לכשל בפרוטוקול. השגיאה גורמת לסגירת חיבור ה-TLS. 0
missing_extension השגיאה נשלחת על ידי נקודות קצה שמקבלות הודעת לחיצת יד שלא מכילה תוסף שחובה לשלוח עבור גרסת ה-TLS המוצעת או פרמטרים אחרים שנקבעו. השגיאה גורמת לסגירת חיבור ה-TLS. 0
unsupported_extension נשלח מנקודות קצה שמקבלות הודעת לחיצת יד שמכילה תוסף שאסור לכלול בהודעת לחיצת היד הנתונה, או כוללת תוספים ב-ServerHello או ב-Certificate שלא הוצעו קודם ב-ClientHello או ב-CertificateRequest המתאימים. השגיאה גורמת לסגירת חיבור ה-TLS. 0
unrecognized_name נשלח על ידי שרתים כשלא קיים שרת שאפשר לזהות לפי השם שסופק על ידי הלקוח באמצעות התוסף server_name. הגדרות של תוספי TLS 0
bad_certificate_status_response ההודעה נשלחת על ידי לקוחות כשהשרת מספק תגובת OCSP לא תקפה או לא מקובלת באמצעות התוסף status_request. הגדרות של תוספי TLS השגיאה גורמת לסגירת חיבור ה-TLS. 0
load_balancer_configured_resource_limits_reached מאזן העומסים הגיע למגבלות המשאבים שהוגדרו, כמו המספר המקסימלי של חיבורים. 0

רשומות ביומן של חיבור TLS שנכשל

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

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

  • הסוג של proxyStatus error הוא tls_alert_received,‏ tls_certificate_error,‏ tls_protocol_error או connection_terminated.
  • אין מידע על הקצה העורפי.

בדוגמה הבאה מוצגת רשומה ביומן של TLS שנכשלה עם השדה proxyStatus error:

   json_payload:    {
   @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
   proxyStatus: "error="tls_alert_received"; details="server_to_client: handshake_failure""
   log_name: "projects/529254013417/logs/mockservice.googleapis.com%20name"
   }
   http_request {
    latency {
      nanos: 12412000
    }
    protocol: "HTTP/1.0"
    remote_ip: "127.0.0.2"
   }
  resource {
    type: "mock_internal_http_lb_rule"
    labels {
      backend_name: ""
      backend_scope: ""
      backend_scope_type: "UNKNOWN"
      backend_target_name: ""
      backend_target_type: "UNKNOWN"
      backend_type: "UNKNOWN"
      forwarding_rule_name: "l7-ilb-https-forwarding-rule-dev"
      matched_url_path_rule: "UNKNOWN"
      network_name: "lb-network"
      region: "REGION"
      target_proxy_name: "l7-ilb-https-proxy-dev"
      url_map_name: ""
    }
  }
  timestamp: "2023-08-15T16:49:30.850785Z"
  

תוויות משאבים

בטבלה הבאה מפורטות תוויות המשאבים של resource.type="internal_http_lb_rule".

שדה סוג תיאור
network_name מחרוזת השם של רשת ה-VPC של מאזן העומסים.
project_id מחרוזת המזהה של פרויקט Google Cloud שמשויך למשאב הזה.
region מחרוזת האזור שבו מוגדר מאזן העומסים.
url_map_name מחרוזת השם של אובייקט מיפוי כתובות ה-URL שהוגדר לבחירת שירות קצה עורפי.
forwarding_rule_name מחרוזת השם של אובייקט כלל ההעברה.
target_proxy_name מחרוזת השם של אובייקט ה-proxy של היעד שאליו מתייחס כלל ההעברה.
matched_url_path_rule מחרוזת כלל הנתיב או כלל המסלול של מפת URL שהוגדרו כחלק ממפתח מפת URL. אפשר להשתמש בערכים UNMATCHED או UNKNOWN כערכי ברירת מחדל.
  • UNMATCHED מתייחס לבקשה שלא תואמת לאף כלל של נתיב כתובת ה-URL, ולכן היא משתמשת בכלל הנתיב שמוגדר כברירת מחדל.
  • UNKNOWN מציין שגיאה פנימית.
backend_target_name מחרוזת השם של ה-Backend שנבחר לטפל בבקשה, על סמך כלל הנתיב של מיפוי כתובת ה-URL או כלל המסלול שתואם לבקשה.
backend_target_type מחרוזת סוג יעד ה-Backend ‏ (BACKEND_SERVICE / UNKNOWN).
backend_name מחרוזת השם של קבוצת המופעים או של ה-NEG של ה-Backend.
backend_type מחרוזת

סוג הבק-אנד, קבוצת מכונות או NEG, או לא ידוע.

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

backend_scope מחרוזת ההיקף של ה-backend, שם אזור או שם אזור משנה. יכול להיות UNKNOWN בכל מקרה שבו backend_name לא ידוע.
backend_scope_type מחרוזת ההיקף של הקצה העורפי (REGION/ZONE). יכול להיות UNKNOWN אם backend_name לא ידוע.
backend_target_cross_project_id String מזהה הפרויקט של שירות היעד או של קטגוריית ה-backend. השדה הזה זמין רק אם משאב היעד של ה-Backend נוצר בפרויקט ששונה מהפרויקט שבו נוצר משאב url_map.

יומני בקשות של מדיניות הרשאות

אובייקט authz_info במטען הייעודי (payload) של JSON של רשומת יומן של איזון עומסים מכיל מידע על מדיניות הרשאות. אתם יכולים להגדיר מדדים מבוססי-יומן עבור תנועת גולשים שמותרת או נדחית על ידי כללי המדיניות האלה. פרטים נוספים על יומן הרישום של מדיניות ההרשאות

שדה סוג תיאור
authz_info.policies[] אובייקט רשימת כללי המדיניות שתואמים לבקשה.
authz_info.policies[].name מחרוזת השם של מדיניות ההרשאות שתואמת לבקשה.

השם ריק מהסיבות הבאות:

  • אף מדיניות ALLOW לא תואמת לבקשה, והבקשה נדחית.
  • אף מדיניות DENY לא תואמת לבקשה, והבקשה מותרת.
authz_info.policies[].result enum התוצאה יכולה להיות ALLOWED או DENIED.
authz_info.policies[].details מחרוזת הפרטים כוללים את המידע הבא:
  • allowed_as_no_deny_policies_matched_request
  • denied_as_no_allow_policies_matched_request
  • denied_by_authz_extension
  • denied_by_cloud_iap
authz_info.overall_result enum התוצאה יכולה להיות ALLOWED או DENIED.

צפייה ביומנים של אימות אישורי לקוח ל-mTLS

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

המסוף

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

    כניסה לדף Logs Explorer

  2. לוחצים על המתג הצגת השאילתה כדי להפעיל את עורך השאילתות.

  3. מדביקים את הטקסט הבא בשדה Query. מחליפים את FORWARDING_RULE_NAME בשם של כלל ההעברה.

    jsonPayload.statusDetails=~"client_cert"
    jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
    resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
    
  4. לוחצים על Run query.

מעקב

מאזני עומסים פנימיים של אפליקציות מייצאים נתוני מעקב ל-Monitoring.

אפשר להשתמש במדדי מעקב למטרות הבאות:

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

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

הצגת מדדים של Cloud Monitoring

המסוף

כדי לראות את המדדים של משאבים שבמעקב באמצעות Metrics Explorer:

  1. במסוף Google Cloud , עוברים לדף  Metrics explorer:

    כניסה אל Metrics Explorer

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.

  2. בסרגל הכלים של מסוף Google Cloud , בוחרים את Google Cloud הפרויקט. בהגדרות של App Hub, בוחרים את פרויקט המארח של App Hub או את פרויקט הניהול של התיקייה לניהול אפליקציות.
  3. ברכיב Metric, מרחיבים את התפריט Select a metric, כותבים Internal Application Load Balancer Rule בשורת הסינון ומשתמשים בתפריטי המשנה כדי לבחור סוג ספציפי של משאב ומדד:
    1. בתפריט Active resources בוחרים באפשרות Internal Application Load Balancer Rule.
    2. כדי לבחור מדד, משתמשים בתפריטים Active metric categories ו-Active metrics.
    3. לוחצים על אישור.
  4. כדי להוסיף מסננים שמסירים סדרות זמן מתוצאות השאילתה, משתמשים ברכיב Filter.

  5. כדי לשלב סדרות עיתיות, משתמשים בתפריטים ברכיב הצבירה. לדוגמה, כדי להציג את ניצול המעבד של המכונות הווירטואליות לפי האזור שלהן, מגדירים את התפריט הראשון ל-Mean ואת התפריט השני ל-zone.

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

  6. כדי לראות מכסות ומדדים אחרים שמדווחים על דגימה אחת ליום:
    1. בחלונית Display, מגדירים את Widget type לאפשרות תרשים עמודות אופקי מוערם.
    2. מגדירים את התקופה לשבוע אחד לפחות.

הגדרת כללי מדיניות התראות

המסוף

אתם יכולים ליצור מדיניות התראות כדי לעקוב אחרי ערכי המדדים ולקבל התראה כשהמדדים האלה לא עומדים בתנאי מסוים.

  1. נכנסים לדף  Alerting במסוף Google Cloud :

    עוברים אל התראות

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.

  2. אם עדיין לא יצרתם ערוצי התראות ואתם רוצים לקבל התראות, לוחצים על Edit Notification Channels ומוסיפים את ערוצי ההתראות. אחרי שמוסיפים את הערוצים, חוזרים לדף התראות.
  3. בדף Alerting, לוחצים על Create policy.
  4. כדי לבחור את המדד, מרחיבים את התפריט Select a metric ומבצעים את הפעולות הבאות:
    1. כדי להגביל את התפריט לרשומות רלוונטיות, מזינים Internal Application Load Balancer Rule בסרגל הסינון. אם לא מוצגות תוצאות אחרי סינון התפריט, משביתים את המתג Show only active resources & metrics.
    2. בשדה Resource type, בוחרים באפשרות Internal Application Load Balancer Rule.
    3. בוחרים קטגוריית מדד ומדד, ואז לוחצים על החלה.
  5. לוחצים על הבא.
  6. ההגדרות בדף Configure alert trigger קובעות מתי ההתראה תופעל. בוחרים סוג תנאי, ואם צריך, מציינים סף. מידע נוסף זמין במאמר יצירת כללי מדיניות להתראות על סמך סף מדד.
  7. לוחצים על הבא.
  8. אופציונלי: כדי להוסיף התראות למדיניות ההתראות, לוחצים על ערוצי התראות. בתיבת הדו-שיח, בוחרים ערוץ התראות אחד או יותר מהתפריט ולוחצים על אישור.
  9. אופציונלי: מעדכנים את משך הזמן עד לסגירה אוטומטית של אירוע. השדה הזה קובע מתי מערכת Monitoring סוגרת אירועים בהיעדר נתונים של מדדים.
  10. אופציונלי: לוחצים על תיעוד, ואז מוסיפים את המידע שרוצים לכלול בהודעת ההתראה.
  11. לוחצים על שם ההתראה ומזינים שם למדיניות ההתראה.
  12. לוחצים על יצירת מדיניות.
מידע נוסף מופיע במאמר סקירה כללית על התראות.

הגדרת לוחות בקרה מותאמים אישית של Monitoring

המסוף

אפשר ליצור לוחות בקרה מותאמים אישית ב-Monitoring על סמך מדדים של מאזן עומסים פנימיים של אפליקציות:

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

    כניסה ל-Monitoring

  2. לוחצים על מרכזי בקרה > יצירת מרכז בקרה.

  3. לוחצים על הוספת תרשים.

  4. נותנים שם לתרשים.

  5. בוחרים מדדים ומסננים. לגבי מדדים, סוג המשאב הוא Internal HTTP/S Load Balancer.

  6. לוחצים על Save.

תדירות הדיווח על מדדים ושמירת הנתונים

המדדים של מאזני העומסים נאספים בקבוצות ומיוצאים ל-Monitoring כל דקה. נתוני המעקב נשמרים למשך שישה שבועות.

כברירת מחדל, לוח הבקרה מספק ניתוח נתונים לשעה האחרונה (1h). אפשר לבקש ניתוח של פרק זמן אחר על ידי בחירה באחד מפרקי הזמן שהוגדרו מראש בתפריט או על ידי הזנה ידנית של פרק הזמן הרצוי. לדוגמה: ‫3h (ל-3 שעות) או 4d (ל-4 ימים) או 6w (ל-6 שבועות).

מדדי מעקב

המדדים הבאים של מאזני עומסים פנימיים של אפליקציות מדווחים ל-Monitoring.

מדד FQDN תיאור
קצב נתונים שהוגדר בקצה העורפי (תצוגה מקדימה) network.googleapis.com/loadbalancer/backend/configured_rate הקצב המקסימלי בבקשות לשנייה שמוגדר לכל קבוצת backend. התוצאה הזו מתקבלת מהכפלת קיבולת היעד במקדם קנה המידה של הקיבולת, אם הוא צוין.
ניצול הקיבולת שהוגדרה בשרת העורפי (תצוגה מקדימה) network.googleapis.com/loadbalancer/backend/configured_utilization קיבולת הניצול המקסימלית של ה-CPU כשבר, שמוגדרת לכל קבוצת שרתים עורפיים. התוצאה הזו מתקבלת מהכפלת קיבולת היעד במקדם קנה המידה של הקיבולת, אם הוא צוין.
שיעור השגיאות בקצה העורפי (תצוגה מקדימה) network.googleapis.com/loadbalancer/backend/error_rate השגיאות שמוצגות על ידי כל קבוצת קצה עורפי לשנייה.
עומס בקצה העורפי (תצוגה מקדימה) network.googleapis.com/loadbalancer/backend/fullness מידת העומס הנוכחית בכל קבוצת קצה עורפי באחוזים, על סמך מצב האיזון של מאזן העומסים.
זמני אחזור בקצה העורפי loadbalancing.googleapis.com/https/internal/backend_latencies

התפלגות של זמן האחזור של הקצה העורפי. זמן האחזור של הקצה העורפי הוא הזמן (באלפיות שנייה) שעובר בין הבייט האחרון של הבקשה שנשלחה לקצה העורפי לבין הבייט האחרון של התגובה שהתקבלה ב-proxy. הוא כולל את הזמן שלוקח לשרת העורפי לעבד את הבקשה ואת הזמן שלוקח לשלוח את התגובה בחזרה לשרת ה-proxy.

מדדים מותאמים אישית לאיזון עומסים בקצה העורפי (גרסת Preview) network.googleapis.com/loadbalancer/backend/lb_custom_metric השימוש הנוכחי בכל קבוצת קצה עורפי, על סמך המדדים המותאמים אישית שהגדרתם.
שיעור הצלחה (תצוגה מקדימה) network.googleapis.com/loadbalancer/backend/rate הבקשות שמתקבלות בכל קבוצת שרתים עורפיים לשנייה.
ניצול הקצה העורפי (גרסת טרום-השקה) network.googleapis.com/loadbalancer/backend/utilization השימוש המצטבר במעבד של המכונות הווירטואליות בקבוצה, כערך חלקי.
זמני אחזור בקצה העורפי loadbalancing.googleapis.com/https/internal/backend_latencies

התפלגות של זמן האחזור של הקצה העורפי. זמן האחזור של הקצה העורפי הוא הזמן (באלפיות שנייה) שעובר בין הבייט האחרון של הבקשה שנשלחה לקצה העורפי לבין הבייט האחרון של התגובה שהתקבלה ב-proxy. הוא כולל את הזמן שלוקח לשרת העורפי לעבד את הבקשה ואת הזמן שלוקח לשלוח את התגובה בחזרה לשרת ה-proxy.

בקשה מוגדרת בזמן ההעברה (תצוגה מקדימה) network.googleapis.com/loadbalancer/backend/configured_in_flight_requests מספר הבקשות המקסימלי שמתבצעות בכל קבוצת שרתים לעורף. בקשות בתהליך קובעות איך העומס מתחלק בין בקשות שפועלות במשך כמה שניות.
בקשה בתהליך (תצוגה מקדימה) network.googleapis.com/loadbalancer/backend/in_flight_requests מספר השאילתות שמתבצעות בכל קבוצת שרתים.
מספר הבקשות loadbalancing.googleapis.com/https/internal/request_count מספר הבקשות שמוגשות על ידי מאזן העומסים הפנימי של האפליקציות (ALB).
מספר הבייטים בבקשה loadbalancing.googleapis.com/https/internal/request_bytes מספר הבייטים שנשלחו כבקשות מלקוחות אל מאזן העומסים הפנימי של האפליקציות.
מספר הבייטים בתשובות loadbalancing.googleapis.com/https/internal/response_bytes מספר הבייטים שנשלחו כתשובות ממאזן העומסים הפנימי מסוג HTTP(S) ללקוח.
זמני האחזור הכוללים loadbalancing.googleapis.com/https/internal/total_latencies

התפלגות של זמן האחזור הכולל. הזמן הכולל לתגובה הוא הזמן במילישניות שחלף בין הבייט הראשון של הבקשה שהתקבל על ידי ה-proxy לבין הבייט האחרון של התגובה שנשלחה על ידי ה-proxy. הוא כולל: הזמן שנדרש ל-Proxy לעבד את הבקשה, הזמן שנדרש לשליחת הבקשה מה-Proxy אל ה-Backend, הזמן שנדרש ל-Backend לעבד את הבקשה, הזמן שנדרש לשליחת התגובה בחזרה אל ה-Proxy והזמן שנדרש ל-Proxy לעבד את התגובה ולשלוח אותה אל הלקוח.

הנתון הזה לא כולל את זמן ה-RTT בין הלקוח לבין השרת הפרוקסי. בנוסף, הפסקות בין בקשות באותו חיבור שמשתמשות ב-Connection: keep-alive לא משפיעות על המדידה. בדרך כלל, המדידה הזו מצטמצמת לאחוזון ה-95 בתצוגות של Cloud Monitoring.

סינון מאפיינים לפי מדדים

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

מאפיין (property) תיאור
BACKEND_SCOPE Google Cloud האזור או האזור של קבוצת השרתים העורפיים שטיפלה בבקשת הלקוח, או מחרוזת מיוחדת למקרים שבהם לא הוקצתה קבוצת שרתים עורפיים. דוגמאות: us-central1-a, europe-west1-b, asia-east1, UNKNOWN.
PROXY_REGION האזור של מאזן העומסים הפנימי של אפליקציות (ALB), הלקוח והבק-אנד. דוגמאות: us-central1, ‏ europe-west1 או asia-east1.
קצה עורפי השם של קבוצת המופעים או של ה-NEG בעורף השרת שטיפלו בבקשת הלקוח.
BACKEND_TARGET שם השירות לקצה העורפי שהגיש את הבקשה של הלקוח.
MATCHED_URL_RULE כלל הנתיב או כלל הניתוב במפת URL שתאם לקידומת של בקשת הלקוח ב-HTTP(S) (עד 50 תווים).

המדד Response code class fraction נתמך עבור מאזן העומסים כולו. אין תמיכה ברמת פירוט גבוהה יותר.

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