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

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

רישום ביומן

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

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

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

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

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

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

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

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

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

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

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

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

המסוף

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

    כניסה לדף Load balancing

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

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

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

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

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

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

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

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

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

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

gcloud

כדי לעדכן את שירות ה-Backend ולהפעיל רישום ביומן, משתמשים בפקודה 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. לדוגמה, orcaLoadReport.cpu_utilization,orcaLoadReport.mem_utilization.

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

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף איזון עומסים.

    כניסה לדף Load balancing

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

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

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

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

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

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

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

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

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

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

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. לדוגמה, orcaLoadReport.cpu_utilization,orcaLoadReport.mem_utilization.

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

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

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף איזון עומסים.

    כניסה לדף Load balancing

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

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

  4. לוחצים על Backend Configuration.

  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. לדוגמה, orcaLoadReport.cpu_utilization,orcaLoadReport.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 מציין שהשירות לקצה העורפי הוא אזורי. השדה הזה משמש לשירותים לקצה העורפי שמשתמשים בהם עם מאזני עומסים פנימיים אזוריים של אפליקציות (ALB).
  • ‫--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. לדוגמה, orcaLoadReport.cpu_utilization,orcaLoadReport.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 במסוף Cloud de Confiance .

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

  • כדי לראות את היומנים של כל מאזני העומסים הפנימיים של האפליקציות, בתפריט הנפתח הראשון בוחרים באפשרות 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"). המדדים שנוצרים מבוססים על המשאב "כלל של מאזן עומסים פנימי של אפליקציות (ALB)", שזמין במרכזי הבקרה של Cloud Monitoring:

כניסה ל-Monitoring

מה נרשם ביומן

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

  • מידע כללי שמופיע ברוב היומנים של Cloud de Confiance , כמו חומרת האירוע, מזהה הפרויקט, מספר הפרויקט וחותמת הזמן, כפי שמתואר ב-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 באמצעות שם סוג וקבוצה של תוויות.

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

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

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

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

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

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

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

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

  • tls.protocol
  • tls.cipher

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

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

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

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

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

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

פורמט השדה TlsInfo

שדה פורמט השדה סוג השדה: חובה או אופציונלי תיאור
protocol מחרוזת אופציונלי פרוטוקול TLS שהלקוחות משתמשים בו כדי ליצור חיבור למאזן העומסים. הערכים האפשריים הם TLS 1.0, 1.1, 1.2, 1.3 או QUIC. הערך הזה מוגדר כ-NULL אם הלקוח לא משתמש בהצפנת TLS/SSL.
צופן מחרוזת אופציונלי הצפנת 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 ארוך מ-2048 בייט, המחרוזת client_cert_spiffe_id_exceeded_size_limit מתווספת ל- client_cert_error.

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

רשימה מופרדת בפסיקים של תוספי SAN מסוג URI בקידוד Base64. תוספי ה-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 חורג מ-16KB, המחרוזת client_cert_validated_chain_exceeded_size_limit מתווספת ל-client_cert_error, ו-client_cert_chain מוגדר כמחרוזת ריקה.

שדה הסטטוס proxyStatus

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

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

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

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

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

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

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

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

הערך proxyStatus status מוחזר באחד מהמקרים הבאים:

  • אם אחד מהקצוות העורפיים נמצא במצב תחזוקה, אי אפשר לנתב את התנועה לקצה העורפי.
  • אם קצב הבקשות מוגבל באופן מקומי.
  • ‫Envoy מטפל במצבי שגיאה כמו מחסור בזיכרון.
502, 503
destination_not_found מאזן העומסים לא יכול לקבוע מהו ה-backend המתאים לבקשה הזו. לדוגמה, יכול להיות שהקצה העורפי לא מוגדר. 500, 404
dns_error מאזן העומסים נתקל בשגיאת DNS כשניסה למצוא כתובת IP עבור שם המארח של ה-Backend. 502, 503
proxy_configuration_error אירעה שגיאת הגדרה פנימית במאזן העומסים. 500
proxy_internal_error אירעה שגיאה פנימית במאזן העומסים. 0, 500, 502
proxy_restart הפרוקסי שמנהל את החיבור עובר הפעלה מחדש מתוזמנת. זהו יומן מידע. 0
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 במהלך התקשורת עם ה-backend. 502
tls_protocol_error מנגנון איזון העומסים נתקל בשגיאת TLS במהלך לחיצת היד בפרוטוקול TLS. 0
tls_certificate_error מאזן העומסים נתקל בשגיאה בזמן האימות של האישור שהוצג על ידי השרת או על ידי הלקוח כשה-mTLS מופעל. 0
tls_alert_received מאזן העומסים נתקל בהתראה חמורה של TLS במהלך לחיצת היד בפרוטוקול TLS. 0
no_sni

