בדף הזה מוסבר איך להגדיר את Cloud Logging ו-Cloud Monitoring ולהשתמש בהם עם יישומי פלאגין של Service Extensions ל-Media CDN.
רישום ביומן
בקטע הזה מוסבר על יומני Service Extensions של פלאגינים של Media CDN, ואיך אפשר לראות את המידע בהודעות ביומן ולקשר ביניהן.
הודעות ביומן
תוספי השירות תומכים ביצירת הודעות ביומן במהלך הפעלת הפלאגין. האפשרות להקליט יומנים מושבתת כברירת מחדל. כדי לתעד יומנים של פלאגין, צריך להפעיל אותו כשיוצרים את הפלאגין או מעדכנים אותו.
רשומות היומן של הפלאגין כוללות את המידע הבא:
- הערות רגילות ביומן, כמו חותמת זמן ורמת היומן.
- הזהות של הפלאגין שיצר את ההודעה.
- הקריאה החוזרת (callback) של הפלאגין שבה נוצרה הודעת היומן.
- מזהה מעקב של
requestIdשעוזר לקבוע לאיזה יומן בקשות משויכת הודעת היומן.
היומנים שרלוונטיים לתוספים של שירותים נכללים באחת מהקטגוריות הבאות:
הודעות ביומן הפלאגין
נוצרת על ידי קריאה לרישום ביומן, כמו
info!(...)ל-Rust,proxywasm.LogInfo(...)ל-Go אוLOG_INFOל-C++. Service Extensions מייצא את הודעות היומן האלה ל-Cloud Logging. אפשר לתעד ביומן את כותרות הבקשות והתגובות וכל פעולה שהפלאגין ביצע.אפשר לראות את ההודעות האלה באמצעות השירות
networkservices.googleapis.com.הודעות ביומן של Media CDN
הודעות ביומן של Media CDN לבקשות HTTP למשאבי
EdgeCacheServiceעםCdnEdgeExtensionמשויך. אלה רשומות רגילות ביומן של Media CDN שאפשר לראות בשירותedgecache.googleapis.com.
הפעלת רישום ביומן של פלאגין
תוספי השירות תומכים ביצירת הודעות ביומן במהלך הפעלת הפלאגין. האפשרות להקליט יומנים מושבתת כברירת מחדל.
כדי לתעד יומנים של פלאגין, צריך להפעיל אותו כשיוצרים את הפלאגין או מעדכנים אותו.
כדי להפעיל רישום ביומן לפלאגין קיים, משתמשים בפקודה gcloud beta service-extensions wasm-plugins update:
gcloud beta 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. בתצוגה הזו, כל הודעת יומן של פלאגין נרשמת ברשומת יומן משלה, ולא משויכת באופן אוטומטי למידע של יומן הבקשות.
הודעות היומן האלה נמצאות ביומן networkactions.googleapis.com/wasm_plugin_activity עם סוג המשאב networkactions.googleapis.com/WasmPluginVersion.
יכול להיות שהמערכת תוסיף ליומן הזה גם הודעות יומן עם מידע.
לדוגמה, אם יש כשל בפלאגין כשההפעלה שלו חורגת ממגבלות המעבד (CPU) או הזיכרון, נרשמת הודעה ברמת החומרה ERROR. הודעות כאלה יכולות להופיע גם בהצגה וסינון של שגיאות.
אפשר גם לראות הודעות ביומן שקשורות ליומני הבקשות התואמים של Media CDN בLogs Explorer. כשמרחיבים רשומה ביומן הבקשות, רשומות הפלאגין שקשורות לבקשה מופיעות בתצוגה מקוננת מתחת ליומן הבקשות. התצוגה הזו עוזרת להבין את יומני הפלאגינים בהקשר של הבקשה המשויכת אליהם.
דוגמאות ליומנים
ניקח לדוגמה רשומה ביומן של 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.networkactions.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": "networkactions.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": {
"networkactions.googleapis.com/operation": "HTTP_REQUEST_HEADERS"
},
"logName": "projects/123456789/logs/networkactions.googleapis.com%2Fwasm_plugin_activity",
"trace": "projects/123456789/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:44.207265284Z"
}
requestId ו-trace זהים בשתי הודעות היומן.
{
"insertId": "6c95cc54-0000-26ba-ba73-f403043c328c@a1",
"jsonPayload": {
"cacheMode": "USE_ORIGIN_HEADERS",
"@type": "type.googleapis.com/google.cloud.edgecache.v1.EdgeCacheLogEntry",
"serviceExtensionInfo": [
{
"serviceExtension": "projects/123456789/locations/global/cdnEdgeExtensions/my-cdn-edge-extension",
"chain": "edge-plugin-chain",
"extension": "auth-and-header-plugin",
"grpcStatus": "OK",
"processingRequests": [
{
"eventType": "RESPONSE_HEADERS",
"processingEffect": "CONTENT_MODIFIED"
}
]
}
],
"cacheKeyFingerprint": "f04d02bb12f2e79e",
"proxyStatus": "Google-Edge-Cache",
"clientCity": "Erlangen",
"clientAsn": "8881",
"origin": "example-origin",
"cacheId": "ber",
"tlsVersion": "NONE",
"latency": "0.002840304s",
"originIp": "142.250.145.128",
"requestId": "effc0311-6716-431b-9e2a-7586835fdff1",
"clientRegionCode": "DE",
"originalRequestId": "7656c418-df7c-4ae5-9db5-4f247ec5a82c",
"httpTtfb": "0.002814903s",
"metroIataCode": "BER",
"proxyRegionCode": "DE",
"cacheStatus": "hit"
},
"httpRequest": {
"requestMethod": "GET",
"requestUrl": "https://example.com/image.jpg",
"requestSize": "1631",
"status": "200",
"responseSize": "402907",
"userAgent": "Wtrace",
"remoteIp": "2001:1438:1:19::5",
"protocol": "HTTP/1.1"
},
"resource": {
"type": "edgecache.googleapis.com/EdgeCacheRouteRule",
"labels": {
"location": "global",
"route_destination": "projects/123456789/locations/global/edgeCacheOrigins/example-origin",
"matched_path": "/turing/",
"route_type": "ORIGIN",
"path_matcher_name": "routes",
"resource_container": "projects/123456789",
"service_name": "example-service"
}
},
"timestamp": "2023-05-10T03:05:43.321347304Z",
"logName": "projects/bdn-prober/logs/edgecache.googleapis.com%2Fedge_cache_request",
"trace": "projects/1069774196212/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:49.919781008Z"
}
מגבלות
הפלאגינים מוגבלים לרישום של עד 16 KiB של נתוני מטען ייעודי (payload) לכל בקשת HTTP של לקוח. הסכום הזה מחולק בין כמה קריאות לרישום ביומן שמשויכות לבקשת HTTP נתונה. המגבלה חלה רק על הטקסט של הודעת היומן, ולא על מטא-נתונים נוספים שנוספו לרשומת היומן על ידי Service Extensions.
לדוגמה, אם קריאה חוזרת (callback) של on_http_request_headers מבצעת שתי קריאות רישום ביומן עם הודעות של 4KiB כל אחת, ואז קריאה חוזרת של on_http_response_headers מנסה לבצע שלוש קריאות רישום ביומן עם הודעות של 4KiB כל אחת לאותה בקשת HTTP, הודעת הרישום החמישית ביומן תושמט. הודעת יומן נוספת כדי לתעד את מספר הודעות היומן שנוצרו על ידי הפלאגין והושמטו.
מעקב
בקטע הזה מוסבר איך משתמשים במרכזי הבקרה של Cloud Monitoring כדי לראות את המדדים של Service Extensions לפלאגינים של Media CDN.
למידע מפורט על סוגי המדדים של 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. למדדים האלה יש את הקידומת networkactions.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 ב-Media CDN
אתם יכולים לעקוב אחרי התוספים של Media CDN בקצה הרשת מנקודת המבט של EdgeCacheService ב-Metrics Explorer של Monitoring:
נכנסים לדף Metrics explorer במסוף Google Cloud .
בוחרים את המשאב במעקב Media CDN Service Extension.
בוחרים בקטגוריית המדדים תוסף.
מסננים לפי התווית
extension_serviceשמוגדרת לשם הפלאגין.
בגרסת טרום-השקה (Preview), אתם יכולים לעקוב אחרי המדדים הבאים של תוספים ב-Media CDN. למדדים האלה יש את הקידומת networkactions.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
מספר הבייטים שהתקבלו מהתוסף. |