בדף הזה מוסבר איך להגדיר את Cloud Logging ו-Cloud Monitoring ולהשתמש בהם עם פלאגינים של Service Extensions ל-Cloud Load Balancing ול-Cloud CDN.
רישום ביומן
בקטע הזה מוסבר על רישום ביומן של פלאגינים של מאזן עומסים של אפליקציות (ALB). אפשר לרשום ביומן גם מנקודת המבט של הפלאגין וגם מנקודת המבט של מאזן העומסים.
הודעות ביומן
תוספי השירות תומכים ביצירת הודעות ביומן במהלך הפעלת הפלאגין. האפשרות להקליט יומנים מושבתת כברירת מחדל. כדי לתעד יומנים של פלאגין, צריך להפעיל אותו כשיוצרים את הפלאגין או מעדכנים אותו.
רשומות היומן של הפלאגין כוללות את המידע הבא:
- הערות רגילות ביומן, כמו חותמת זמן ורמת היומן.
- הזהות של הפלאגין שיצר את ההודעה.
- הקריאה החוזרת (callback) של הפלאגין שבה נוצרה הודעת היומן.
- מזהה מעקב של
requestIdשעוזר לקבוע לאיזה יומן בקשות משויכת הודעת היומן.
היומנים שרלוונטיים לתוספים של שירותים נכללים באחת מהקטגוריות הבאות:
הודעות ביומן הפלאגין
נוצרת על ידי קריאה לרישום ביומן, כמו
info!(...)ל-Rust,proxywasm.LogInfo(...)ל-Go אוLOG_INFOל-C++. Service Extensions מייצא את הודעות היומן האלה ל-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, הודעת הרישום החמישית ביומן תושמט. הודעת יומן נוספת כדי לתעד את מספר הודעות היומן שנוצרו על ידי הפלאגין והושמטו.
רישום ביומן מנקודת המבט של מאזן העומסים
בקטע הזה מתואר הרישום ביומן של Service Extensions מנקודת המבט של מאזן העומסים.
הפעלת רישום ביומן בשירות לקצה העורפי
כדי להפעיל את הרישום ביומן של פלאגינים של מאזן עומסים של אפליקציות בזמן יצירת שירות, צריך להפעיל את הרישום ביומן בשירות לקצה העורפי שהוא היעד של הבקשה.
כדי להפעיל את הרישום ביומן של שירות היעד לקצה העורפי, משתמשים בפקודה 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 במדד הזה מציין שהעיבוד נמשך כשהזמן הקצוב לתפוגה של התוסף חלף או כשהתוסף נכשל.
רלוונטי רק למאזני עומסים אזוריים חיצוניים של אפליקציות, למאזני עומסים אזוריים פנימיים של אפליקציות ולמאזני עומסים פנימיים חוצי-אזורים של אפליקציות. |
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) | תוצאת העיבוד של כל אירוע בבקשת עיבוד.
רלוונטי רק למאזני עומסים אזוריים חיצוניים של אפליקציות, למאזני עומסים אזוריים פנימיים של אפליקציות ולמאזני עומסים פנימיים חוצי-אזורים של אפליקציות.
יכול להיות אחד מהערכים הבאים:
|
per_processing_request_info[].processing_effect_details |
מחרוזת | כאשר processing_effect הוא MUTATION_REJECTED, הפרטים על הסיבה לדחיית המוטציה.
רלוונטי רק למאזני עומסים אזוריים חיצוניים של אפליקציות, למאזני עומסים אזוריים פנימיים של אפליקציות ולמאזני עומסים פנימיים של אפליקציות בכמה אזורים. |
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
מספר ההפעלות שנשלחו לתוסף. |
invocation_latencies
|
זמני האחזור של הפעלת התוסף
DELTA, DISTRIBUTION, ms
ההתפלגות מחושבת לפי זמן האחזור של כל הפעלה של התוסף. רלוונטי רק לתוספי יתרונות מרכזיים. לא נתמך בפלאגינים. |
sent_chunks_count
|
מספר החלקים שנשלחו על ידי התוסף
DELTA, INT64, 1
רלוונטי רק לאירועים מסוג request_body ו-response_body.
מספר מקטעי הנתונים שנשלחו לתוסף. |
received_chunks_count
|
מספר החלקים שהתוסף קיבל
DELTA, INT64, 1
רלוונטי רק לאירועים מסוג request_body ו-response_body.
מספר החלקים שהתקבלו מהתוסף. |
failed_open_count
|
Extension failed invocations with fail-open
DELTA, INT64, 1
מספר הפעמים שהפעלה נכשלה כשהמערכת הוגדרה להמשך פעילות במקרה שגיאה, והבקשה המשיכה. |
mutation_rejections_count
|
מספר הדחיות של שינויים בתוספים
DELTA, INT64, 1
מספר הקריאות שביקשו שינויים בכותרת, בגוף או בטריילר, אבל נדחו. הדחייה יכולה לקרות מכל מיני סיבות, למשל אם המוטציה לא תקינה או חורגת ממגבלות הגודל. |
sent_bytes_count
|
מספר הבייטים שנשלחו לתוסף
DELTA, INT64, By
מספר הבייטים שנשלחו לתוסף. |
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
|
בייטים של תגובת קצה עורפי
DELTA, INT64, By
מספר הבייטים שמאזן העומסים קיבל מקצה העורפי של התוסף. |
הצגת מדדי הפלאגין
כדי לראות את המדדים של פלאגין ספציפי:
נכנסים לדף Metrics explorer במסוף Google Cloud .
ברכיב Metric, מרחיבים את התפריט Select a metric. לאחר מכן, מבצעים את הפעולות הבאות:
ברשימת המשאבים, בוחרים את הכלל המתאים של מאזן העומסים של האפליקציות.
ברשימת קטגוריות המדדים, בוחרים באפשרות Https.
ברשימת המדדים, בוחרים מדד פלאגין.
לוחצים על אישור.
ברכיב Filter, מבצעים את הפעולות הבאות:
בוחרים את התווית backend_target_type ומגדירים את הערך ל-
WASM_PLUGIN.בוחרים את התווית backend_target_name ומגדירים את שם הפלאגין כערך.
למידע נוסף על סוגי המדדים של מאזן העומסים, עיינו בקטע loadbalancing בדף המדדים של Google Cloud .