הלקוח לא כלל SNI בהודעת ה-ClientHello שלו.

0
client_hello_not_detected

הלקוח לא משתמש בפרוטוקול TLS.

0
invalid_sni_rfc_6066

שם המארח של ה-SNI שצוין הוא לא שם מארח של DNS שמוגדר במלואו.

0
client_hello_too_large

ההודעה ClientHello שקיבלת חורגת מהגודל המקסימלי המותר (16 KB).

0

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

השדה proxyStatus מכיל מחרוזת שמציינת למה מאזן העומסים החזיר שגיאה או יומן מידע. השדה proxyStatus מורכב משני חלקים: proxyStatus status ו-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 הועברה בהצלחה ל-backend באמצעות שרת proxy, והתגובה הוחזרה על ידי ה-backend. קוד הסטטוס של HTTP מוגדר על ידי התוכנה שפועלת בקצה העורפי.
client_timed_out

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

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

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

502
http_protocol_error_from_backend_response התגובה של הקצה העורפי מכילה שגיאת פרוטוקול HTTP. 501, 502
http_protocol_error_from_request הבקשה של הלקוח מכילה שגיאה בפרוטוקול HTTP. 400, 503
http_version_not_supported אין תמיכה בגרסה של פרוטוקול ה-HTTP. יש תמיכה רק ב-HTTP 1.1 וב-HTTP 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_authz_policy מאזן העומסים דחה את הבקשה הזו בגלל מדיניות הרשאות. 403
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 ms) הסתיים במהלך אימות שרשרת האישורים. מידע נוסף זמין במאמר שגיאות שנרשמו ביומן לגבי חיבורים סגורים. 0
tls_version_not_supported גרסת פרוטוקול ה-TLS מזוהה אבל לא נתמכת. השגיאה גורמת לסגירת חיבור ה-TLS. 0
unknown_psk_identity השרתים שולחים את השגיאה הזו כשנדרש אימות של מפתח PSK, אבל הלקוח לא מספק זהות PSK קבילה. השגיאה גורמת לסגירת חיבור TLS. 0
no_application_protocol נשלחת על ידי שרתים כשתוסף application_layer_protocol_negotiation של לקוח מפרסם רק פרוטוקולים שהשרת לא תומך בהם. תוסף למשא ומתן בפרוטוקול שכבת האפליקציה של TLS השגיאה גורמת לסגירת חיבור ה-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 התקבלה שרשרת אישורים תקינה או שרשרת חלקית, אבל אי אפשר לקבל את האישור כי לא ניתן לאתר את אישור הרשות המאשרת או להתאים אותו לעוגן מהימן מוכר. השגיאה גורמת לסגירת חיבור ה-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. השגיאה גורמת לסגירת חיבור ה-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 הוא 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 מחרוזת המזהה של הפרויקט ב- Cloud de Confiance שמשויך למשאב הזה.
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 מחרוזת שם הקצה העורפי שנבחר לטיפול בבקשה, על סמך כלל הנתיב של מפת כתובות ה-URL או כלל המסלול שתואם לבקשה.
backend_target_type מחרוזת סוג יעד ה-Backend ‏ (BACKEND_SERVICE / UNKNOWN).
backend_name מחרוזת השם של קבוצת השרתים העורפיים או ה-NEG.
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. השדה הזה זמין רק אם משאב היעד בעורף נוצר בפרויקט ששונה מהפרויקט שבו נוצר משאב 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.

פורמט השדה RateLimitPolicyInfo

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

