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

במאמר הזה מוסבר איך להגדיר את Cloud Logging ואת Cloud Monitoring ואיך להשתמש בהם עם מאזני עומסים חיצוניים של אפליקציות ברמה אזורית.

רישום ביומן

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

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

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

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

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

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

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

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

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

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

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

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

המסוף

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

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

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

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

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

  5. בוחרים באפשרות יצירת שירות לקצה העורפי.

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

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

  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 create.

gcloud compute backend-services create BACKEND_SERVICE \
    --region=REGION \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

איפה

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

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

המסוף

  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.

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

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

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

gcloud

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

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

איפה

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

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

המסוף

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

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

יומני HTTP(S) עוברים אינדוקס קודם על ידי כלל העברה ואז על ידי מיפוי כתובות URL.

כדי לראות את היומנים, עוברים לדף Logs Explorer:

כניסה לדף Logs Explorer

  • כדי לראות את כל היומנים, בתפריט המסננים Resource, בוחרים באפשרות Cloud HTTP Load Balancer > All forwarding rules.

  • כדי להציג יומנים של כלל העברה אחד, בוחרים שם של כלל העברה אחד.

  • כדי לראות את היומנים של מפת URL אחת, בוחרים כלל העברה ואז בוחרים מפת URL.

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

קידוד UTF-8 מוגדר כשחובה בשדות של יומן. תווים שאינם תווים בפורמט UTF-8 מוחלפים בסימני שאלה. במאזני עומסים חיצוניים אזוריים של אפליקציות, אפשר לייצא מדדים שמבוססים על יומנים באמצעות יומני משאבים (resource.type="http_external_regional_lb_rule").

מה נרשם ביומן

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

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

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

שדה פורמט השדה סוג השדה: חובה או אופציונלי תיאור
severity
insertID
timestamp
logName
LogEntry חובה השדות הכלליים כפי שמתואר ברשומה ביומן.
httpRequest HttpRequest חובה פרוטוקול נפוץ לרישום בקשות HTTP.
resource MonitoredResource חובה

MonitoredResource הוא סוג המשאב שמשויך לרשומה ביומן.

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

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

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

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

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

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 של השרת העורפי.
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 שהלקוחות משתמשים בו כדי ליצור חיבור עם מאזן העומסים. הערכים האפשריים הם TLSv1,‏ TLSv1.1,‏ TLSv1.2,‏ TLSv1.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 מוגדר כמחרוזת ריקה.

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

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

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

שדה השגיאה 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"
  

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

אובייקט 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.

אינטראקציה עם היומנים

אפשר לקיים אינטראקציה עם היומנים של מאזן העומסים החיצוני של אפליקציות באמצעות Cloud Logging API. ‫Logging API מספק דרכים לסנן באופן אינטראקטיבי יומנים שבהם מוגדרים שדות ספציפיים. הוא מייצא את היומנים התואמים ל-Cloud Logging, ל-Cloud Storage, ל-BigQuery או ל-Pub/Sub. מידע נוסף על Logging API זמין במאמר סקירה כללית על Logging API.

מעקב

מאזן העומסים מייצא נתוני מעקב אל Monitoring.

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

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

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

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

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

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

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

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

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

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

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

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

    כניסה ל-Monitoring

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

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

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

    1. בקטע Resource & Metric, לוחצים על התרשים ואז בקטע Select a metric בוחרים מבין האפשרויות הזמינות:
    2. בשביל מאזן עומסים חיצוני אזורי של אפליקציות (ALB), בוחרים את סוג המשאב Regional External Application Load Balancer Rule.
    3. לוחצים על אישור.
  5. כדי לציין מסנני מעקב, לוחצים על מסננים > הוספת מסנן.

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

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

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

לוח הבקרה מספק ניתוח נתונים במרווחי זמן שמוגדרים כברירת מחדל: שעה אחת (1H), שש שעות (6H), יום אחד (1D), שבוע אחד (1W) ושש שבועות (6W). אפשר לבקש ניתוח באופן ידני בכל מרווח זמן שבין 6 שבועות לדקה אחת.

מדדי מעקב

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

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

המדדים האלה מהטבלה מתחילים ב-network.googleapis.com/loadbalancer/backend/ (תצוגה מקדימה):

  • in_flight_requests
  • configured_in_flight_requests

מדדים אחרים מתחילים ב-loadbalancing.googleapis.com/.

מדד שם תיאור
קצב נתונים שהוגדר בקצה העורפי (תצוגה מקדימה) 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/external/regional/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 השימוש המצטבר במעבד של המכונות הווירטואליות בקבוצה, כשבר.
בקשה מוגדרת בזמן ההעברה (תצוגה מקדימה) loadbalancer/backend/configured_in_flight_requests מספר הבקשות המקסימלי שמתבצעות בכל קבוצת שרתים לעורף. בקשות פעילות קובעות איך העומס מתחלק בין בקשות שפועלות יותר משנייה.
בקשה בתהליך (תצוגה מקדימה) loadbalancer/backend/in_flight_requests מספר השאילתות שמתבצעות בכל קבוצת שרתים.
מספר הבקשות loadbalancing.googleapis.com/https/external/regional/request_count מספר הבקשות שמוגשות על ידי מאזן עומסים חיצוני אזורי של אפליקציות (ALB).
מספר הבייטים בבקשה loadbalancing.googleapis.com/https/external/regional/request_bytes מספר הבייטים שנשלחו כבקשות מלקוחות אל מאזן העומסים החיצוני האזורי של אפליקציות.
מספר הבייטים בתשובות loadbalancing.googleapis.com/https/external/regional/response_bytes מספר הבייטים שנשלחו כתשובות ממאזן העומסים החיצוני האזורי של אפליקציות ללקוח.
זמני האחזור הכוללים loadbalancing.googleapis.com/https/external/regional/total_latencies

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

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

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

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

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

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

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