Media CDN 會將每個 HTTP 要求記錄到 Cloud Logging。這些要求包括用戶端對 EdgeCacheService
資源的要求,以及 EdgeCacheOrigin
資源對已設定來源的要求,用於填入快取。記錄檔通常會近乎即時地傳送。包括在 Logging 中可查詢,以及可匯出至 Cloud Storage 和 Pub/Sub。
記錄檔項目包含下列資訊類型:
- 多數 Google Cloud 記錄檔所示的一般資訊,如嚴重性、專案 ID、專案編號和時間戳記。
- HttpRequest 記錄欄位。
structPayload 內有關要求的其他中繼資料,包括:
- 用戶端 ASN
- 用戶端位置資料
- 用於提供回覆的快取 ID (城市)
- HTTP 層級回應的 TTFB 和 TTLB (以毫秒為單位)
- TLS SNI 主機名稱
- 使用的 TLS 版本
- 通用媒體用戶端資料 (CMCD) 資訊
快取專屬欄位
Media CDN 記錄的 jsonPayload
物件包含中繼資料,說明 Media CDN 提供物件的方式、物件是否已快取,以及遇到的任何錯誤狀態。
下表列出這些欄位和範例值。
欄位 | 範例值 | 詳細資料 |
---|---|---|
backendInitialLatency | 0.126644940s | 後端最初回應要求所花費的時間。從 CDN 結束將要求 Proxy 至來源,到 CDN 開始接收來源的回應位元組為止。 這個欄位只會出現在從 |
backendLatency | 0.126666342s | 後端完整回應要求所需的時間。從 CDN 結束將要求 Proxy 至來源,到 CDN 從後端收到完整回應為止。 這個欄位只會出現在從 |
cacheId | maa-123456 |
最靠近快取的城市 IATA (機場) 代碼,以及快取執行個體的不透明 ID。如果因快取完全或部分未命中,需要多層快取才能處理要求,系統會提供快取位置鏈結,例如 del-234567, bom-345678, sin-456789 ,其中最右側的快取位置最靠近使用者。 |
cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | 快取金鑰的不透明指紋。對應至相同快取金鑰的要求 (例如未納入查詢參數或主機的要求),應具有相同指紋。 如果請求總數與不重複指紋總數相近,可能表示快取金鑰過於具體。 |
cacheMode | USE_ORIGIN_HEADERS | 符合這項要求的路徑上設定的 cdnPolicy.cacheMode 。
|
cacheStatus | Cache hit: Full cache miss: |
使用者與原始伺服器防護之間各快取節點的快取狀態,最右側的值代表最靠近使用者的快取。如要進一步瞭解如何解讀這個欄位,請參閱「快取狀態值」。 |
clientAsn | 根據連線用戶端的 IP 位址判定的 ASN (自治系統編號)。 | |
clientCity | Mountain View | 發出要求的城市名稱,例如加州山景城。 這項設定也可以新增至要求和回應標頭,並反映 |
clientRegionCode | US | 與用戶端 IP 位址關聯的國家/地區。 這是 Unicode CLDR 區域代碼,例如 US 或 FR。大部分國家的代碼都可以與 ISO-3166-2 代碼直接對應。 這項設定也可以新增至要求和回應標頭,並反映 |
cmcd | 用戶端要求中的 CMCD 鍵,可協助提供用戶端服務品質資訊。Media CDN 支援透過 HTTP 要求標頭或查詢參數傳輸的資料,且不會記錄下列鍵的值:dl (期限)、nor (下一個物件要求)、nrr (下一個範圍要求)、ot (物件類型)、rtp (要求的最大輸送量)、sf (串流格式)、su (啟動)、tb (最高位元率) 或 v (CMCD 版本)。 |
|
compressionAlgorithmApplied | br | 用於壓縮這個記錄項目所參照回應的演算法。可能的值包括 br 和 gzip 。
|
enforcedSecurityPolicy | 適用於用戶端要求的 Google Cloud Armor 邊緣安全性政策。包括政策名稱、優先順序和採取的行動等額外資訊。此外,如果適用,也會提供 Google Threat Intelligence 評估資訊。 | |
flexShieldingRegion | US_EAST4 | 彈性防護使用的區域 (如有)。
這個欄位只會出現在從 |
flexShieldingStatus | SHIELDED | 快取填入要求的彈性防護狀態。可能的值如下:
這個欄位只會出現在從 |
httpTtfb | 0.157228207s | 從 Proxy 開始接收要求位元組,到傳送 (而非接收) 回應的第一個位元組為止的持續時間。 |
latency | 0.157415635s | 從 Proxy 開始接收要求位元組,到完成將回應寫入用戶端為止的持續時間。 |
location | 回應中的 Location 標頭。
|
|
metroIataCode | MAA | 最靠近代理伺服器的城市 IATA (機場) 代碼。 |
origin | 回應的 Proxy 來源 EdgeCacheOrigin 資源。
|
|
originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | 指派給原始產生這項回應的要求的專屬 ID。
只有在快取回應的 request_id 與這個值不同時,才會填入這個欄位。
|
originIp | 用來從回應遭到 Proxy 處理的 EdgeCacheOrigin 資源聯絡的 IP 位址。 |
|
previewSecurityPolicy | 適用於用戶端要求的 Google Cloud Armor 邊緣安全政策,並已考量預覽規則。包括政策名稱、優先順序和採取的行動等額外資訊。 | |
proxyRegionCode | US | Proxy 所在的國家/地區。這是 Unicode CLDR 地區代碼,例如 US 或 FR。大部分國家的代碼都可以與 ISO-3166-2 代碼直接對應。 |
proxyStatus | 回應路徑中的中繼 HTTP Proxy 清單。此值由 RFC 9209 定義。這會對應至 proxy_status 動態標頭變數。
|
|
rangeHeader | 要求中的 Range 標頭。
|
|
requestId | 4bde6381-cd17-47e1-8c2a-1aaa424a1156 | Proxy 指派給要求的專屬 ID。 |
tlsCipherSuite | 009C | 在 TLS 交握期間協商的加密套件。這個值是由 IANA TLS 加密套件登錄檔定義的四個十六進位數字,例如「009C for TLS_RSA_WITH_AES_128_GCM_SHA256」。對於未加密的用戶端連線,該值為空。 |
tlsSniHostname | 伺服器名稱指標 (如 RFC 6066 中的定義),如果用戶端在 TLS 或 QUIC 交握期間提供。系統會將主機名稱轉換為小寫,並移除任何的尾隨點。 | |
tlsVersion | TLS 1.3 | 在 SSL 交握期間,用戶端與 CDN 之間協商的 TLS 版本。可能的值包括 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", // hex digits for the cipher negotiated "cacheId": "maa-132eed13faa13", "clientAsn": "9299", // AS the client is associated with "origin": "example_origin", "clientRegionCode": "IN", "metroIataCode": "bom", "clientCity": "Mumbai", // City name, in English "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" }
您可以透過幾種方式設定要求記錄。如要減少記錄檔資料量和整體 Logging 費用,您可以視需要對記錄檔進行取樣或篩選。
您也可以將記錄檔傳送至 Pub/Sub、Cloud Storage 或 BigQuery,以便在 Google Cloud 或現有的記錄分析工具中進行分析。
資料保留政策
記錄功能支援設定自訂保留政策,包括以每個接收器為準的政策。
後續步驟
- 如要進一步瞭解如何設定記錄指標,根據記錄的要求定義自己的指標值,請參閱「記錄指標總覽」。
- 如要進一步瞭解 Logging 的定價,請參閱 Google Cloud Observability 定價。
- 如要瞭解稽核記錄的運作方式,以及如何啟用和設定管理活動的稽核記錄,請參閱 Cloud 稽核記錄說明文件。