Panoramica delle richieste di logging

Media CDN registra ogni richiesta HTTP in Cloud Logging. Queste richieste includere le richieste del client alla risorsa EdgeCacheService e le richieste da la risorsa EdgeCacheOrigin all'origine configurata per i riempimenti della cache. I log sono vengono generalmente consegnati quasi in tempo reale. Ciò include l'esecuzione di query in Logging ed esportabili in Cloud Storage e Pub/Sub.

Le voci di log contengono i seguenti tipi di informazioni:

  • Informazioni generali mostrate nella maggior parte dei log di Google Cloud, come gravità, l'ID progetto, il numero di progetto e il timestamp.
  • Log HttpRequest campi.
  • Metadati aggiuntivi sulla richiesta all'interno di structPayload, tra cui le seguenti:

    • ASN client
    • Dati sulla posizione del client
    • ID (città) delle cache utilizzate per rispondere alla risposta
    • Time to First Byte (TTFB) e Time To last Byte (TTLB) in millisecondi. per la risposta a livello HTTP
    • Nome host SNI TLS
    • Versione TLS utilizzata
    • Informazioni sui dati Common Media Client Data (CMCD)

Campi specifici della cache

L'oggetto jsonPayload di un log di Media CDN contiene metadati specifiche per il modo in cui Media CDN offre un oggetto, sia che quest'ultimo sono stati memorizzati nella cache e si sono verificati gli eventuali stati di errore.

Questi campi e i valori di esempio sono riportati nella tabella seguente.

Campo Valore di esempio Dettagli
backendInitialLatency 0.126644940s

La durata il backend necessario per rispondere inizialmente a una richiesta. Misurato da quando la rete CDN ha terminato il proxy della richiesta all'origine finché la rete CDN inizia a ricevere byte di risposta dall'origine.

Questo campo viene visualizzato solo nei log per il riempimento della cache da una risorsa EdgeCacheOrigin.

backendLatency 0.126666342s

La durata necessaria al backend per rispondere completamente a una richiesta. Misurata da quando la rete CDN ha terminato il proxy della richiesta all'origine finché la CDN non ha ricevuto una risposta dal backend.

Questo campo viene visualizzato solo nei log per il riempimento della cache da una risorsa EdgeCacheOrigin.

cacheId maa-123456 Codice IATA (aeroporto) della città più vicina alla cache e un identificatore opaco della cache in esecuzione in un'istanza Compute Engine. Se sono necessari più livelli di memorizzazione nella cache per soddisfare la richiesta a causa di un un fallimento parziale della cache, viene fornita la catena di posizioni della cache, esempio, del-234567, bom-345678, sin-456789, dove la cache più a destra è più vicino all'utente.
cacheKeyFingerprint f63925711b0dd8a9ff861cd303774e6e

Un'impronta opaca della chiave cache. Richieste mappate al stessa chiave cache, ad esempio richieste in cui parametri di ricerca o se l'host non è incluso, hanno la stessa impronta.

Se il numero totale di richieste è simile al numero totale di di impronte digitali univoche, potrebbe indicare che anche le chiavi cache specifici.

cacheMode USE_ORIGIN_HEADERS L'elemento cdnPolicy.cacheMode configurato sulla route corrispondono a questa richiesta.
cacheStatus

Cache hit: hit

Full cache miss: fetch, miss, miss

Lo stato della cache di ogni nodo di cache tra l'utente e scudo dell'origine, dove il valore più a destra rappresenta la cache più vicina all'utente. Per ulteriori informazioni su come interpretare questo campo, consulta Valori dello stato della cache.
clientAsn L'ASN (Autonomous System Number), basato sulla connessione all'indirizzo IP del client.
clientCity Mountain View

Nome della città da cui ha avuto origine la richiesta, ad esempio Mountain View, California.

Questo valore può essere aggiunto anche alle intestazioni di richiesta e risposta rispecchia la variabile di intestazione client_city.

clientRegionCode US

Il paese (o la regione) associato all'indirizzo IP del client. Si tratta di un codice regione CLDR Unicode, ad esempio US o FR. Per la maggior parte in ogni paese, questi codici corrispondono direttamente ai codici ISO-3166-2.

