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

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

רישום ביומן

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

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

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

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

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

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

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

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

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

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

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

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

המסוף

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

    כניסה לדף Load balancing

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

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

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

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

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

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

המסוף

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

    כניסה לדף Load balancing

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

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

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

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

  6. בקטע רישום ביומן, מסמנים את התיבה הפעלת רישום ביומן.

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

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

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

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

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

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

המסוף

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

    כניסה לדף Load balancing

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

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

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

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

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

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

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

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

‫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

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

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

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

כניסה לדף Logs Explorer

  • כדי לראות את כל היומנים, בתפריט הסינון Resource בוחרים באפשרות Regional External Application Load Balancer Rule > All network_name > All region.
  • כדי להציג יומנים של כלל העברה אחד, בוחרים שם של כלל העברה אחד.

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

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

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

מה מתועד ביומן

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

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

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

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

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

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

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

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

השדה לא נרשם ביומן אם הערך הוא מחרוזת ריקה. זה יכול לקרות אם שרת ה-proxy או הקצה העורפי לא מחזירים קוד סטטוס, או אם קוד הסטטוס שמוחזר הוא לא 0,‏ 4xx או 5xx.

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

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

השדה orcaLoadReport מכיל חלק מהרכיבים או את כל הרכיבים של דוח העומס של ORCA שהוחזר על ידי ה-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

שדה פורמט השדה סוג השדה: חובה או אופציונלי תיאור
פרוטוקול מחרוזת אופציונלי פרוטוקול TLS שבו הלקוחות משתמשים כדי ליצור חיבור עם מאזן העומסים. הערכים האפשריים הם TLSv1,‏ TLSv1.1,‏ TLSv1.2,‏ TLSv1.3 או QUIC. הערך הזה מוגדר כ-NULL אם הלקוח לא משתמש בהצפנת TLS/SSL.
צופן מחרוזת אופציונלי הצפנת TLS שבה הלקוחות משתמשים כדי ליצור חיבור עם מאזן העומסים. הערך הזה מוגדר כ-NULL אם הלקוח לא משתמש ב-HTTP(S) או בהצפנת TLS/SSL.

פורמט השדה MtlsInfo

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

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

clientCertChainVerified בוליאני אופציונלי

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 חורג מ-16KB ללא קידוד, המחרוזת 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 מוגדר כמחרוזת ריקה.

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

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

