רישום ביומן ומעקב במאזן עומסי רשת בשרת proxy

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

מעקב אחרי משאבים

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

רישום ביומן למאזני עומסים של רשת בשרת proxy

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

אין חיובים נוספים על שימוש ביומנים. עם זאת, בהתאם לאופן הייבוא של היומנים, יחול התמחור הסטנדרטי של Cloud Logging,‏ BigQuery או Pub/Sub. בנוסף, הפעלת היומנים לא משפיעה על הביצועים של מאזן העומסים.

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

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

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

gcloud

משתמשים בפקודה gcloud compute backend-services create.

למאזני עומסים אזוריים חיצוניים של רשתות בשרת proxy ולמאזני עומסים אזוריים פנימיים של רשתות בשרת proxy:

    gcloud compute backend-services create BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

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

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

מחליפים את מה שכתוב בשדות הבאים:

  • BACKEND_SERVICE: השם של שירות ה-Backend.
  • REGION: האזור של שירות לקצה העורפי שרוצים ליצור.
  • SAMPLE_RATE: אפשר לציין את השדה הזה רק אם רישום ביומן מופעל בשירות לקצה העורפי הזה.

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

API

שולחים בקשת POST ל-method‏ regionBackendServices.insert:

למאזני עומסי רשת פנימיים אזוריים לשרת proxy:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזנים אזוריים חיצוניים של עומסי רשת בשרת proxy:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזני עומסי רשת גלובליים חיצוניים בשרת proxy:

שולחים בקשת POST ל-method‏ backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזני עומסי רשת קלאסיים בשרת proxy:

שולחים בקשת POST ל-method‏ backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזני עומסי רשת פנימיים לשרת proxy שפועלים בכמה אזורים:

שולחים בקשת POST ל-method‏ backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

מחליפים את מה שכתוב בשדות הבאים:

  • BACKEND_SERVICE: השם של שירות ה-Backend.
  • SAMPLE_RATE: אפשר לציין את השדה הזה רק אם רישום ביומן מופעל בשירות לקצה העורפי הזה.

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

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

gcloud

משתמשים בפקודה gcloud compute backend-services update.

למאזני עומסים אזוריים חיצוניים של רשתות בשרת proxy ולמאזני עומסים אזוריים פנימיים של רשתות בשרת proxy:

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

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

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

מחליפים את מה שכתוב בשדות הבאים:

  • BACKEND_SERVICE: השם של שירות ה-Backend.
  • REGION: האזור של שירות לקצה העורפי שרוצים ליצור.
  • SAMPLE_RATE: אפשר לציין את השדה הזה רק אם רישום ביומן מופעל בשירות לקצה העורפי הזה.

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

API

שולחים בקשת PATCH אל ה-method‏ regionBackendServices/patch:

      PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
     

למאזני עומסי רשת פנימיים אזוריים לשרת proxy:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזנים אזוריים חיצוניים של עומסי רשת בשרת proxy:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזני עומסי רשת גלובליים חיצוניים בשרת proxy:

שולחים בקשת PATCH אל ה-method‏ backendServices/patch:

      PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזני עומסי רשת קלאסיים בשרת proxy:

שולחים בקשת PATCH אל ה-method‏ backendServices/patch:

      PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

למאזני עומסי רשת פנימיים לשרת proxy שפועלים בכמה אזורים:

שולחים בקשת PATCH אל ה-method‏ backendServices/patch:

      PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: שם הפרויקט.
  • BACKEND_SERVICE: השם של שירות ה-Backend.
  • SAMPLE_RATE: אפשר לציין את השדה הזה רק אם היומן מופעל בשירות הקצה העורפי הזה.

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

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

gcloud

משתמשים בפקודה gcloud compute backend-services update.

למאזני עומסים אזוריים חיצוניים של רשתות בשרת proxy ולמאזני עומסים אזוריים פנימיים של רשתות בשרת proxy:

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

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

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

מחליפים את מה שכתוב בשדות הבאים:

  • BACKEND_SERVICE: השם של השירות לקצה העורפי.
  • REGION: האזור של שירות הקצה העורפי.

API

למאזני עומסים אזוריים חיצוניים של רשתות בשרת proxy ולמאזני עומסים אזוריים פנימיים של רשתות בשרת proxy:

שולחים בקשת PATCH אל ה-method‏ regionBackendServices/patch:

 PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

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

שולחים בקשת PATCH אל ה-method‏ backendServices/patch:

 PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: שם הפרויקט.
  • REGION: האזור של שירות הקצה העורפי.
  • BACKEND_SERVICE: השם של השירות לקצה העורפי.

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

