כל בקשת HTTP נרשמת ביומן של Media CDN ב-Cloud Logging. הבקשות האלה כוללות בקשות של לקוחות למשאב EdgeCacheService ובקשות מהמשאב EdgeCacheOrigin למקור שהוגדר למילוי המטמון. היומנים מועברים בדרך כלל כמעט בזמן אמת. הנתונים האלה ניתנים לשליפת נתונים ב-Logging ולייצוא ל-Cloud Storage ול-Pub/Sub.
רשומות ביומן מכילות את סוגי המידע הבאים:
- מידע כללי שמוצג ברוב היומנים Google Cloud , כמו רמת החומרה, מזהה הפרויקט, מספר הפרויקט וחותמת הזמן.
- שדות ביומן HttpRequest.
מטא-נתונים נוספים לגבי הבקשה בתוך structPayload, כולל הפרטים הבאים:
- מספר מערכת אוטונומית (ASN) של הלקוח
- נתוני מיקום של לקוחות
- המזהה (העיר) של מטמון הנתונים ששימש למילוי התשובה
- המהירות שבה מגיע בייט התגובה הראשון (TTFB) והמהירות שבה מגיע בייט התגובה האחרון (TTLB), במילי-שניות, עבור התגובה ברמת ה-HTTP
- שם המארח של TLS SNI
- גרסת TLS שנעשה בה שימוש
- מידע על Common Media Client Data (CMCD)
שדות שספציפיים למטמון
אובייקט jsonPayload ביומן של Media CDN מכיל מטא-נתונים שספציפיים לאופן שבו Media CDN מציג אובייקט, אם האובייקט נשמר במטמון ואם נתקלו במצבי שגיאה.
השדות האלה, וגם ערכים לדוגמה, מופיעים בטבלה הבאה.
| שדה | ערך לדוגמה | פרטים |
|---|---|---|
| backendInitialLatency | 0.126644940s | משך הזמן שלוקח לשרת העורפי להגיב לבקשה באופן ראשוני. הזמן שחלף מהרגע שבו ה-CDN סיים להעביר את הבקשה לשרת המקור ועד שה-CDN התחיל לקבל בייטים של תגובה משרת המקור. השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור |
| backendLatency | 0.126666342s | משך הזמן שלוקח לשרת העורפי להגיב לבקשה באופן מלא. הזמן שחלף מסיום העברת הבקשה על ידי ה-CDN לשרת המקור ועד לקבלת התגובה המלאה מהקצה העורפי ב-CDN. השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור |
| cacheId | maa-123456 |
קוד IATA (של נמל התעופה) של העיר הקרובה ביותר למטמון ומזהה אטום של מופע המטמון. אם נדרשות כמה רמות של שמירת נתונים במטמון כדי להציג את הבקשה בגלל החמצה מלאה או חלקית של נתונים במטמון, מוצגת שרשרת של מיקומי מטמון – לדוגמה, del-234567, bom-345678, sin-456789, כאשר המטמון הימני הוא הקרוב ביותר למשתמש. |
| cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | טביעת אצבע אטומה של מפתח המטמון. בקשות שממופות לאותו מפתח מטמון – לדוגמה, בקשות שלא כוללות פרמטרים של שאילתה או שלא כוללות את המארח – צריכות להיות בעלות טביעת אצבע זהה. אם המספר הכולל של הבקשות דומה למספר הכולל של טביעות האצבע הייחודיות, יכול להיות שמפתחות המטמון ספציפיים מדי. |
| cacheMode | USE_ORIGIN_HEADERS | ה-cdnPolicy.cacheMode שהוגדר במסלול שתאם לבקשה הזו.
|
| cacheStatus | Cache hit: Full cache miss: |
סטטוס המטמון בכל צומת מטמון בין המשתמש לבין שרת המקור, כאשר הערך הימני ביותר מייצג את המטמון הקרוב ביותר למשתמש. למידע נוסף על האופן שבו מפרשים את השדה הזה, אפשר לעיין במאמר ערכים של סטטוס המטמון. |
| clientAsn | מספר המערכת האוטונומית (ASN), על סמך כתובת ה-IP של הלקוח המתחבר. | |
| clientCity | Mountain View | שם העיר שממנה נשלחה הבקשה – לדוגמה, מאונטיין ויו, קליפורניה. אפשר להוסיף את זה גם לכותרות של בקשות ושל תגובות, וזה משקף את משתנה הכותרת |
| clientRegionCode | US | המדינה (או האזור) שמשויכת לכתובת ה-IP של הלקוח. זהו קוד אזור Unicode CLDR, כמו US או FR. ברוב המדינות, הקודים האלה תואמים ישירות לקודי ISO-3166-2. אפשר להוסיף את זה גם לכותרות של בקשות ושל תגובות, וזה משקף את משתנה הכותרת |
| cmcd | המפתחות של CMCD
בבקשת הלקוח עוזרים להבין את איכות השירות מצד הלקוח. Media CDN תומך בנתונים שמועברים דרך כותרות של בקשות HTTP או פרמטרים של שאילתות, ולא מתעד ערכים עבור המפתחות הבאים:
dl (deadline), nor (next object request),
nrr (next range request), ot (object type),
rtp (requested maximum throughput), sf (streaming format),
su (startup), tb (top bitrate),
או v (CMCD version).
|
|
| compressionAlgorithmApplied | br | האלגוריתם ששימש לדחיסת התגובה שאליה מתייחסת רשומת היומן הזו. הערכים האפשריים הם br ו-gzip.
|
| enforcedSecurityPolicy | מדיניות האבטחה של Google Cloud Armor edge שחלה על הבקשה של הלקוח. היא כוללת מידע נוסף על שם המדיניות, העדיפות והפעולה שבוצעה. בנוסף, הוא כולל מידע על הערכות של Google Threat Intelligence, אם רלוונטי. | |
| flexShieldingRegion | US_EAST4 | האזור שמשמש להגנה גמישה, אם יש כזה.
השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור |
| flexShieldingStatus | SHIELDED | הסטטוס של ההגנה הגמישה לבקשת מילוי מטמון. הערך יכול להיות אחד מהערכים הבאים:
השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור |
| httpTtfb | 0.157228207s | משך הזמן שחלף מהרגע שבו ה-proxy מתחיל לקבל בייטים של בקשה ועד לרגע שבו נשלח הבייט הראשון של התגובה (לא הרגע שבו הוא מתקבל). |
| latency | 0.157415635s | משך הזמן מרגע שה-proxy מתחיל לקבל בייטים של בקשה ועד שהוא מסיים לכתוב את התגובה ללקוח. |
| location | הכותרת Location בתגובה.
|
|
| metroIataCode | MAA | קוד IATA (של נמל התעופה) של העיר הקרובה ביותר לשרת ה-proxy. |
| origin | משאב EdgeCacheOrigin שממנו התקבלה התגובה באמצעות פרוקסי.
|
|
| originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | המזהה הייחודי שהוקצה לבקשה שיצרה במקור את התשובה הזו.
השדה הזה מאוכלס רק אם הוא שונה מ-request_id בתשובות שנשמרו במטמון.
|
| originIp | כתובת ה-IP ששימשה ליצירת קשר עם משאב EdgeCacheOrigin שממנו התגובה הועברה באמצעות פרוקסי.
|
|
| previewSecurityPolicy | מדיניות האבטחה של Google Cloud Armor edge שחלה על הבקשה של הלקוח, עם כללי התצוגה המקדימה שנלקחים בחשבון. היא כוללת מידע נוסף על שם המדיניות, על רמת העדיפות ועל הפעולה שבוצעה. | |
| proxyRegionCode | US | המדינה (או האזור) שבה נמצא השרת הפרוקסי. זהו קוד אזור Unicode CLDR, כמו US או FR. ברוב המדינות, הקודים האלה תואמים ישירות לקודי ISO-3166-2. |
| proxyStatus | רשימה של שרתי proxy של HTTP בתגובה. הערך מוגדר על ידי RFC 9209.
ההגדרה הזו תואמת לproxy_status משתנה הכותרת הדינמי.
|
|
| rangeHeader | הכותרת Range בבקשה.
|
|
| requestId | 4bde6381-cd17-47e1-8c2a-1aaa424a1156 | המזהה הייחודי שהוקצה לבקשה על ידי השרת הפרוקסי. |
| tlsCipherSuite | 009C | סט האלגוריתמים להצפנה שנקבע במהלך לחיצת היד בפרוטוקול TLS. הערך הוא ארבע ספרות הקסדצימליות שמוגדרות ברישום של IANA TLS Cipher Suite – לדוגמה, 009C עבור TLS_RSA_WITH_AES_128_GCM_SHA256. הערך הזה ריק עבור חיבורי לקוח לא מוצפנים. |
| tlsSniHostname | אינדיקציה של שם השרת (כפי שמוגדר ב-RFC 6066), אם הלקוח מספק אותה במהלך לחיצת היד של TLS או QUIC. שם המארח מומר לאותיות קטנות ומוסרת ממנו נקודה בסוף. | |
| tlsVersion | TLS 1.3 | גרסת TLS שנקבעה במשא ומתן בין הלקוח לבין ה-CDN במהלך לחיצת היד בפרוטוקול SSL. הערכים האפשריים כוללים TLS 1, TLS 1.1, TLS 1.2 ו-TLS 1.3. |
דוגמה לרשומה ביומן
בדוגמה הבאה מוצגת רשומה ביומן של תגובה שמוגשת מהמטמון:
{ "insertId": "617fa16e-0000-2ac9-9993-d4f547fe67d4@a1", "jsonPayload": { "@type": "type.googleapis.com/google.cloud.edgecache.v1.EdgeCacheLogEntry", "tlsVersion": "TLS 1.3", "tlsCipherSuite": "009C", "cacheId": "maa-132eed13faa13", "clientAsn": "9299", "origin": "example_origin", "clientRegionCode": "IN", "metroIataCode": "bom", "clientCity": "Mumbai", "latency": "0.005105200s", "proxyStatus": "Google-Edge-Cache", "httpTtfb": "0.005056080s", "cacheMode": "FORCE_CACHE_ALL", "cacheKeyFingerprint": "c360ac18849b6336", "cacheStatus": "hit,stale", "compressionAlgorithmApplied": "br", "enforcedSecurityPolicy": { "outcome": "ACCEPT", "configuredAction": "ACCEPT", "name": "example_policy", "priority": 1000, "configuredAction": "DENY", "threatIntelligence": { "categories": [ 0: "iplist-public-clouds" ] } }, "originalRequestId": "19d92668-3948-49d8-9244-25f8252043e5", "proxyRegionCode": "IN", "requestId": "4bde6381-cd17-47e1-8c2a-1aaa424a1156", "originIp": "74.125.128.128" }, "httpRequest": { "requestMethod": "GET", "requestUrl": "https://example.com/image.jpg", "requestSize": "3545", "status": 200, "responseSize": "3716", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "remoteIp": "62.36.0.43", "protocol": "HTTP/2" }, "resource": { "type": "edgecache.googleapis.com/EdgeCacheRouteRule", "labels": { "matched_path": "/", "path_matcher_name": "routes", "service_name": "example_service", "resource_container": "projects/123456789", "location": "global", "route_destination": "projects/123456789/locations/global/edgeCacheOrigins/example_origin", "route_type": "ORIGIN" } }, "timestamp": "2022-11-19T00:24:13.695328200Z", "logName": "projects/my-project/logs/edgecache.googleapis.com%2Fedge_cache_request", "receiveTimestamp": "2022-11-19T00:24:16.715871645Z" }
יש כמה דרכים להגדיר רישום ביומן של בקשות. כדי לצמצם את נפח היומן ואת העלויות הכוללות של רישום ביומן, אפשר לדגום או לסנן את היומנים לפי הצורך.
אפשר גם לנתב יומנים אל Pub/Sub, Cloud Storage או BigQuery כדי לנתח אותם ב- Google Cloud או בכלים קיימים לניתוח יומנים.
מדיניות שמירה
שירות Logging תומך בהגדרה של מדיניות שמירת נתונים מותאמת אישית, כולל על בסיס כל יעד בנפרד.
המאמרים הבאים
- כדי להבין איך מגדירים מדדים מבוססי-יומן כדי להגדיר ערכי מדדים משלכם על סמך בקשות שנרשמו ביומן, אפשר לעיין במאמר מדדים מבוססי-יומן – מבט כללי.
- למידע נוסף על התמחור של Logging, ראו תמחור של Google Cloud Observability.
- כדי לקרוא על אופן הפעולה של יומני הביקורת ועל הפעלה והגדרה של יומני ביקורת לפעילות אדמיניסטרטיבית, אפשר לעיין במסמכי התיעוד של Cloud Audit Logs.