Logging e monitoraggio per i callout di Cloud Load Balancing

Questa pagina mostra come configurare e utilizzare Cloud Logging e Cloud Monitoring con i callout di Service Extensions per Cloud Load Balancing.

Logging

Questa sezione descrive la registrazione per i callout del bilanciatore del carico delle applicazioni.

Abilita il logging su un servizio di backend

Puoi abilitare il logging per i callout di bilanciatore del carico delle applicazioni durante la creazione del servizio abilitando il logging sul servizio di backend che è la destinazione di una richiesta (e non sul servizio di backend associato all'estensione).

Per abilitare la registrazione per il servizio di backend di destinazione, utilizza il comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

Sostituisci quanto segue:

  • BACKEND_SERVICE: il nome del servizio di backend
  • RATE: un valore compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Il valore predefinito è 1.0. Questa impostazione è efficace solo se utilizzata con il parametro enable-logging. Se ometti enable-logging, il logging è disattivato.
  • REGION: la regione del backend
  • LOGGING_OPTIONAL_MODE: attiva la registrazione per i campi facoltativi in una di queste modalità:

    • INCLUDE_ALL_OPTIONAL include tutti i campi facoltativi.
    • EXCLUDE_ALL_OPTIONAL (valore predefinito) esclude tutti i campi facoltativi.
    • CUSTOM include un elenco personalizzato di campi facoltativi.
  • OPTIONAL_FIELDS: un elenco separato da virgole di campi facoltativi quando selezioni la modalità CUSTOM

Dopo aver attivato la registrazione nel servizio di backend, le richieste HTTP o HTTPS vengono registrate utilizzando i log di Cloud Logging.

Per visualizzare i log, nella console Google Cloud , vai alla pagina Esplora log.

Per saperne di più, consulta le pagine "Monitoraggio e risoluzione dei problemi" della documentazione del bilanciatore del carico delle applicazioni, ad esempio Logging e monitoraggio del bilanciatore del carico delle applicazioni interno.

Messaggi di log per un servizio di backend

In generale, le voci di log del bilanciatore del carico delle applicazioni contengono informazioni utili per monitorare ed eseguire il debug del traffico HTTP o HTTPS. Le voci di log contengono i seguenti tipi di informazioni:

  • Informazioni mostrate nella maggior parte dei log Google Cloud , come gravità, ID progetto, numero di progetto e timestamp, come descritto nel log LogEntry.
  • Campi log HttpRequest.

I log delle richieste per i bilanciatori del carico HTTP e HTTPS contengono un oggetto service_extension_info nel payload JSON della voce di log del bilanciatore del carico con le seguenti informazioni:

Campo Tipo Descrizione
backend_target_name string Il nome del target di backend dell'estensione.
backend_target_type string Tipo di target di backend.
chain string Nome della catena di estensioni all'interno della risorsa di estensione di servizio che corrisponde alla richiesta.
extension string Il nome dell'estensione all'interno della catena di estensioni.
failed_open boolean Quando la configurazione dell'estensione è impostata su failOpen true, il valore true per questa metrica indica che il trattamento è continuato quando l'estensione è scaduta o non è riuscita.

Si applica solo ai bilanciatori del carico delle applicazioni esterni regionali, ai bilanciatori del carico delle applicazioni interni regionali e ai bilanciatori del carico delle applicazioni interni tra regioni.

grpc_status enum Lo stato più recente dello stream gRPC. Per saperne di più, consulta Codici di stato gRPC.
per_processing_request_info matrice Un elenco di statistiche ProcessingRequest per le estensioni ext_proc o statistiche CheckRequest per le estensioni ext_authz che si verificano nel flusso gRPC.
per_processing_request_info[].event_type enum Il tipo di evento di ProcessingRequest. Può essere uno dei seguenti valori: REQUEST_HEADERS, REQUEST_BODY, RESPONSE_HEADERS o RESPONSE_BODY.
per_processing_request_info[].latency duration La durata dal momento in cui viene inviato il primo byte del messaggio ProcessingRequest all'estensione al momento in cui viene ricevuto l'ultimo byte del messaggio ProcessingResponse.
per_processing_request_info[].processing_effect enum Il risultato dell'elaborazione per ogni evento in una richiesta di elaborazione.

Si applica solo ai bilanciatori del carico delle applicazioni esterni regionali, ai bilanciatori del carico delle applicazioni interni regionali e ai bilanciatori del carico delle applicazioni interni tra regioni.

Può avere uno dei seguenti valori:

  • NONE: indica che i contenuti non sono stati modificati.
  • NONE_FAILED_OPEN: indica che non sono state eseguite mutazioni perché l'estensione non è stata aperta.
  • CONTENT_MODIFIED: indica che i contenuti sono stati modificati da una richiesta di mutazione applicata correttamente.
  • IMMEDIATE_RESPONSE: indica che l'estensione ha inviato una risposta immediata per interrompere tutte le ulteriori elaborazioni.
  • MUTATION_REJECTED: indica che l'estensione ha richiesto almeno una modifica non consentita e l'ulteriore elaborazione è stata interrotta. Vengono registrati messaggi di errore appropriati.
  • UNSPECIFIED: indica che l'effetto dell'elaborazione non è noto.
per_processing_request_info[].processing_effect_details string Quando processing_effect è MUTATION_REJECTED, i dettagli sul motivo per cui una mutazione è stata rifiutata.

Si applica solo ai bilanciatori del carico delle applicazioni esterni regionali, ai bilanciatori del carico delle applicazioni interni regionali e ai bilanciatori del carico delle applicazioni interni tra regioni.

resource string Nome della risorsa di estensione

Monitoraggio

Questa sezione descrive come monitorare i callout configurati utilizzando Service Extensions per Cloud Load Balancing.

Visualizzare una dashboard di Monitoring

I bilanciatori del carico delle applicazioni esportano i dati di monitoraggio in Cloud Monitoring.

Utilizza le metriche di Monitoring per i seguenti scopi:

  • Valutare la configurazione, l'utilizzo e le prestazioni di un bilanciatore del carico
  • Risoluzione dei problemi
  • Migliorare l'utilizzo delle risorse e l'esperienza utente

Per visualizzare una dashboard predefinita:

  1. Nella console Google Cloud , vai alla pagina Panoramica delle dashboard.

    Vai alla panoramica delle dashboard

  2. Nella sezione Categorie, fai clic su Google Cloud.
    • Per visualizzare un elenco di dashboard per tutti i tuoi bilanciatori del carico, nell'elenco Dashboard GCP, fai clic sulla dashboard denominata Bilanciatori del carico Google Cloud. Per visualizzare la dashboard di un bilanciatore del carico specifico, individua il bilanciatore del carico nell'elenco e fai clic sul nome.
    • Per visualizzare le dashboard predefinite solo per i tuoi bilanciatori del carico, seleziona la dashboard appropriata.

Oltre alle dashboard predefinite in Monitoring, puoi creare dashboard personalizzate, configurare avvisi ed eseguire query sulle metriche tramite l'API Cloud Monitoring.

Per saperne di più, consulta le pagine "Monitoraggio e risoluzione dei problemi" della documentazione del bilanciatore del carico delle applicazioni, ad esempio Logging e monitoraggio del bilanciatore del carico delle applicazioni interno.

Metriche di monitoraggio per i callout

Puoi monitorare le seguenti metriche per i servizi di backend di callout.

Nella Anteprima, puoi monitorare le seguenti metriche per le estensioni sui bilanciatori del carico delle applicazioni esterni regionali, sui bilanciatori del carico delle applicazioni interni regionali e sui bilanciatori del carico delle applicazioni interni tra regioni. Queste metriche hanno il prefisso networkservices.googleapis.com. Il prefisso viene omesso dalle voci nella tabella seguente.

La tabella seguente fornisce il tipo, il nome visualizzato, il tipo, l'unità e la descrizione di ogni metrica.

Tipo di metrica Nome visualizzato
Tipo, Tipo, Unità
Descrizione
extension/invocation_count Conteggio chiamate di estensioni
DELTAINT641
Il numero di chiamate inviate all'estensione.
extension/invocation_latencies Latenze di chiamata delle estensioni
DELTADISTRIBUTIONms
La distribuzione calcolata in base alla latenza di ogni chiamata di estensione.
extension/sent_chunks_count Conteggio chunk inviati dall'estensione
DELTAINT641
Applicabile solo per gli eventi request_body e response_body. Il numero di blocchi di dati inviati all'estensione.
extension/received_chunks_count Conteggio dei chunk ricevuti dell'estensione
DELTAINT641
Applicabile solo agli eventi request_body e response_body. Il numero di blocchi ricevuti dall'estensione.
extension/failed_open_count Chiamate di estensione non riuscite con fail-open
DELTAINT641
Il numero di volte in cui una chiamata non è riuscita quando il sistema è stato configurato per il fail-open e la richiesta è stata autorizzata a procedere.
extension/mutation_rejections_count Conteggio dei rifiuti di mutazione dell'estensione
DELTAINT641
Il numero di chiamate che hanno richiesto mutazioni di intestazione, corpo o trailer, ma sono state rifiutate. I rifiuti possono verificarsi per vari motivi, ad esempio quando la mutazione non è valida o supera i limiti di dimensioni.
extension/sent_bytes_count Conteggio byte inviati all'estensione
DELTAINT64By
Il numero di byte inviati all'estensione.
extension/received_bytes_count Conteggio byte ricevuti dall'estensione
DELTAINT64By
Il numero di byte ricevuti dall'estensione.

Puoi anche monitorare le seguenti metriche. Queste metriche hanno il prefisso loadbalancing.googleapis.com/. Il prefisso viene omesso dalle voci della tabella.

Tipo di metrica Nome visualizzato
Tipo, Tipo, Unità
Descrizione
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
Conteggio richieste backend
DELTAINT641
Il numero di volte in cui viene chiamato un servizio di backend di callout dal bilanciatore del carico delle applicazioni.
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
Byte richiesta backend
DELTAINT64By
Il numero di byte inviati dal bilanciatore del carico al servizio di backend callout.
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
Byte risposta backend
DELTAINT64By
Il numero di byte ricevuti dal bilanciatore del carico dal backend dell'estensione.
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
Latenza di backend
DELTADISTRIBUTIONms
Una distribuzione calcolata dalla somma delle latenze di ogni chiamata di estensione tra il bilanciatore del carico e il servizio di backend di callout. Campionamento eseguito ogni 60 secondi.

Passaggi successivi