כשיומנים מוזנים ל-Cloud Logging ולא נכללים בהחרגה דרך יעד של Log Router, אפשר לקרוא את היומנים באמצעות Cloud Logging API ו-Google Cloud CLI.

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

המסוף

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

    כניסה לדף Logs Explorer

  2. בוחרים את סוג המשאב כלל של מאזן עומסי רשת Proxy.

  3. בוחרים את שם היומן loadbalancing.googleapis.com/connections.

שאילתה במסוף

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

    כניסה לדף Logs Explorer

  2. לוחצים על המתג Show query.

  3. מדביקים את הטקסט הבא בשדה השאילתה.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    
  4. לוחצים על Run query.

מחליפים את מה שכתוב בשדות הבאים:

  • LOG_RESOURCE_TYPE: סוג המשאב המפוקח של הרישום ביומן, שהוגדר כ-l4_proxy_rule או כ-tcp_ssl_proxy_rule.
  • PROJECT_ID: שם הפרויקט.

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

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

שאילתה במסוף

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

    כניסה לדף Logs Explorer

  2. לוחצים על המתג Show query.

  3. מדביקים את הטקסט הבא בשדה השאילתה.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. לוחצים על Run query.

מחליפים את מה שכתוב בשדות הבאים:

  • LOG_RESOURCE_TYPE: סוג המשאב המפוקח של הרישום ביומן, שהוגדר כ-l4_proxy_rule או כ-tcp_ssl_proxy_rule.
  • PROJECT_ID: שם הפרויקט.
  • BACKEND_SERVICE_NAME: השם של שירות ה-Backend.

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

כדי לראות את היומנים של קבוצת מופעים ספציפית של שרת עורפי (backend instance), פועלים לפי השלבים הבאים.

שאילתה במסוף

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

    כניסה לדף Logs Explorer

  2. לוחצים על המתג Show query.

  3. מדביקים את הטקסט הבא בשדה השאילתה.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. לוחצים על Run query.

מחליפים את מה שכתוב בשדות הבאים:

  • LOG_RESOURCE_TYPE: סוג המשאב המפוקח של הרישום ביומן, שהוגדר כ-l4_proxy_rule או כ-tcp_ssl_proxy_rule.
  • PROJECT_ID: שם הפרויקט.
  • BACKEND_GROUP_NAME: השם של קבוצת המופעים.

מה נרשם ביומן

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

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

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

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

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

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

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

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

מחרוזת חובה בשדה backendNetworkName מציינים את רשת ה-VPC של ה-Backend.
מחרוזת חובה בשדה routeName מצוין השם של נתיב ה-TLS ששימש לניתוב התנועה.
מחרוזת אופציונלי בשדה tlsSniHostname מצוין שם השרת שהלקוח סיפק בהודעה ClientHello. (תצוגה מקדימה)

שדות ביומן

רשומות ביומן מכילות שדות חובה, שהם שדות ברירת המחדל של כל רשומה ביומן.

חלק משדות היומן מכילים יותר מפריט נתונים אחד בשדה נתון – שדות היומן האלה הם בפורמט רב-שדות. לדוגמה, השדה connection הוא בפורמט IpConnection, שמכיל את כתובת ה-IP והיציאה של המקור והיעד, וגם את הפרוטוקול, בשדה אחד. השדות האלה ביומן, שמכילים כמה שדות, מתוארים בטבלה הבאה של פורמט הרשומה.

בטבלה הבאה מפורטים כל שדות היומן הנדרשים למשאב l4_proxy_rule.

שדה פורמט השדה תיאור
חיבור IpConnection ‫5-Tuple שמתאר את החיבור הזה.
startTime מחרוזת חותמת זמן (פורמט מחרוזת תאריך RFC 3339) שבה מאזן העומסים קיבל את החיבור מהלקוח.
endTime מחרוזת חותמת זמן (פורמט מחרוזת תאריך RFC 3339) שבה הלקוח או ה-backend סיימו את החיבור.
bytesSent int64 מספר הבייטים שנשלחו מהשרת ללקוח.
bytesReceived int64 מספר הבייטים שהתקבלו בשרת מהלקוח.

פורמט השדה IpConnection

שדה סוג תיאור
clientIp מחרוזת כתובת ה-IP של הלקוח
clientPort int32 יציאת לקוח. ההגדרה רלוונטית רק לחיבורי TCP ו-UDP.
serverIp מחרוזת כתובת ה-IP של השרת (כתובת ה-IP של כלל ההעברה)
serverPort int32 יציאה בשרת. ההגדרה רלוונטית רק לחיבורי TCP ו-UDP.
protocol int32 מספר הפרוטוקול של IANA

