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 il logging per i callout del bilanciatore del carico delle applicazioni.
Abilitare 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 il logging per il servizio di backend di destinazione, utilizza il
gcloud compute backend-services update comando.
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 backendRATE: un valore compreso tra0.0e1.0, dove0.0significa che non vengono registrate richieste e1.0significa che viene registrato il 100% delle richieste. Il valore predefinito è1.0. Questa impostazione è efficace solo se utilizzata con ilenable-loggingparametro. Se omettienable-logging, il logging è disabilitato.REGION: la regione del backendLOGGING_OPTIONAL_MODE: abilita il logging per i campi facoltativi in una di queste modalità:INCLUDE_ALL_OPTIONALinclude tutti i campi facoltativi.EXCLUDE_ALL_OPTIONAL(impostazione predefinita) esclude tutti i campi facoltativi.CUSTOMinclude un elenco personalizzato di campi facoltativi.
OPTIONAL_FIELDS: un elenco separato da virgole di campi facoltativi quando selezioni la modalitàCUSTOM
Dopo aver abilitato il logging sul servizio di backend, le richieste HTTP o HTTPS vengono registrate utilizzando le richieste di log di Cloud Logging.
Per visualizzare i log, nella Google Cloud console, vai alla Esplora log pagina.
Per saperne di più, consulta le pagine "Monitorare e risolvere i problemi" della documentazione di bilanciatore del carico delle applicazioni, ad esempio Logging e monitoraggio di 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 visualizzate nella maggior parte dei Google Cloud log, come gravità, ID progetto, numero di progetto e timestamp, come descritto nel LogEntry.
- HttpRequestHttpRequest.
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 | 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 del servizio che corrisponde alla richiesta. |
extension |
string | Nome dell'estensione all'interno della catena di estensioni. |
failed_open |
boolean | Quando la configurazione dell'estensione ha failOpen
impostato su true, il valore true per questa metrica indica che
l'elaborazione è continuata quando l'estensione ha raggiunto il timeout 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 di statistiche CheckRequest per le estensioni ext_authz che si verificano nello stream gRPC.
|
per_processing_request_info[].event_type |
enum | Il tipo di evento di ProcessingRequest. Può essere uno dei seguenti:
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 ProcessingRequest
messaggio all'estensione al momento in cui viene ricevuto l'ultimo byte del
ProcessingResponse messaggio. |
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ò essere uno dei seguenti valori:
|
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, 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
- Risolvere i problemi
- Migliorare l'utilizzo delle risorse e l'esperienza utente
Per visualizzare una dashboard predefinita:
- Nella Google Cloud console, vai alla pagina Panoramica delle dashboard.
- Nella sezione Categorie, fai clic su GCP.
- 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 "Monitorare e risolvere i problemi" della documentazione di bilanciatore del carico delle applicazioni, ad esempio Logging e monitoraggio di bilanciatore del carico delle applicazioni interno.
Metriche di monitoraggio per i callout
Puoi monitorare le seguenti metriche per i servizi di backend dei callout.
In anteprima, puoi monitorare le seguenti metriche
per le estensioni su tutti i tipi di bilanciatori del carico delle applicazioni. Queste metriche hanno il prefisso
networkservices.googleapis.com. Il prefisso viene omesso dalle voci nella
tabella seguente.
La tabella seguente fornisce il tipo di metrica, il nome visualizzato, il tipo, l'unità e la descrizione per ogni metrica.
| Tipo di metrica | Nome visualizzato
Tipo, tipo, unità Descrizione |
|---|---|
extension/invocation_count
|
Conteggio chiamate di estensione
DELTA, INT64, 1
Il numero di chiamate inviate all'estensione. |
extension/invocation_latencies
|
Latenze di chiamata di estensione
DELTA, DISTRIBUTION, ms
La distribuzione calcolata dalla latenza di ogni chiamata di estensione. |
extension/sent_chunks_count
|
Conteggio blocchi inviati dall'estensione
DELTA, INT64, 1
Applicabile solo agli eventi request_body e response_body.
Il numero di blocchi di dati inviati all'estensione. |
extension/received_chunks_count
|
Conteggio blocchi ricevuti dall'estensione
DELTA, INT64, 1
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
DELTA, INT64, 1
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 rifiuti di mutazione dell'estensione
DELTA, INT64, 1
Il numero di chiamate che hanno richiesto mutazioni di intestazione, corpo o trailer, ma sono state rifiutate. I rifiuti possono verificarsi per una serie di motivi, ad esempio quando la mutazione non è valida o supera i limiti di dimensione. |
extension/sent_bytes_count
|
Conteggio byte inviati dall'estensione
DELTA, INT64, By
Il numero di byte inviati all'estensione. |
extension/received_bytes_count
|
Conteggio byte ricevuti dall'estensione
DELTA, INT64, By
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 nella 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
DELTA, INT64, 1
Il numero di volte in cui un servizio di backend di callout viene chiamato da Bilanciatore del carico delle applicazioni. |
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
|
Byte richieste backend
DELTA, INT64, By
Il numero di byte inviati dal bilanciatore del carico al servizio di backend del callout. |
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
|
Byte risposte backend
DELTA, INT64, By
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 backend
DELTA, DISTRIBUTION, ms
Una distribuzione calcolata dalla somma delle latenze di ogni chiamata di estensione tra il bilanciatore del carico e il servizio di backend del callout. Campionamento eseguito ogni 60 secondi. |