Configurare il logging delle richieste

Questa pagina spiega come configurare il registro delle richieste per Media CDN.

Attiva log

La registrazione è disattivata per impostazione predefinita per ridurre al minimo i dati archiviati. I log vengono indirizzati, filtrati e archiviati in Cloud Logging.

  • Abilita il logging per un servizio Media CDN specifico:

    gcloud edge-cache services update YOUR_SERVICE \
       --enable-logging \
       --logging-sample-rate=1.0
    
  • Disattiva il logging:

    gcloud edge-cache services update YOUR_SERVICE \
       --no-enable-logging
    
  • Per ottenere lo stato corrente del logging su un servizio:

    gcloud edge-cache services describe YOUR_SERVICE
    

    L'output è simile al seguente:

    ...
    logConfig:
     enable: true
     sampleRate: 1.0
    ...
    

Imposta la frequenza di campionamento dei log

Per volumi elevati di richieste, anziché acquisire un log per ogni richiesta, potresti preferire campionare i log e fare affidamento sulle metriche per il monitoraggio e le indagini proattivi.

Per importare e archiviare solo i log per il 10% delle richieste, imposta logConfig.sampleRate su 0.1:

gcloud edge-cache services update YOUR_SERVICE \
    --enable-logging \
    --logging-sample-rate=0.1

Per modificare la frequenza di campionamento, il logging deve essere abilitato.

La frequenza di campionamento, se non diversamente specificato, è 0 (0%), il che significa che viene registrata ogni richiesta per il servizio configurato.

Esegui query sui log

Per eseguire query sui log, puoi utilizzare Esplora log nella console Google Cloud o Google Cloud CLI.

Per visualizzare i log nella console Google Cloud, filtra in base al tipo di risorsa Media CDN e (facoltativo) al nome del progetto e del servizio.

La seguente query di logging mostra i log di tutti i tuoi servizi Media CDN:

resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"

Per filtrare i log associati a una risorsa e a un progetto EdgeCacheService specifici, estendi questa query:

resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"
resource.labels.resource_container="projects/12345678"
resource.labels.service_name="MY_PROJECT"

Per eseguire la corrispondenza su nomi parziali o utilizzare espressioni regolari, consulta la sezione Confronti dei linguaggi di query di logging.

Esempio: identificare le mancate hit della cache

Una richiesta di un oggetto potrebbe non trovare una fallimento della cache, ma potrebbe causare un riempimento della cache per i seguenti motivi:

  • Una durata (TTL) troppo breve
  • Una chiave di cache eccessivamente specifica
  • Troppe poche richieste per rimanere memorizzate nella cache

Per identificare le mancate corrispondenze della cache, puoi filtrare i log in Esplora log.

La seguente query sul log mostra le richieste che possono essere memorizzate nella cache (cercate), ma che richiedono un completamento dall'origine:

resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"
resource.labels.resource_container="projects/12345678"
resource.labels.service_name="MY_PROJECT"
jsonPayload.cacheStatus="miss"

Se devi filtrare in base a un URL specifico, filtra in base al campohttpRequest.requestUrl:

httpRequest.requestUrl = "URL"

Per filtrare in base a una parte dell'URL, ad esempio il componente del percorso, utilizza l'operatore has:

# `:` is the `has` comparison operator

httpRequest.requestUrl: "/videos/1381381_1080.mp4"
# You can use `OR` or `AND` to filter on multiple values

httpRequest.requestUrl: ("https://media-test.example.com/" OR "https://canary.example.net")

Per scoprire di più sulla sintassi completa di Logging per la corrispondenza e il filtro, consulta Scrivere query avanzate utilizzando il linguaggio delle query di Logging.

Filtrare i log archiviati

Per filtrare i log prima di archiviarli, ad esempio acquisendo solo i campi pertinenti per ridurre il volume totale di log da archiviare e su cui eseguire query, puoi configurare i filtri di esclusione, che ti consentono di definire una query (filtro) che includa o escluda i campi prima dell'archiviazione.

Puoi anche configurare più filtri, ad esempio acquisire tutte le richieste di fallimento della cache o tutte le richieste per un nome host specifico e prendere solo un campione di tutti i log.

Log delle route

Media CDN si integra direttamente con Cloud Logging, che ti aiuta ad aggregare e instradare i log nei seguenti modi:

  • A destinazioni di archiviazione, come Cloud Storage e BigQuery

  • Agli argomenti Pub/Sub a cui le destinazioni di terze parti possono eseguire la sottoscrizione per accedere ai log

Per una panoramica del modo in cui i log vengono indirizzati da Logging, consulta la panoramica su routing e archiviazione.

Passaggi successivi