שדה הסטטוס proxyStatus

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

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

  • מאזן עומסי רשת גלובלי חיצוני בשרת proxy
  • מאזן עומסי רשת אזורי חיצוני בשרת proxy
  • מאזן עומסי רשת פנימי בשרת proxy שפועל בכמה אזורים
  • מאזן עומסי רשת אזורי פנימי בשרת proxy
הסטטוס של 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 מטפל בתנאי שגיאה כמו אין זיכרון פנוי (OOM).
502, 503
destination_not_found מאזן העומסים לא יכול לקבוע את השרת העורפי המתאים לשימוש בבקשה הזו. לדוגמה, יכול להיות שהקצה העורפי לא מוגדר. 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 מציין שהקצה העורפי לא זמין בגלל איחור בתשלום.
tls_protocol_error מאזן העומסים נתקל בשגיאת TLS במהלך לחיצת היד של TLS. 0
tls_certificate_error מאזן העומסים נתקל בשגיאה בזמן האימות של האישור שהוצג על ידי השרת. 0
tls_alert_received מאזן העומסים נתקל בהתראה קריטית של TLS במהלך לחיצת היד של TLS. 0

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

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

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

  • מאזן עומסי רשת גלובלי חיצוני בשרת proxy
  • מאזן עומסי רשת אזורי חיצוני בשרת proxy
  • מאזן עומסי רשת אזורי פנימי בשרת proxy
  • מאזן עומסי רשת פנימי בשרת proxy שפועל בכמה אזורים
פרטים על proxyStatus תיאור קודי סטטוס נפוצים של תגובות
client_disconnected_before_any_response החיבור ללקוח נותק לפני שמאזן העומסים שלח תגובה כלשהי. 0
client_hello_too_large ההודעה ClientHello שהתקבלה גדולה באופן לא סביר. השגיאה גורמת לסגירת חיבור TLS (תצוגה מקדימה). 0
destination_not_found מאזן העומסים לא יכול לקבוע את הקצה העורפי המתאים. לדוגמה, שם המארח של ה-SNI שצוין לא תאם (אפשר לראות את ה-SNI שצוין ב-jsonPayload.tls.sni). השגיאה גורמת לסגירת חיבור ה-TLS. (תצוגה מקדימה) 0
invalid_sni_rfc_6066 שם המארח של SNI שצוין לא תקין. ה-SNI צריך להיות שם המארח ב-DNS שמוגדר במלואו. השגיאה גורמת לסגירת החיבור. תצוגה מקדימה) 0
client_hello_not_detected לא נמצא TLS בחיבור. השגיאה גורמת לסגירת החיבור. (תצוגה מקדימה) 0
backend_connection_closed הקצה העורפי סגר באופן לא צפוי את החיבור שלו למאזן העומסים. זה יכול לקרות אם מאזן העומסים שולח תעבורת נתונים לישות אחרת, כמו אפליקציית צד שלישי עם זמן קצוב לתפוגה של TCP קצר יותר מ-10 דקות (600 שניות) של מאזן העומסים. 502
failed_to_connect_to_backend מאזן העומסים לא הצליח להתחבר לקצה העורפי. הכשל הזה כולל פסק זמן במהלך שלב החיבור. 503
failed_to_pick_backend מאזן העומסים לא הצליח לבחור קצה עורפי תקין לטיפול בבקשה. 502
handled_by_identity_aware_proxy התשובה הזו נוצרה על ידי שרת proxy לאימות זהויות (IAP) במהלך אימות הזהות של הלקוח לפני מתן גישה. 200, 302, 400, 401, 403, 500, 502
request_overall_timeout הזמן הכולל שהוקצב לבקשה חלף. מידע נוסף זמין במאמר שגיאות שמתועדות ביומן עבור חיבורים סגורים. 408, 503, 504
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.
  • אין מידע על ה-Backend.

בדוגמה הבאה מוצגת רשומה ביומן של 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"
  

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

בטבלה הבאה מפורטות תוויות המשאבים לסוג המשאב l4_proxy_rule.

