סקירה כללית של רישום הבקשות ביומן

כל בקשת 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 התחיל לקבל בייטים של תגובה משרת המקור.

השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור EdgeCacheOrigin.

backendLatency 0.126666342s

משך הזמן שלוקח לשרת העורפי להגיב לבקשה באופן מלא. הזמן שחלף מסיום העברת הבקשה על ידי ה-CDN לשרת המקור ועד לקבלת התגובה המלאה מהקצה העורפי ב-CDN.

השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור EdgeCacheOrigin.

cacheId maa-123456 קוד IATA (של נמל התעופה) של העיר הקרובה ביותר למטמון ומזהה אטום של מופע המטמון. אם נדרשות כמה רמות של שמירת נתונים במטמון כדי להציג את הבקשה בגלל החמצה מלאה או חלקית של נתונים במטמון, מוצגת שרשרת של מיקומי מטמון – לדוגמה, del-234567, bom-345678, sin-456789, כאשר המטמון הימני הוא הקרוב ביותר למשתמש.
cacheKeyFingerprint f63925711b0dd8a9ff861cd303774e6e

טביעת אצבע אטומה של מפתח המטמון. בקשות שממופות לאותו מפתח מטמון – לדוגמה, בקשות שלא כוללות פרמטרים של שאילתה או שלא כוללות את המארח – צריכות להיות בעלות טביעת אצבע זהה.

אם המספר הכולל של הבקשות דומה למספר הכולל של טביעות האצבע הייחודיות, יכול להיות שמפתחות המטמון ספציפיים מדי.

cacheMode USE_ORIGIN_HEADERS ה-cdnPolicy.cacheMode שהוגדר במסלול שתאם לבקשה הזו.
cacheStatus

Cache hit: hit

Full cache miss: fetch, miss, miss

סטטוס המטמון בכל צומת מטמון בין המשתמש לבין שרת המקור, כאשר הערך הימני ביותר מייצג את המטמון הקרוב ביותר למשתמש. למידע נוסף על האופן שבו מפרשים את השדה הזה, אפשר לעיין במאמר ערכים של סטטוס המטמון.
clientAsn מספר המערכת האוטונומית (ASN), על סמך כתובת ה-IP של הלקוח המתחבר.
clientCity Mountain View

שם העיר שממנה נשלחה הבקשה – לדוגמה, מאונטיין ויו, קליפורניה.

אפשר להוסיף את זה גם לכותרות של בקשות ושל תגובות, וזה משקף את משתנה הכותרת client_city.

clientRegionCode US

המדינה (או האזור) שמשויכת לכתובת ה-IP של הלקוח. זהו קוד אזור Unicode CLDR, כמו US או FR. ברוב המדינות, הקודים האלה תואמים ישירות לקודי ISO-3166-2.

אפשר להוסיף את זה גם לכותרות של בקשות ושל תגובות, וזה משקף את משתנה הכותרת client_region.

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 האזור שמשמש להגנה גמישה, אם יש כזה.

השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור EdgeCacheOrigin.

flexShieldingStatus SHIELDED הסטטוס של ההגנה הגמישה לבקשת מילוי מטמון. הערך יכול להיות אחד מהערכים הבאים:
  • DEFAULT_GLOBAL: מציין שהגמישות בהגנה לא הוגדרה
  • SHIELDED: מציין שהאזור שהוגדר באמצעות flexShieldingRegion שימש להצגת הבקשה
  • SPILLED: מציין שלא ניתן היה להשתמש באזור שהוגדר באמצעות flexShieldingRegion לבקשה, והמקור שהוגדר כברירת מחדל שימש במקומו

השדה הזה מופיע רק ביומנים של מילוי מטמון ממקור EdgeCacheOrigin.

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 תומך בהגדרה של מדיניות שמירת נתונים מותאמת אישית, כולל על בסיס כל יעד בנפרד.

המאמרים הבאים