שדה סוג תיאור
backend_name מחרוזת השם של קבוצת השרתים העורפיים או של ה-NEG. עם זאת, התווית ריקה בחיבור TLS שנכשל.
backend_scope מחרוזת היקף הקצה העורפי (שם של אזור או של תחום). יכול להיות שיופיע הערך UNKNOWN אם הערך של backend_name לא ידוע.
backend_scope_type מחרוזת ההיקף של הקצה העורפי (REGION/ZONE). יכול להיות UNKNOWN אם backend_name לא ידוע.
backend_target_name מחרוזת שם הקצה העורפי שנבחר לטיפול בבקשה, על סמך כלל הנתיב של מפת כתובות ה-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 מכיל מחרוזת שמציינת למה מאזן העומסים החזיר שגיאה או יומן מידע. השדה proxyStatus מורכב משני חלקים: proxyStatus status ו-proxyStatus details. בקטע הזה מתוארות המחרוזות שנתמכות בשדה proxyStatus status.

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

  • מאזן עומסים חיצוני אזורי של אפליקציות (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 המתאים לבקשה הזו. לדוגמה, יכול להיות שה-backend לא מוגדר. 500, 404
dns_error מאזן העומסים נתקל בשגיאת DNS כשניסה למצוא כתובת IP לשם המארח של הקצה העורפי. 502, 503
proxy_configuration_error אירעה שגיאה פנימית בהגדרות של מאזן העומסים. 500
proxy_internal_error אירעה שגיאה פנימית במאזן העומסים. 0, 500, 502
proxy_restart הפרוקסי שמנהל את החיבור עובר הפעלה מחדש מתוזמנת. זהו יומן מידע. 0
proxy_internal_response מאזן העומסים יצר את התגובה בלי לנסות להתחבר לקצה העורפי. כל קוד סטטוס, בהתאם לסוג הבעיה. לדוגמה, קוד הסטטוס 410 מציין שה-backend לא זמין בגלל פיגור בתשלום.
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
no_sni

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

0
client_hello_not_detected

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

0
invalid_sni_rfc_6066

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

0
client_hello_too_large

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

0

שדה הפרטים proxyStatus details

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

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

מידע נוסף על מאזן עומסים חיצוני אזורי של אפליקציות זמין במאמר זמן קצוב לתפוגה של HTTP keepalive של לקוח. מידע נוסף על מאזן עומסים פנימי של אפליקציות זמין במאמר זמן קצוב לתפוגה של 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 ו-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 הזמן הקצוב לתפוגה של request header חלף כי מאזן העומסים לא קיבל את הבקשה המלאה תוך 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 הדדי (mTLS) בלי להגדיר 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 השגיאה גורמת לסגירת חיבור ה-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 בין הלקוח למאזן העומסים נכשל לפני שנבחר קצה עורפי, רשומות היומן מתעדות את השגיאות. אפשר להגדיר את שירותי הקצה העורפי עם תדירויות דגימה שונות של יומנים. אם חיבור 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"
  

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

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

רישום ביומן של שער Google Tag למפרסמים

אם אתם משתמשים בשער Google Tag עם מאזן עומסים חיצוני גלובלי של אפליקציות (ALB), אתם יכולים להשתמש ב-Cloud Logging וב-Cloud Monitoring כדי לאמת את ההגדרה ולאבחן בעיות. למרות שההגדרות מנוהלות באמצעות Google Ads, עיבוד הבקשות וההזרקות של Google Tag שמבוצעות על ידי השער מתועדים ברישום ביומן ובמעקב של מאזן העומסים החיצוני הגלובלי של האפליקציות. מידע נוסף זמין במאמר רישום ביומן ומעקב אחרי מאזן עומסים גלובלי חיצוני של אפליקציות (ALB).

  1. במסוף Google Cloud , בוחרים את הפרויקט באמצעות הכלי לבחירת פרויקטים.
  2. כדי לראות את היומנים, נכנסים לדף Logs Explorer:

    כניסה לדף Logs Explorer

  3. כדי לעקוב אחרי הזרקות של תגים וניתוב של נתוני מדידה, מדביקים את הטקסט הבא בשדה Query.

    • עוקבים אחרי שינויים בתוכן. כששער Google Tag מוסיף תגי Google Tag לתגובות ה-HTML של האתר, ההוספות של Google Tag מתועדות ביומנים של מאזן העומסים. כדי לוודא שההזרקות של התגים האלה הצליחו, אפשר לבדוק את המטען הייעודי (payload) של ה-JSON ביומן. בקשות שתגובות ה-HTML שלהן שונו על ידי השער מכילות אובייקט serviceExtensionInfo במטען הייעודי (payload) של ה-JSON, שבו השדות extension ו-resource מסתיימים ב--google-tag-gateway.

      jsonPayload.serviceExtensionInfo.extension=~ "google-tag-gateway$"
      
    • מעקב אחרי הניתוב של נתוני המדידה. אחרי שפורסים את Google Tag באתר, אפשר לזהות את הבקשות של נתיב המדידה ביומנים של מאזן העומסים של האפליקציות החיצוניות. כדי לעשות את זה, מסננים את הרשומות שבהן הערך של backend_service_name מתחיל ב-google-tag-gateway-.

      resource.backend_service_name=~ "^google-tag-gateway-"
      

איך פותרים בעיות בהחדרת הקוד של שער Google Tag

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

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

מעקב

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

אתם יכולים להשתמש במדדי מעקב כדי:

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

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

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

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

מדדי מעקב

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

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

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

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

  • in_flight_requests
  • configured_in_flight_requests

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

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

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

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

מדדים של אפליקציות ב-App Hub

מאזני עומסים של אפליקציות מדווחים גם על מדדים של כללי העברה ושירותים לקצה העורפי ספציפיים. המדדים האלה משתמשים בסוגי המשאבים במעקב gce_forwarding_rule ו-gce_backend_service, והם מדווחים על מאזני עומסים שמשתמשים בסכימת איזון העומסים EXTERNAL,‏ EXTERNAL_MANAGED או INTERNAL_MANAGED.

כשרושמים כלל העברה או שירות לקצה העורפי באפליקציה של App Hub, המדדים האלה כוללים תוויות ספציפיות לאפליקציה. התוויות האלה מאפשרות לכם:

  • בלוחות הבקרה של Application Monitoring אפשר לראות את האותות החשובים של מאזן העומסים, כמו תנועה, שיעור השגיאות בחיבור לשרת וזמן אחזור.
  • לסנן ולקבץ את המדדים של מאזן העומסים לפי אפליקציה, שירות או עומס עבודה ב-App Hub במרכזי בקרה בהתאמה אישית ב-Monitoring.

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

מדד שם משאב במעקב תיאור
מספר הבקשות loadbalancing.googleapis.com/application_lb/request_count gce_forwarding_rule מספר הבקשות שמטופלות על ידי מאזן העומסים.
גודל הבקשה (בייטים) loadbalancing.googleapis.com/application_lb/request_bytes_count gce_forwarding_rule מספר הבייטים שנשלחו כבקשות מלקוחות למאזן העומסים.
בייטים של תגובה loadbalancing.googleapis.com/application_lb/response_bytes_count gce_forwarding_rule מספר הבייטים שנשלחו כתגובות ממאזן העומסים ללקוחות.
זמני האחזור הכוללים loadbalancing.googleapis.com/application_lb/total_latencies gce_forwarding_rule התפלגות זמן האחזור, שמחושב מרגע שהשרת מקבל את הבקשה ועד שהוא מקבל אישור מהלקוח על בייט התגובה האחרון.
מספר הבקשות לקצה העורפי loadbalancing.googleapis.com/application_lb/backend_request_count gce_backend_service מספר הבקשות שנשלחו ממאזן העומסים לקצוות העורפיים.
בייטים של בקשות בקצה העורפי loadbalancing.googleapis.com/application_lb/backend_request_bytes_count gce_backend_service מספר הבייטים שנשלחו כבקשות ממאזן העומסים לקצוות העורפיים.
בייטים של תגובות מה-backend loadbalancing.googleapis.com/application_lb/backend_response_bytes_count gce_backend_service מספר הבייטים שנשלחו כתגובות משרתי ה-backend למאזן העומסים.
זמני האחזור של הקצה העורפי loadbalancing.googleapis.com/application_lb/backend_latencies gce_backend_service התפלגות זמן האחזור, שמחושב מהרגע שבו שרת ה-proxy שולח את הבקשה לקצה העורפי ועד שהשרת מקבל את הבייט האחרון של התגובה מהקצה העורפי.

אפשר לסנן ולקבץ את המדדים האלה לפי תוויות המדדים הבאות: protocol, response_code, response_code_class, cache_result, matcher_type, matcher_name, matched_path, load_balancing_scheme, client_country ו-proxy_continent. לתיאורי התוויות, עיינו ברשומות של המדדים האלה ברשימת המדדים שלGoogle Cloud .

במאמר משאבי תשתית נתמכים מוסבר אילו משאבים של מאזני עומסים משולבים ב-App Hub.

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

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

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

מאפיין (property) תיאור
backend_name השם של קבוצת השרתים העורפיים או של ה-NEG.
backend_scope היקף הקצה העורפי (שם של אזור או של תחום). יכול להיות שיופיע הערך UNKNOWN אם הערך של backend_name לא ידוע.
backend_scope_type ההיקף של הקצה העורפי (REGION/ZONE). יכול להיות UNKNOWN אם backend_name לא ידוע.
backend_target_name שם הקצה העורפי שנבחר לטיפול בבקשה, על סמך כלל הנתיב של מפת כתובות ה-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 שמוגדר לבחירת שירות לקצה העורפי.

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