שדה סוג תיאור
network_name מחרוזת השם של רשת ה-VPC של מאזן העומסים.
project_id מחרוזת המזהה של Cloud de Confiance הפרויקט שמשויך למשאב הזה.
region מחרוזת האזור שבו מוגדר מאזן העומסים.
target_proxy_name מחרוזת השם של אובייקט שרת proxy לחלוקת העומס שאליו מתייחס כלל ההעברה.
forwarding_rule_name מחרוזת השם של אובייקט כלל ההעברה.
loadbalancing_scheme_name מחרוזת מאפיין בכלל ההעברה ובשירות הקצה העורפי של מאזן עומסים שמציין אם אפשר להשתמש במאזן העומסים לתנועה פנימית או חיצונית.
backend_target_name מחרוזת השם של השרת העורפי שנבחר לטפל בבקשה.
backend_target_type מחרוזת סוג יעד ה-Backend‏ (BACKEND_SERVICE / UNKNOWN).
backend_name מחרוזת השם של קבוצת המופעים של השרת העורפי (backend instance) או של קבוצת נקודות הקצה ברשת (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 לא ידוע.

מעקב

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

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

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

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

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

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

מדדים של מאזני עומסי רשת קלאסיים בשרת proxy

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

מדד שם תיאור
תנועה נכנסת tcp_ssl_proxy/ingress_bytes_count מספר הבייטים שנשלחו מנקודות קצה חיצוניות אל שרתי קצה עורפיים שהוגדרו דרך ממשק הקצה של Google‏ (GFE) – בבייטים לשנייה.
תנועה יוצאת tcp_ssl_proxy/egress_bytes_count מספר הבייטים שנשלחו מהעורפים שהוגדרו לנקודות קצה חיצוניות דרך GFE – בבייטים לשנייה.
פתיחת חיבורים tcp_ssl_proxy/open_connections מספר החיבורים הפתוחים ברגע הדגימה הנתון. הדגימות נלקחות בהפרש של דקה אחת.
חיבורים חדשים לשנייה tcp_ssl_proxy/new_connections מספר החיבורים שנוצרו (הלקוח התחבר בהצלחה לשרת העורפי). הגרנולריות של הספירה היא דקה, אבל התרשימים מותאמים כדי להציג ערכים של שניות. מידע נוסף מופיע במאמרי העזרה בנושא Monitoring.
חיבורים סגורים לשנייה tcp_ssl_proxy/closed_connections מספר החיבורים שנסגרו. הגרנולריות של הספירה היא לפי דקה, אבל התרשימים מותאמים להצגת ערכים לפי שנייה. מידע נוסף מופיע במאמרי העזרה בנושא Monitoring.
זמן הלוך ושוב (RTT) של הקצה הקדמי tcp_ssl_proxy/frontend_tcp_rtt התפלגות של זמן הלוך ושוב (RTT) מוחלק שנמדד עבור כל חיבור בין הלקוח ל-GFE (נמדד על ידי מחסנית ה-TCP של GFE, בכל פעם שבתים של שכבת האפליקציה עוברים מ-GFE ללקוח). ה-RTT המוחלק הוא אלגוריתם שמטפל בשינויים ובאנומליות שיכולים להתרחש במדידות של ה-RTT.

מדדים למאזני עומסים אחרים

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

מדד שם תיאור
תנועה נכנסת l4_proxy/ingress_bytes_count מספר הבייטים שנשלחו מהלקוח למכונה הווירטואלית של ה-Backend באמצעות ה-Proxy. נדגמים כל 60 שניות. אחרי הדגימה, הנתונים לא מוצגים למשך עד 210 שניות.
תנועה יוצאת l4_proxy/egress_bytes_count מספר הבייטים שנשלחו מהמכונה הווירטואלית של ה-backend ללקוח באמצעות ה-proxy. נדגמים כל 60 שניות. אחרי הדגימה, הנתונים לא מוצגים למשך עד 210 שניות.
חיבורים סגורים לשנייה l4_proxy/tcp/closed_connections_count מספר החיבורים שהופסקו באמצעות הודעת TCP RST או TCP FIN. נדגמים כל 60 שניות. אחרי הדגימה, הנתונים לא מוצגים למשך עד 210 שניות.

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

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

מאפיין (property) תיאור
היקף הגישה של ה-Backend ההיקף (אזור או תחום) של קבוצת המכונות שסיפקה את החיבור.
אזור קצה עורפי אם קבוצת המופעים הייתה קבוצת מופעים אזורית, האזור של קבוצת המופעים ששירתה את החיבור.
אזור ה-Backend אם קבוצת המופעים הייתה קבוצת מופעים אזורית, האזור של קבוצת המופעים ששירתה את החיבור.
PROXY CONTINENT היבשת שבה נמצא שרת ה-GFE שניתק את חיבור ה-TCP/SSL של המשתמש – לדוגמה, America,‏ Europe, ‏ Asia.
קבוצת מופעים השם של קבוצת המופעים שקיבלה את חיבור המשתמש.
כלל העברה השם של כלל ההעברה שמשמש לחיבור ל-GFE.
מדינת הלקוח שם המדינה של המשתמש.

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