Questo valore può essere aggiunto anche alle intestazioni di richiesta e risposta rispecchia la variabile di intestazione client_region.

cmcd Il CMCD nella richiesta del client che aiutano a influenzare la qualità lato client completamente gestito di Google Cloud. Media CDN supporta i dati trasmessi tramite Intestazioni della richiesta HTTP o parametri di ricerca e non registra i valori per le seguenti chiavi: dl (scadenza), nor (prossima richiesta dell'oggetto), nrr (richiesta di intervallo successivo), ot (tipo di oggetto), rtp (velocità effettiva massima richiesta), sf (formato di streaming), su (avvio), tb (massima velocità in bit), o v (versione CMCD).
enforcedSecurityPolicy Il criterio di sicurezza perimetrale di Google Cloud Armor che si applica alla richiesta del cliente. Sono incluse informazioni aggiuntive sul nome del criterio, la priorità e l'azione intrapresa.
httpTtfb 0.157228207s la durata da quando il proxy inizia a ricevere byte di richiesta fino al primo byte del viene inviata la risposta (non ricevuta).
latency 0.157415635s Durata da quando il proxy inizia a ricevere byte di richiesta fino al termine della scrittura la risposta al cliente.
location L'intestazione Location nella risposta.
metroIataCode MAA Il codice IATA (aeroporto) della città più vicina al proxy.
origin La risorsa EdgeCacheOrigin da cui è stata inviata la risposta tramite proxy.
originalRequestId 19d92668-3948-49d8-9244-25f8252043e4 L'identificatore univoco assegnato alla richiesta che ha generato originariamente la risposta. Compilato solo se diverso da request_id per le risposte memorizzate nella cache.
originIp L'indirizzo IP utilizzato per contattare la risorsa EdgeCacheOrigin da cui la risposta è stata inviata tramite proxy.
proxyRegionCode US Il paese (o la regione) in cui si trova il proxy. Si tratta di un codice regione Unicode CLDR, come US o FR. Per la maggior parte dei paesi, questi codici corrispondono direttamente ai codici ISO-3166-2.
proxyStatus Un elenco di proxy HTTP intermedi nel percorso di risposta. Il valore è definito da RFC 9209. Corrisponde alla variabile di intestazione dinamica proxy_status.
rangeHeader Intestazione Range nella richiesta.
requestId 4bde6381-cd17-47e1-8c2a-1aaa424a1156 L'identificatore univoco assegnato alla richiesta dal proxy.
tlsCipherSuite 009C La suite di crittografia negoziata durante l'handshake TLS. Il valore è 4 esadecimali definite dal registro IANA TLS Cipher Suite, ad esempio 009C per TLS_RSA_WITH_AES_128_GCM_SHA256. Questo valore è vuoto per e connessioni client non criptate.
tlsSniHostname Indicazione del nome del server (come definito in RFC 6066), se fornita dal client durante la o QUIC handshake. Il nome host viene convertito in lettere minuscole e gli eventuali punti finali vengono rimossi.
tlsVersion TLS 1.3 Versione TLS negoziata tra il client e la rete CDN durante handshake SSL. I valori possibili sono TLS 1, TLS 1.1, TLS 1.2 e TLS 1.3.

Esempio di voce di log

Di seguito viene riportato un esempio di voce di log per una risposta fornita dalla cache:

{
  "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",
    "enforcedSecurityPolicy": {
      "outcome": "ACCEPT",
      "configuredAction": "ACCEPT",
      "name": "example_policy",
      "priority": 1000
    },
    "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"
}

Puoi configurare il logging delle richieste in vari modi. Per ridurre il volume di log e gli addebiti complessivi di Logging, i log possono essere campionati o filtrati in base alle esigenze.

Puoi anche indirizzare i log a Pub/Sub, Cloud Storage o BigQuery per l'analisi in Google Cloud o nei tuoi strumenti di analisi dei log esistenti.

Criteri di conservazione

Logging supporta l'impostazione della conservazione personalizzata , anche in base al sink.

Passaggi successivi