Media CDN registra ogni richiesta HTTP in Cloud Logging. Queste richieste includono le richieste del client alla risorsa EdgeCacheService
e le richieste dalla risorsa EdgeCacheOrigin
all'origine configurata per i riempimenti della cache. In genere, i log vengono 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à, ID progetto, numero di progetto e timestamp.
- Campi di log HttpRequest.
Metadati aggiuntivi sulla richiesta all'interno dello structPayload, tra cui:
- ASN client
- Dati sulla posizione del client
- ID (città) delle cache utilizzate per rispondere alla risposta
- TTLB (Time To First Byte) 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 specifici del modo in cui Media CDN gestisce un oggetto, se l'oggetto è stato memorizzato nella cache ed eventuali stati di errore riscontrati.
Questi campi e i valori di esempio sono riportati nella tabella seguente.
Campo | Valore di esempio | Dettagli |
---|---|---|
backendInitialLatency | 0.126644940s | La Durata necessaria al backend per rispondere inizialmente a una richiesta. Misurato da quando la CDN ha terminato il proxy della richiesta all'origine fino a quando la CDN inizia a ricevere byte di risposta dall'origine. Questo campo viene visualizzato solo nei log per il riempimento della cache da una risorsa |
backendLatency | 0.126666342s | La durata necessaria al backend per rispondere completamente a una richiesta. Misurato da quando la CDN ha terminato il proxy della richiesta all'origine fino a quando la CDN ha ricevuto la risposta completa dal backend. Questo campo viene visualizzato solo nei log per il riempimento della cache da una risorsa |
cacheId | maa-123456 |
Il codice IATA (aeroporto) della città più vicina alla cache e un identificatore opaco dell'istanza della cache. Se sono necessari più livelli di memorizzazione nella cache per gestire la richiesta a causa di un fallimento completo o parziale della cache, viene fornita la catena di località cache, ad esempio del-234567, bom-345678, sin-456789 , in cui la cache più a destra è quella più vicina all'utente. |
cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | Un'impronta opaca della chiave cache. Le richieste mappate alla stessa chiave cache, ad esempio le richieste in cui parametri di ricerca non sono inclusi o in cui l'host non è incluso, devono avere la stessa impronta. Se il numero totale di richieste è simile al numero totale di fingerprint univoche, potrebbe indicare che le chiavi cache sono troppo specifiche. |
cacheMode | USE_ORIGIN_HEADERS | Il cdnPolicy.cacheMode configurato nella route
che ha soddisfatto questa richiesta.
|
cacheStatus | Cache hit: Full cache miss: |
Lo stato della cache in ciascun nodo della cache tra l'utente e lo scudo dell'origine, dove il valore più a destra rappresenta la cache più vicina all'utente. Per maggiori informazioni su come interpretare questo campo, consulta Valori dello stato della cache. |
clientAsn | L'ASN (Autonomous System Number), basato sull'indirizzo IP del client che si connette. | |
clientCity | Mountain View | Nome della città da cui ha avuto origine la richiesta, ad esempio Mountain View, California. Può essere aggiunto anche alle intestazioni di richiesta e risposta e
rispecchia la variabile di intestazione |
clientRegionCode | US | Il paese (o la regione) associato all'indirizzo IP del client. Si tratta di un codice regione Unicode CLDR, ad esempio US o FR. Per la maggior parte dei paesi, questi codici corrispondono direttamente ai codici ISO-3166-2. Può essere aggiunto anche alle intestazioni di richiesta e risposta e
rispecchia la variabile di intestazione |
cmcd | Le chiavi CMCD nella richiesta del client che contribuiscono a determinare la qualità del servizio lato client. Media CDN supporta i dati trasmessi tramite
intestazioni delle richieste HTTP o parametri di ricerca e non registra i valori per le seguenti chiavi:
dl (scadenza), nor (richiesta di oggetto successivo),
nrr (richiesta di intervallo successivo), ot (tipo di oggetto),
rtp (velocità effettiva massima richiesta), sf (formato di flusso),
su (avvio), tb (velocità in bit superiore)
o v (versione CMCD).
|
|
enforcedSecurityPolicy | Il criterio di sicurezza perimetrale di Google Cloud Armor che si applica alla richiesta del client. Sono incluse informazioni aggiuntive sul nome, sulla priorità e sull'azione intrapresa per il criterio. | |
httpTtfb | 0.157228207s | La durata da quando il proxy inizia a ricevere byte di richiesta fino a quando il primo byte della risposta non viene inviato (non ricevuto). |
latency | 0.157415635s | La durata dal momento in cui il proxy inizia a ricevere byte di richiesta e termina di scrivere la risposta sul client. |
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, ad esempio 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 è composto da quattro cifre esadecimali definite dal registro IANA TLS Cipher Suite Registry, ad esempio 009C per TLS_RSA_WITH_AES_128_GCM_SHA256. Questo valore è vuoto per le connessioni client non criptate. |
tlsSniHostname | Indicazione del nome del server (come definita nella specifica RFC 6066), se fornita dal client durante l'handshake TLS o QUIC. 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 CDN durante l'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 diversi modi. Per ridurre il volume dei 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 di criteri di conservazione personalizzati, anche in base al sink.
Passaggi successivi
- Per saperne di più su come configurare le metriche basate su log per definire i valori delle metriche in base alle richieste registrate, consulta la panoramica delle metriche basate su log.
- Per scoprire di più sui prezzi di Logging, consulta i prezzi di Google Cloud Observability.
- Per informazioni sul funzionamento dell'audit logging e su come abilitare e configurare gli audit log per le attività di amministrazione, consulta la documentazione su Cloud Audit Logs.