בדף הזה מוסבר איך להגדיר את 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.
כדי לראות את כל היומנים, מבצעים את השלבים הבאים.
המסוף
נכנסים לדף Logs Explorer במסוף Cloud de Confiance .
בוחרים את סוג המשאב כלל של מאזן עומסי רשת Proxy.
בוחרים את שם היומן loadbalancing.googleapis.com/connections.
שאילתה במסוף
נכנסים לדף Logs Explorer במסוף Cloud de Confiance .
לוחצים על המתג Show query.
מדביקים את הטקסט הבא בשדה השאילתה.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
לוחצים על Run query.
מחליפים את מה שכתוב בשדות הבאים:
-
LOG_RESOURCE_TYPE: סוג המשאב המפוקח של הרישום ביומן, שהוגדר כ-l4_proxy_ruleאו כ-tcp_ssl_proxy_rule. -
PROJECT_ID: שם הפרויקט.
צפייה ביומנים של שירות לקצה העורפי ספציפי
כדי לראות את היומנים של שירות לקצה העורפי ספציפי, פועלים לפי השלבים הבאים.
שאילתה במסוף
נכנסים לדף Logs Explorer במסוף Cloud de Confiance .
לוחצים על המתג Show query.
מדביקים את הטקסט הבא בשדה השאילתה.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections" resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
לוחצים על Run query.
מחליפים את מה שכתוב בשדות הבאים:
-
LOG_RESOURCE_TYPE: סוג המשאב המפוקח של הרישום ביומן, שהוגדר כ-l4_proxy_ruleאו כ-tcp_ssl_proxy_rule. -
PROJECT_ID: שם הפרויקט. -
BACKEND_SERVICE_NAME: השם של שירות ה-Backend.
צפייה ביומנים של קבוצת שרתים עורפיים
כדי לראות את היומנים של קבוצת מופעים ספציפית של שרת עורפי (backend instance), פועלים לפי השלבים הבאים.
שאילתה במסוף
נכנסים לדף Logs Explorer במסוף Cloud de Confiance .
לוחצים על המתג Show query.
מדביקים את הטקסט הבא בשדה השאילתה.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections" resource.labels.backend_group_name="BACKEND_GROUP_NAME"
לוחצים על 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
מתאר את הסכימה של אובייקט |
| jsonPayload | אובייקט | חובה | המטען הייעודי של רשומה ביומן, שמוצג כאובייקט JSON. אובייקט ה-JSON
כולל את השדות הבאים:
|
| מחרוזת | חובה | השדה השדה לא מתועד אם הערך הוא מחרוזת ריקה. זה יכול לקרות אם ה-proxy מחזיר קוד שגיאה שאינו השדה
|
|
| מחרוזת | חובה | בשדה 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 מכיל מחרוזת שמציינת למה מאזן העומסים החזיר שגיאה או יומן מידע. יש שני חלקים בשדה proxyStatus
– proxyStatus status ו-proxyStatus details.
בקטע הזה מתוארות המחרוזות שנתמכות בשדה proxyStatus status.
שדה proxyStatus רלוונטי למאזני העומסים הבאים:
- מאזן עומסי רשת גלובלי חיצוני בשרת proxy
- מאזן עומסי רשת אזורי חיצוני בשרת proxy
- מאזן עומסי רשת פנימי בשרת proxy שפועל בכמה אזורים
- מאזן עומסי רשת אזורי פנימי בשרת proxy
| הסטטוס של proxyStatus | תיאור | קודי תגובה נפוצים שמופיעים יחד |
|---|---|---|
destination_unavailable |
מאזן העומסים מחשיב את הקצה העורפי כלא זמין. לדוגמה, ניסיונות אחרונים לתקשר עם ה-backend נכשלו, או שבדיקת תקינות הסתיימה בכישלון. | 500, 503 |
connection_timeout |
הניסיון של מאזן העומסים לפתוח חיבור לקצה העורפי הסתיים בטיימאאוט. | 504 |
connection_terminated |
החיבור של מאזן העומסים לשרת העורפי הסתיים לפני שמתקבלת תגובה מלאה. הערך
|
0, 502, 503 |
connection_refused |
החיבור של מאזן העומסים לקצה העורפי נדחה. | 502, 503 |
connection_limit_reached |
מאזן העומסים מוגדר להגבלת מספר החיבורים לקצה העורפי, והמגבלה הזו נחצתה. הערך
|
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 מכיל מחרוזת שמציינת למה מאזן העומסים החזיר שגיאה או יומן מידע. יש שני חלקים בשדה proxyStatus
– proxyStatus 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 הוא |
| 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. |
| מדינת הלקוח | שם המדינה של המשתמש. |
המאמרים הבאים
- מידע נוסף על אופן הפעולה של מדיניות SSL אפשר לקרוא בסקירה הכללית של מדיניות SSL.
- מידע נוסף על מאזני עומסי רשת חיצוניים לשרת proxy זמין במאמר סקירה כללית על מאזן עומסי רשת חיצוני לשרת proxy.
- כדי להבין איך פועלים מאזני עומסי רשת פנימיים לשרת proxy, אפשר לעיין בסקירה הכללית על מאזן עומסי רשת פנימי לשרת proxy.