שדה פורמט השדה סוג השדה: חובה או אופציונלי תיאור
RateLimitPolicyInfo.policies[] מערך אופציונלי רשימה של כללי מדיניות לגבי מגבלת קצב הבקשות שתואמים לבקשה.
RateLimitPolicyInfo.policies[].name מחרוזת אופציונלי שם המשאב של מדיניות הגבלת הקצב של יצירת בקשות.
RateLimitPolicyInfo.policies[].buckets[] מערך אופציונלי מידע על קבוצת המגבלות על קצב הבקשות.
RateLimitPolicyInfo.policies[].buckets[].bucket מחרוזת אופציונלי שם הקטגוריה שהוחלה.
RateLimitPolicyInfo.policies[].buckets[].key מחרוזת אופציונלי המפתח שמשמש להגבלת הקצב.
RateLimitPolicyInfo.policies[].buckets[].result טיפוסים בני מנייה (enum) אופציונלי תוצאת הגבלת הקצב של הקטגוריה. הערכים האפשריים הם: RESULT_UNSPECIFIED,‏ SUCCESS או THROTTLED.
RateLimitPolicyInfo.policies[].result טיפוסים בני מנייה (enum) אופציונלי תוצאת הגבלת הקצב של המדיניות. הערכים האפשריים הם: RESULT_UNSPECIFIED, SUCCESS או THROTTLED.
RateLimitPolicyInfo.policies[].details מחרוזת אופציונלי פרטים נוספים על המדיניות בנושא הגבלת קצב של יצירת בקשות.
RateLimitPolicyInfo.overall_result טיפוסים בני מנייה (enum) אופציונלי התוצאה הכוללת של הגבלת הקצב של יצירת הבקשות. הערכים האפשריים הם: RESULT_UNSPECIFIED,‏ SUCCESS או THROTTLED.

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

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

המסוף

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

    כניסה לדף Logs Explorer

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

  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.

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

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

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

המסוף

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

  1. במסוף Cloud de Confiance , נכנסים לדף  Metrics explorer:

    כניסה לדף Metrics Explorer

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

  2. בסרגל הכלים של מסוף Cloud de Confiance , בוחרים את Cloud de Confiance הפרויקט. בהגדרות של 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. כדי לשלב סדרות זמנים, משתמשים בתפריטים ברכיב Aggregation. לדוגמה, כדי להציג את ניצול המעבד (CPU) של המכונות הווירטואליות לפי האזור שלהן, מגדירים את התפריט הראשון ל-Mean ואת התפריט השני ל-zone.

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

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

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

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

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

מדדי מעקב

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

מדד FQDN תיאור
הקצב שהוגדר בקצה העורפי network.googleapis.com/loadbalancer/backend/configured_rate הקצב המקסימלי של בקשות לשנייה שמוגדר לכל קבוצת בקאנד. זו התוצאה של שינוי קנה המידה של קיבולת היעד באמצעות מגדיל הקיבולת, אם צוין.
ניצול משאבים שהוגדר בקצה העורפי 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. הוא כולל את הזמן שלוקח לשרת העורפי לעבד את הבקשה ואת הזמן שלוקח לשלוח את התגובה בחזרה לשרת הפרוקסי.

מדדים מותאמים אישית של איזון עומסים בקצה העורפי network.googleapis.com/loadbalancer/backend/lb_custom_metric השימוש הנוכחי בכל קבוצת קצה עורפי, על סמך המדדים המותאמים אישית שהגדרתם.
שיעור בקצה העורפי network.googleapis.com/loadbalancer/backend/rate הבקשות שמתקבלות בכל קבוצת שרתים עורפיים לשנייה.
ניצול משאבים בקצה העורפי network.googleapis.com/loadbalancer/backend/utilization שיעור ניצול המעבד המצטבר של המכונות הווירטואליות בקבוצה, כמספר בין 0 ל-1.
מספר הבקשות loadbalancing.googleapis.com/https/internal/request_count מספר הבקשות שטופלו על ידי מאזן העומסים הפנימי של האפליקציות.
מספר הבייטים בבקשה 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 לקצה העורפי, הזמן שלוקח לקצה העורפי לעבד את הבקשה, הזמן שלוקח לשלוח את התגובה בחזרה לשרת ה-Proxy והזמן שלוקח לשרת ה-Proxy לעבד את התגובה ולשלוח אותה ללקוח.

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

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

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

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

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

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