בדף הזה מוסבר איך להגדיר את Cloud Logging ו-Cloud Monitoring ולהשתמש בהם עם פלאגינים של Service Extensions ל-Cloud Load Balancing ול-Cloud CDN.
רישום ביומן
בקטע הזה מוסבר על רישום ביומן של פלאגינים של מאזן עומסים של אפליקציות (ALB). אפשר לרשום ביומן גם מנקודת המבט של הפלאגין וגם מנקודת המבט של מאזן העומסים.
הודעות ביומן
תוספי השירות תומכים ביצירת הודעות ביומן במהלך הפעלת הפלאגין. האפשרות להקליט יומנים מושבתת כברירת מחדל. כדי לתעד יומנים של פלאגין, צריך להפעיל אותו כשיוצרים את הפלאגין או מעדכנים אותו.
רשומות היומן של הפלאגין כוללות את המידע הבא:
- הערות רגילות ביומן, כמו חותמת זמן ורמת היומן.
- הזהות של הפלאגין שיצר את ההודעה.
- הקריאה החוזרת (callback) של הפלאגין שבה נוצרה הודעת היומן.
- מזהה מעקב של
requestIdשעוזר לקבוע לאיזה יומן בקשות משויכת הודעת היומן.
היומנים שרלוונטיים לתוספים של שירותים נכללים באחת מהקטגוריות הבאות:
הודעות ביומן הפלאגין
נוצרת על ידי קריאה לרישום ביומן, כמו
info!(...)ב-Rust,proxywasm.LogInfo(...)ב-Go אוLOG_INFOב-C++. הודעות היומן האלה מיוצאות מתוספים לשירות ל-Cloud Logging. אפשר לתעד ביומן את כותרות הבקשות והתגובות וכל פעולה שהפלאגין ביצע.אפשר לראות את ההודעות האלה באמצעות השירות
networkservices.googleapis.com.הודעות ביומן של Cloud Load Balancing
אפשר לראות את ההודעות האלה באמצעות השירות
loadbalancing.googleapis.com.
רישום ביומן מנקודת המבט של הפלאגין
בקטע הזה מתואר רישום ביומן של תוספי שירות מנקודת המבט של הפלאגין.
הפעלת רישום ביומן של פלאגין
תוספי השירות תומכים ביצירת הודעות ביומן במהלך הפעלת הפלאגין. האפשרות להקליט יומנים מושבתת כברירת מחדל.
כדי לתעד יומנים של פלאגין, צריך להפעיל אותו כשיוצרים את הפלאגין או מעדכנים אותו.
כדי להפעיל רישום ביומן לפלאגין קיים, משתמשים בפקודה gcloud service-extensions wasm-plugins update:
gcloud service-extensions wasm-plugins update WASM_PLUGIN \
--log-config=[LOG_CONFIG,...]
מחליפים את מה שכתוב בשדות הבאים:
-
WASM_PLUGIN: המזהה או השם המלא של הפלאגין
LOG_CONFIG: אפשרויות רישום ביומן של הפלאגין. כדי להפעיל את הרישום ביומן, מגדירים את האפשרותenableלערךtrue. לאחר מכן, מציינים את הפרטים הבאים:-
sample-rate: קצב הדגימה של יומני הפעילות, כערך בין0ל-1. הערך0מציין שהודעות היומן לא נשמרות. ערך ברירת המחדל1מציין שכל הודעות היומן נשמרות. ערך נקודה צפה (floating-point) בין0.0לבין1.0מציין שאחוז מסוים מהודעות היומן נשמר. -
min-log-level: רמת החומרה המינימלית של הודעות היומן של הפלאגין שייוצאו ל-Cloud Logging. ערך ברירת המחדל הואINFO.
-
כדי לראות את היומנים, נכנסים לדף Logs Explorer במסוף Google Cloud .
הצגת הודעות ביומן של פלאגינים
כדי לראות את היומנים, אפשר ליצור שאילתות ב-Logs Explorer.
אפשר להציג את יומני הפלאגינים כיומנים נפרדים של Service Extensions. בתצוגה הזו, כל הודעת יומן של פלאגין נרשמת ברשומת יומן משלה, ולא משויכת באופן אוטומטי למידע של יומן הבקשות.
הודעות היומן האלה נמצאות ביומן networkservices.googleapis.com/wasm_plugin_activity עם סוג המשאב networkservices.googleapis.com/WasmPluginVersion.
יכול להיות שהמערכת תוסיף ליומן הזה גם הודעות יומן עם מידע.
לדוגמה, אם יש כשל בפלאגין כשההפעלה שלו חורגת ממגבלות המעבד (CPU) או הזיכרון, נרשמת הודעה ברמת החומרה ERROR. הודעות כאלה מופיעות גם בהצגה וסינון של שגיאות.
דוגמאות ליומני פלאגינים
נבחן רשומה לדוגמה ביומן של Service Extensions. הערך של message מועבר לקריאה LOG_INFO של הפלאגין. הערך של severity תלוי ברמת היומן שבה משתמשים בקריאה ליומן הפלאגין. בקטע labels, הערך של ה-API הוא HTTP_REQUEST_HEADER, מה שמציין שהפעולה שנרשמה ביומן היא הקריאה החוזרת (callback) של הפלאגין on_http_request_headers.
{
"insertId": "65224aac-0000-24bd-a0e1-582429bd544c@a1",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.networkservices.logging.v1.WasmPluginLogEntry",
"metroIataCode": "ber",
"proxyRegionCode": "DE",
"message": "[add_header_plugin.cc:26]::onRequestHeaders() AddHeaderStreamContext::onRequestHeaders called",
"requestId": "effc0311-6716-431b-9e2a-7586835fdff1"
},
"resource": {
"type": "networkservices.googleapis.com/WasmPluginVersion",
"labels": {
"plugin_version": "prod-1",
"resource_container": "projects/123456789",
"location": "global",
"plugin_name": "add-headers-plugin-prod-resource"
}
},
"timestamp": "2023-05-10T03:05:43.317015458Z",
"severity": "INFO",
"labels": {
"networkservices.googleapis.com/operation": "HTTP_REQUEST_HEADERS"
},
"logName": "projects/123456789/logs/networkservices.googleapis.com%2Fwasm_plugin_activity",
"trace": "projects/123456789/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:44.207265284Z"
}
מגבלות הרישום ביומן
הפלאגינים מוגבלים לרישום של עד 16 KiB של נתוני מטען ייעודי (payload) לכל בקשת HTTP של לקוח. הסכום הזה מחולק בין כמה קריאות לרישום ביומן שמשויכות לבקשת HTTP נתונה. המגבלה חלה רק על הטקסט של הודעת היומן, ולא על מטא-נתונים נוספים שנוספו לרשומת היומן על ידי Service Extensions.
לדוגמה, אם קריאה חוזרת (callback) של on_http_request_headers מבצעת שתי קריאות רישום ביומן עם הודעות של 4KiB כל אחת, ואז קריאה חוזרת של on_http_response_headers מנסה לבצע שלוש קריאות רישום ביומן עם הודעות של 4KiB כל אחת לאותה בקשת HTTP, הודעת הרישום החמישית ביומן תושמט. הודעת יומן נוספת כדי לתעד את מספר הודעות היומן שנוצרו על ידי הפלאגין והושמטו.
רישום ביומן מנקודת המבט של מאזן העומסים
בקטע הזה מתואר הרישום ביומן של תוספי השירות מנקודת המבט של מאזן העומסים.
הפעלת רישום ביומן בשירות לקצה העורפי
כדי להפעיל את הרישום ביומן של פלאגינים של מאזן עומסים של אפליקציות בזמן יצירת שירות, צריך להפעיל את הרישום ביומן בשירות לקצה העורפי שהוא היעד של הבקשה.
כדי להפעיל את הרישום ביומן של שירות היעד לקצה העורפי, משתמשים בפקודה gcloud compute backend-services update.
gcloud compute backend-services update BACKEND_SERVICE \
--enable-logging \
--logging-sample-rate=RATE \
--region=REGION \
--logging-optional=LOGGING_OPTIONAL_MODE \
--logging-optional-fields=OPTIONAL_FIELDS
מחליפים את מה שכתוב בשדות הבאים:
-
BACKEND_SERVICE: השם של השירות לקצה העורפי -
RATE: ערך מ-0.0עד1.0, כאשר0.0מציין שאף בקשה לא מתועדת ביומן ו-1.0מציין ש-100% מהבקשות מתועדות ביומן. ערך ברירת המחדל הוא1.0. ההגדרה הזו פועלת רק כשמשתמשים בה עם הפרמטרenable-logging. אם משמיטים אתenable-logging, הרישום ביומן מושבת. -
REGION: האזור של הקצה העורפי
LOGGING_OPTIONAL_MODE: הפעלת רישום ביומן של שדות אפשרויות באחד מהמצבים הבאים:INCLUDE_ALL_OPTIONALכולל את כל השדות האופציונליים.-
EXCLUDE_ALL_OPTIONAL(ברירת המחדל) לא כולל את כל שדות האפשרויות. -
CUSTOMכולל רשימה מותאמת אישית של שדות אופציונליים.
-
OPTIONAL_FIELDS: רשימה מופרדת בפסיקים של שדות אופציונליים כשבוחרים במצבCUSTOM
אחרי שמפעילים את הרישום ביומן בשירות לקצה העורפי, בקשות HTTP או HTTPS נרשמות ביומן באמצעות בקשות רישום ביומן של Cloud Logging.
כדי לראות את היומנים, נכנסים לדף Logs Explorer במסוף Google Cloud .
הודעות ביומן של שירות לקצה העורפי
באופן כללי, רשומות ביומן של מאזן העומסים של האפליקציות מכילות מידע שימושי למעקב אחרי תעבורת הנתונים ב-HTTP או ב-HTTPS ולניפוי באגים. הרשומות ביומן מכילות את סוגי המידע הבאים:
- מידע שמוצג ברוב היומנים של Google Cloud , כמו חומרה, מזהה הפרויקט, מספר הפרויקט וחותמת הזמן, כפי שמתואר ביומן LogEntry.
- שדות ביומן HttpRequest.
יומני הבקשות של מאזני העומסים מסוג HTTP ו-HTTPS מכילים אובייקט service_extension_info במטען הייעודי (payload) בפורמט JSON של רשומת היומן של מאזן העומסים, עם המידע הבא:
| שדה | סוג | תיאור |
|---|---|---|
backend_target_name |
מחרוזת | השם של יעד הקצה העורפי של התוסף. |
backend_target_type |
מחרוזת | סוג היעד של הקצה העורפי. |
chain |
מחרוזת | שם שרשרת התוספים בתוך משאב התוסף לשירות שתואם לבקשה. |
extension |
מחרוזת | השם של התוסף בשרשרת התוספים. |
failed_open |
בוליאני | כשההגדרה failOpen של התוסף מוגדרת לערך true, הערך true במדד הזה מציין שהעיבוד נמשך גם אחרי שהזמן הקצוב לתפוגה של התוסף חלף או שהתוסף נכשל.
רלוונטי רק למאזני עומסים חיצוניים אזוריים של אפליקציות (ALB), למאזני עומסים פנימיים אזוריים של אפליקציות (ALB) ולמאזני עומסים פנימיים חוצי-אזורים של אפליקציות (ALB). |
grpc_status |
טיפוסים בני מנייה (enum) | הסטטוס האחרון בסטרימינג של gRPC. מידע נוסף זמין במאמר קודי סטטוס של gRPC. |
per_processing_request_info |
מערך | רשימה של נתונים סטטיסטיים מסוג ProcessingRequest ל-ext_proc תוספים או נתונים סטטיסטיים מסוג CheckRequest ל-ext_authz תוספים שמתרחשים בסטרימינג של gRPC.
|
per_processing_request_info[].event_type |
טיפוסים בני מנייה (enum) | סוג האירוע של ProcessingRequest. יכול להיות אחד מהערכים הבאים: REQUEST_HEADERS, REQUEST_BODY, RESPONSE_HEADERS או RESPONSE_BODY.
|
per_processing_request_info[].latency |
משך זמן | משך הזמן מרגע שליחת הבייט הראשון של ההודעה ProcessingRequest לתוסף ועד לקבלת הבייט האחרון של ההודעה ProcessingResponse. |
per_processing_request_info[].processing_effect |
טיפוסים בני מנייה (enum) | תוצאת העיבוד של כל אירוע בבקשת עיבוד.
רלוונטי רק למאזני עומסים חיצוניים אזוריים של אפליקציות (ALB), למאזני עומסים פנימיים אזוריים של אפליקציות (ALB) ולמאזני עומסים פנימיים חוצי-אזורים של אפליקציות (ALB).
יכול להיות אחד מהערכים הבאים:
|
per_processing_request_info[].processing_effect_details |
מחרוזת | כאשר processing_effect הוא MUTATION_REJECTED, הפרטים על הסיבה לדחיית המוטציה.
רלוונטי רק למאזני עומסים חיצוניים אזוריים של אפליקציות (ALB), למאזני עומסים פנימיים אזוריים של אפליקציות ולמאזני עומסים פנימיים חוצי-אזורים של אפליקציות. |
resource |
מחרוזת | שם המשאב של התוסף |
מעקב
בקטע הזה מוסבר איך משתמשים במרכזי הבקרה של Cloud Monitoring כדי לראות את המדדים של הפלאגינים של מאזן העומסים של אפליקציות (ALB) שהוגדרו באמצעות Service Extensions. אפשר לעקוב אחרי פלאגינים מנקודת המבט של הפלאגין או מנקודת המבט של מאזן העומסים.
מעקב מנקודת המבט של הפלאגינים
בקטע הזה מתואר המעקב אחרי Service Extensions מנקודת המבט של הפלאגינים.
למידע מפורט על סוגי המדדים של Service Extensions, קראו את המאמר מדדיGoogle Cloud .
הצגת לוח הבקרה של Monitoring לתוספי שירות
כדי לפתוח את לוח הבקרה של Monitoring לתוספי שירות:
- נכנסים לדף Service Extensions במסוף Google Cloud .
- לוחצים על הכרטיסייה Plugins (יישומי פלאגין).
- לוחצים על שם הפלאגין.
- בדף Plugin details, לוחצים על הכרטיסייה Monitoring.
- כדי לראות את המדדים של פעולות במחזור החיים של הפלאגין, בוחרים ערכים מהרשימה Operation filter. כברירת מחדל, הערכים
HTTP request headerו-HTTP response headerנבחרים. - כדי לראות את המדדים של גרסת פלאגין ספציפית, בוחרים ערך מהרשימה Plugin version filter. כברירת מחדל, מוצגים מדדים לכל הגרסאות.
- כדי לשנות את התקופה שאת הנתונים שלה רוצים לראות, בוחרים תקופה מוגדרת מראש בבורר הזמן או לוחצים על Custom ומגדירים את שעת ההתחלה והסיום. כברירת מחדל, הסלקטור מוגדר לערך
1 day.
בדף Monitoring, תרשימי המדדים מציגים מידע שיכול לעזור לכם לעקוב אחרי הביצועים של הפלאגין.
מדדי פלאגינים של Service Extensions
אתם יכולים לעקוב אחרי המדדים הבאים של הפלאגינים מנקודת המבט של Service Extensions. למדדים האלה יש את הקידומת networkservices.googleapis.com/wasm_plugin/. התחילית מושמטת מהרשומות בטבלה.
| סוג המדד | שם לתצוגה
סוג, טיפוס, יחידה תיאור |
|---|---|
invocation_count
|
מספר ההפעלות של הפלאגין של Wasm
DELTA, INT64, 1
מספר ההפעלות של הפלאגין במהלך פרק הזמן שנבחר. כל הפעלה של קריאה חוזרת (callback) של פלאגין נספרת כהפעלה נפרדת של פלאגין. |
invocation_latencies
|
זמן האחזור של הפעלת הפלאגין של Wasm
DELTA, DISTRIBUTION, us
זמן ההפעלה המקומי של הפלאגין, באלפיות השנייה. המדד כולל רשומות עם תוויות לכל קריאה חוזרת (callback). |
cpu/usage_times
|
שימוש מנורמל במעבד (CPU) של פלאגין Wasm
DELTA, DISTRIBUTION, us{CPU}
זמן השימוש במעבד (CPU) של הפעלות פלאגין, במיקרו-שניות. |
memory/bytes_used
|
שימוש בזיכרון של פלאגין Wasm
GAUGE, DISTRIBUTION, By
הזיכרון הכולל שהוקצה על ידי מכונות וירטואליות של פלאגין Wasm, בבייטים. |
מעקב מנקודת המבט של מאזן העומסים
בקטע הזה מוסבר איך לעקוב אחרי פלאגינים של Service Extensions מנקודת המבט של מאזן העומסים.
הצגת לוח הבקרה של Monitoring ל-Cloud Load Balancing
מאזני עומסים של אפליקציות מייצאים נתוני מעקב אל Cloud Monitoring.
אפשר להשתמש במדדי Monitoring למטרות הבאות:
- הערכת ההגדרות, השימוש והביצועים של מאזן העומסים
- פתרון בעיות
- שיפור ניצול המשאבים וחוויית המשתמש
כדי לצפות במרכז בקרה מוגדר מראש:
- נכנסים לדף Dashboards overview במסוף Google Cloud .
- בקטע Categories, לוחצים על GCP.
- כדי להציג רשימה של מרכזי הבקרה של כל מאזני העומסים, ברשימה GCP Dashboards לוחצים על מרכז הבקרה שנקרא Google Cloud Load Balancers. כדי לראות את לוח הבקרה של מאזן עומסים ספציפי, מאתרים את מאזן העומסים ברשימה ולוחצים על השם שלו.
- כדי לראות את מרכזי הבקרה המוגדרים מראש רק של מאזני העומסים, בוחרים את מרכז הבקרה המתאים.
בנוסף למרכזי הבקרה המוגדרים מראש ב-Monitoring, אתם יכולים ליצור מרכזי בקרה בהתאמה אישית, להגדיר התראות ולשלוח שאילתות לגבי המדדים באמצעות Cloud Monitoring API.
מדדי פלאגין ל-Cloud Load Balancing
אתם יכולים לעקוב אחרי המדדים הבאים של הפלאגינים מנקודת המבט של Cloud Load Balancing.
בגרסת טרום-השקה (Preview), אתם יכולים לעקוב אחרי המדדים הבאים של תוספים בכל הסוגים של מאזני עומסים של אפליקציות. למדדים האלה יש את הקידומת networkservices.googleapis.com.
הקידומת לא מופיעה ברשומות שבטבלה הבאה.
בטבלה הבאה מפורטים סוג המדד, השם המוצג, הסוג, היחידה והתיאור של כל מדד.
| סוג המדד | שם לתצוגה
סוג, טיפוס, יחידה תיאור |
|---|---|
extension/invocation_count
|
מספר ההפעלות של התוסף
DELTA, INT64, 1
מספר ההפעלות שנשלחו לתוסף. |
extension/invocation_latencies
|
זמני האחזור של הפעלת התוסף
DELTA, DISTRIBUTION, ms
ההתפלגות מחושבת לפי זמן האחזור של כל הפעלה של התוסף. רלוונטי רק לתוספי יתרונות מרכזיים. לא נתמך בפלאגינים. |
extension/sent_chunks_count
|
מספר החלקים שנשלחו על ידי התוסף
DELTA, INT64, 1
רלוונטי רק לאירועים מסוג request_body ו-response_body.
מספר מקטעי הנתונים שנשלחו לתוסף. |
extension/received_chunks_count
|
מספר החלקים שהתוסף קיבל
DELTA, INT64, 1
רלוונטי רק לאירועים מסוג request_body ו-response_body.
מספר החלקים שהתקבלו מהתוסף. |
extension/failed_open_count
|
Extension failed invocations with fail-open
DELTA, INT64, 1
מספר הפעמים שההפעלה נכשלה כשהמערכת הוגדרה ל-fail-open והבקשה הורשתה להמשיך. |
extension/mutation_rejections_count
|
מספר הדחיות של שינויים בתוספים
DELTA, INT64, 1
מספר הקריאות שביקשו שינויים בכותרת, בגוף או בטריילר אבל נדחו. הדחייה יכולה לקרות מכל מיני סיבות, למשל אם המוטציה לא תקינה או חורגת ממגבלות הגודל. |
extension/sent_bytes_count
|
מספר הבייטים שנשלחו לתוסף
DELTA, INT64, By
מספר הבייטים שנשלחו לתוסף. |
extension/received_bytes_count
|
מספר הבייטים שהתקבלו מהתוסף
DELTA, INT64, By
מספר הבייטים שהתקבלו מהתוסף. |
אפשר גם לעקוב אחרי המדדים הבאים. למדדים האלה יש את הקידומת loadbalancing.googleapis.com/. התחילית מושמטת מהרשומות בטבלה.
| סוג המדד | שם לתצוגה
סוג, טיפוס, יחידה תיאור |
|---|---|
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
|
מספר הבקשות לקצה העורפי
DELTA, INT64, 1
מספר הפעמים שבהן פלאגין נקרא ממאזן העומסים של האפליקציות. |
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
|
בייטים של בקשות בקצה העורפי
DELTA, INT64, By
מספר הבייטים שנשלחו ממאזן העומסים לפלאגין. |
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
|
בייטים של תגובות מה-backend
DELTA, INT64, By
מספר הבייטים שמאזן העומסים קיבל מה-backend של התוסף. |
צפייה במדדי הפלאגינים
כדי לראות את המדדים של פלאגין ספציפי:
נכנסים לדף Metrics explorer במסוף Google Cloud .
ברכיב Metric, מרחיבים את התפריט Select a metric. לאחר מכן, מבצעים את הפעולות הבאות:
ברשימת המשאבים, בוחרים את הכלל המתאים של מאזן העומסים של האפליקציות.
ברשימת קטגוריות המדדים, בוחרים באפשרות Https.
ברשימת המדדים, בוחרים מדד פלאגין.
לוחצים על אישור.
ברכיב Filter, מבצעים את הפעולות הבאות:
בוחרים את התווית backend_target_type ומגדירים את הערך ל-
WASM_PLUGIN.בוחרים את התווית backend_target_name ומגדירים את שם הפלאגין כערך.
למידע נוסף על סוגי המדדים של מאזן העומסים, עיינו בקטע loadbalancing בדף המדדים של Google Cloud .