Questa pagina mostra come configurare e utilizzare Cloud Logging e Cloud Monitoring con i plug-in di Service Extensions per Media CDN.
Logging
Questa sezione descrive i log di Service Extensions per i plug-in di Media CDN e come visualizzare e correlare le informazioni nei messaggi di log.
Messaggi di log
Service Extensions supporta la generazione di messaggi di log durante l'esecuzione del plug-in. La registrazione dei log è disattivata per impostazione predefinita. Per registrare i log di un plug-in, abilitalo quando lo crei o lo aggiorni.
I record di log dei plug-in sono annotati con le seguenti informazioni contestuali:
- Annotazioni di log standard, come timestamp e livello di log.
- L'identità del plug-in che ha generato il messaggio.
- Il callback del plug-in in cui è stato generato il messaggio di log.
- Un identificatore di traccia
requestIdche aiuta a determinare il log delle richieste a cui è associato un messaggio di log.
I log pertinenti a Service Extensions rientrano in una delle seguenti categorie:
Messaggi di log dei plug-in
Generati da una chiamata di logging, ad esempio
info!(...)per Rust,proxywasm.LogInfo(...)per Go oLOG_INFOper C++. Service Extensions esporta questi messaggi di log in Cloud Logging. Puoi registrare le intestazioni di richiesta e risposta e tutte le azioni intraprese dal plug-in.Puoi visualizzare questi messaggi utilizzando il
networkservices.googleapis.comservizio.Messaggi di log di Media CDN
Messaggi di log di Media CDN per le richieste HTTP alle risorse
EdgeCacheServicecon un'azione Wasm associata. Si tratta di voci di log di Media CDN regolari visualizzabili nel servizioedgecache.googleapis.com.
Abilitare il logging per un plug-in
Service Extensions supporta la generazione di messaggi di log durante l'esecuzione del plug-in. La registrazione dei log è disattivata per impostazione predefinita.
Per registrare i log di un plug-in, abilitalo quando lo crei o lo aggiorni.
Per abilitare il logging per un plug-in esistente, utilizza il
gcloud beta service-extensions wasm-plugins update comando:
gcloud beta service-extensions wasm-plugins update WASM_PLUGIN \
--log-config=[LOG_CONFIG,...]
Sostituisci quanto segue:
WASM_PLUGIN: l'ID o il nome completo del plug-inLOG_CONFIG: opzioni di logging per il plug-in. Per abilitare il logging, imposta l'opzioneenablesutrue. Quindi, specifica i seguenti dettagli:sample-rate: la frequenza di campionamento dei log delle attività come valore compreso tra0e1. Il valore0indica che i messaggi di log non vengono archiviati. Il valore predefinito1indica che tutti i messaggi di log vengono archiviati. Un valore a virgola mobile compreso tra0.0e1.0indica che viene archiviata una percentuale di messaggi di log.min-log-level: il livello di gravità minimo dei messaggi di log dei plug-in da esportare in Cloud Logging. Il valore predefinito èINFO.
Per visualizzare i log, nella Google Cloud console, vai alla pagina Esplora log.
Visualizzare i messaggi di log
I log possono essere visualizzati creando query in Esplora log.
Puoi visualizzare i log dei plug-in come log di Service Extensions autonomi. In questa visualizzazione, ogni messaggio di log del plug-in viene registrato nel proprio record di log e non è associato automaticamente alle informazioni del log delle richieste.
Questi messaggi di log si trovano nel log networkactions.googleapis.com/wasm_plugin_activity con il tipo di risorsa networkactions.googleapis.com/WasmPluginVersion.
Il sistema potrebbe anche aggiungere messaggi di log informativi a questo log.
Ad esempio, se si verifica un errore del plug-in quando una chiamata del plug-in supera i limiti di CPU o memoria, viene registrato un messaggio con gravità ERROR. Questi
messaggi possono essere visualizzati anche in Visualizzare e filtrare gli errori.
Puoi anche visualizzare i messaggi di log correlati ai log delle richieste di Media CDN corrispondenti in Esplora log. Quando visualizzi i log delle richieste, se espandi una voce di log delle richieste, i log dei plug-in correlati alla richiesta vengono visualizzati nidificati sotto il log delle richieste. Questa visualizzazione ti aiuta a comprendere i log dei plug-in nel contesto della richiesta associata.
Esempi di log
Considera una voce di log di Service Extensions di esempio. Il valore di message viene passato alla chiamata LOG_INFO del plug-in. Il valore severity dipende dal livello di log utilizzato nella chiamata di log del plug-in. Nella sezione labels, il valore dell'API è HTTP_REQUEST_HEADER, il che indica che l'operazione registrata è il callback del plug-in on_http_request_headers.
{
"insertId": "65224aac-0000-24bd-a0e1-582429bd544c@a1",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.networkactions.logging.v1.WasmPluginLogEntry",
"metroIataCode": "ber",
"proxyRegionCode": "DE",
"message": "[add_header_plugin.cc:26]::onRequestHeaders() AddHeaderStreamContext::onRequestHeaders called",
"requestId": "effc0311-6716-431b-9e2a-7586835fdff1"
},
"resource": {
"type": "networkactions.googleapis.com/WasmPluginVersion",
"labels": {
"plugin_version": "prod-1",
"resource_container": "projects/123456789",
"location": "global",
"plugin_name": "add-headers-plugin-prod-resource"
}
},
"timestamp": "2023-05-10T03:05:43.317015458Z",
"severity": "INFO",
"labels": {
"networkactions.googleapis.com/operation": "HTTP_REQUEST_HEADERS"
},
"logName": "projects/123456789/logs/networkactions.googleapis.com%2Fwasm_plugin_activity",
"trace": "projects/123456789/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:44.207265284Z"
}
requestId e trace in entrambi i messaggi di log sono gli stessi.
{
"insertId": "6c95cc54-0000-26ba-ba73-f403043c328c@a1",
"jsonPayload": {
"cacheMode": "USE_ORIGIN_HEADERS",
"@type": "type.googleapis.com/google.cloud.edgecache.v1.EdgeCacheLogEntry",
"wasmAction": "add-headers-action-prod-resource",
"cacheKeyFingerprint": "f04d02bb12f2e79e",
"proxyStatus": "Google-Edge-Cache",
"clientCity": "Erlangen",
"clientAsn": "8881",
"origin": "example-origin",
"cacheId": "ber",
"tlsVersion": "NONE",
"latency": "0.002840304s",
"originIp": "142.250.145.128",
"requestId": "effc0311-6716-431b-9e2a-7586835fdff1",
"clientRegionCode": "DE",
"originalRequestId": "7656c418-df7c-4ae5-9db5-4f247ec5a82c",
"httpTtfb": "0.002814903s",
"metroIataCode": "BER",
"proxyRegionCode": "DE",
"cacheStatus": "hit"
},
"httpRequest": {
"requestMethod": "GET",
"requestUrl": "https://example.com/image.jpg",
"requestSize": "1631",
"status": "200",
"responseSize": "402907",
"userAgent": "Wtrace",
"remoteIp": "2001:1438:1:19::5",
"protocol": "HTTP/1.1"
},
"resource": {
"type": "edgecache.googleapis.com/EdgeCacheRouteRule",
"labels": {
"location": "global",
"route_destination": "projects/123456789/locations/global/edgeCacheOrigins/example-origin",
"matched_path": "/turing/",
"route_type": "ORIGIN",
"path_matcher_name": "routes",
"resource_container": "projects/123456789",
"service_name": "example-service"
}
},
"timestamp": "2023-05-10T03:05:43.321347304Z",
"logName": "projects/bdn-prober/logs/edgecache.googleapis.com%2Fedge_cache_request",
"trace": "projects/1069774196212/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:49.919781008Z"
}
Limitazioni
I plug-in sono limitati alla registrazione di un massimo di 16 KiB di dati di payload per richiesta HTTP del client. Questo importo è suddiviso tra più chiamate di logging associate a una determinata richiesta HTTP. Il limite si applica solo al testo del messaggio di log, non ai metadati aggiuntivi aggiunti al record di log da Service Extensions.
Ad esempio, se un callback on_http_request_headers effettua due chiamate di logging con messaggi di 4 KiB ciascuna e poi un callback on_http_response_headers tenta di effettuare tre chiamate di logging con messaggi di 4 KiB ciascuna per la stessa richiesta HTTP, il terzo messaggio di logging viene eliminato. Viene aggiunto un messaggio di log per registrare il numero di messaggi di log generati dal plug-in che sono stati eliminati.
Monitoraggio
Questa sezione descrive come utilizzare le dashboard di Cloud Monitoring per visualizzare le metriche di Service Extensions per i plug-in di Media CDN.
Per informazioni dettagliate sui tipi di metriche di Service Extensions, consulta la Google Cloud pagina delle metriche.
Visualizzare la dashboard di monitoraggio per Service Extensions
Per visualizzare la dashboard di monitoraggio per Service Extensions:
- Nella Google Cloud console, vai alla pagina Service Extensions.
- Fai clic sulla scheda Plug-in.
- Fai clic sul nome di un plug-in.
- Nella pagina Dettagli plug-in, fai clic sulla scheda Monitoraggio.
- Per visualizzare le metriche per le operazioni del ciclo di vita dei plug-in, seleziona i valori dall'elenco
Filtro operazioni. Per impostazione predefinita, sono selezionati i valori
HTTP request headereHTTP response header. - Per visualizzare le metriche per una versione specifica del plug-in, seleziona un valore dall'elenco Filtro versione plug-in. Per impostazione predefinita, le metriche vengono visualizzate per tutte le versioni.
- Per modificare il periodo per il quale vuoi visualizzare i dati, seleziona un
periodo predefinito dal selettore di tempo oppure fai clic su Personalizzato e definisci un
ora di inizio e di fine. Per impostazione predefinita, il selettore è impostato su
1 day.
Nella pagina Monitoraggio, i grafici delle metriche mostrano informazioni che possono aiutarti a monitorare il rendimento dei plug-in.
Metriche dei plug-in per Service Extensions
Puoi monitorare le seguenti metriche per i plug-in dal punto di vista di Service Extensions. Queste metriche hanno il prefisso
networkactions.googleapis.com/wasm_plugin/. Il prefisso viene omesso dalle voci della tabella.
| Tipo di metrica | Nome visualizzato
Tipo, tipo, unità Descrizione |
|---|---|
invocation_count
|
Conteggio chiamate del plug-in Wasm
DELTA, INT64, 1
Il numero di chiamate del plug-in nell'intervallo di tempo selezionato. Ogni chiamata di callback plug-in viene conteggiata come una chiamata di plug-in separata. |
invocation_latencies
|
Latenza di chiamata del plug-in Wasm
DELTA, DISTRIBUTION, us
Il tempo di esecuzione locale, in millisecondi, del plug-in. La metrica include voci delimitate da etichette per ogni callback. |
cpu/usage_times
|
Utilizzo CPU normalizzato del plug-in Wasm
DELTA, DISTRIBUTION, us{CPU}
Il tempo di utilizzo della CPU delle chiamate del plug-in, in microsecondi. |
memory/bytes_used
|
Utilizzo della memoria del plug-in Wasm
GAUGE, DISTRIBUTION, By
La memoria totale allocata dalle VM dei plug-in Wasm, in byte. |
Metriche dei plug-in per Media CDN
Puoi monitorare le seguenti metriche per i plug-in dal punto di vista di Media CDN. Le stringhe del tipo di metrica seguono questo prefisso: edgecache.googleapis.com/edge_cache_route_rule/network_actions/.
Il prefisso viene omesso dalle voci della tabella.