Logging
Puoi abilitare, disabilitare e visualizzare i log per un servizio di backend esterno del bilanciatore del carico HTTP(S). Per i bilanciatori del carico HTTP(S) esterni con bucket di backend, il logging viene abilitato automaticamente e non può essere disabilitato.
Puoi abilitare o disabilitare il logging per ogni servizio di backend. Puoi configurare se registrare tutte le richieste o una frazione campionata in modo casuale.
Devi assicurarti di non avere un'esclusione dei log che si applica ai bilanciatori del carico HTTP(S) esterni. Per istruzioni su come verificare che i log Cloud HTTP Load
Balancer
siano consentiti, consulta Visualizzare le esclusioni dei tipi di risorse.
Abilitazione del logging su un nuovo servizio di backend
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic sul nome del bilanciatore del carico.
Fai clic su
Modifica.Fai clic su Configurazione backend.
Seleziona Crea un servizio di backend.
Compila i campi obbligatori per il servizio di backend.
Fai clic su Abilita il logging.
Imposta la probabilità di campionamento nel campo Frequenza di campionamento. Puoi impostare un numero compreso tra
0.0
e1.0
, dove0.0
indica che nessuna richiesta viene registrata e1.0
indica che il 100% delle richieste viene registrato. Il valore predefinito è1.0
.Per completare la modifica del servizio di backend, fai clic su Aggiorna.
Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.
gcloud: modalità Globale
Crea un servizio di backend e abilita il logging utilizzando il comando gcloud compute backend-services create
.
gcloud compute backend-services create BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL_MANAGED
dove
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con i bilanciatori del carico HTTP(S) esterni globali.--enable-logging
abilita il logging per il servizio di backend in questione.--logging-sample-rate
consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che non vengono registrate richieste e1.0
indica che viene registrato il 100% delle richieste. significativo solo con il parametro--enable-logging
. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
gcloud: modalità classica
Crea un servizio di backend e abilita il logging utilizzando il comando gcloud compute backend-services create
.
gcloud compute backend-services create BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL
dove
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con un bilanciatore del carico HTTP(S) esterno globale (classico).--enable-logging
abilita il logging per il servizio di backend in questione.--logging-sample-rate
consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che non vengono registrate richieste e1.0
indica che viene registrato il 100% delle richieste. significativo solo con il parametro--enable-logging
. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
Abilitazione del logging su un servizio di backend esistente
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic sul nome del bilanciatore del carico.
Fai clic su
Modifica.Fai clic su Configurazione backend.
Fai clic su
Modifica accanto al servizio di backend.Fai clic su Abilita il logging.
Imposta la probabilità di campionamento nel campo Frequenza di campionamento. Puoi impostare un numero compreso tra
0.0
e1.0
, dove0.0
indica che nessuna richiesta viene registrata e1.0
indica che il 100% delle richieste viene registrato. Il valore predefinito è1.0
.Per completare la modifica del servizio di backend, fai clic su Aggiorna.
Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.
gcloud: modalità Globale
Abilita il logging su un servizio di backend esistente con il comando gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE
dove
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con i bilanciatori del carico HTTP(S) esterni globali.--enable-logging
abilita il logging per il servizio di backend in questione.--logging-sample-rate
consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che non vengono registrate richieste e1.0
indica che viene registrato il 100% delle richieste. significativo solo con il parametro--enable-logging
. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
gcloud: modalità classica
Abilita il logging su un servizio di backend esistente con il comando gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE
dove
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con un bilanciatore del carico HTTP(S) esterno globale (classico).--enable-logging
abilita il logging per il servizio di backend in questione.--logging-sample-rate
consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che non vengono registrate richieste e1.0
indica che viene registrato il 100% delle richieste. significativo solo con il parametro--enable-logging
. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
Disabilitazione o modifica del logging su un servizio di backend esistente
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic sul nome del bilanciatore del carico.
Fai clic su
Modifica.Fai clic su Configurazione backend.
Fai clic su
Modifica accanto al servizio di backend.Deseleziona Abilita il logging per disabilitare completamente il logging.
Se lasci abilitato il logging, puoi impostare una diversa probabilità di campionamento nel campo Frequenza di campionamento. Puoi impostare un numero compreso tra
0.0
e1.0
, dove0.0
indica che non vengono registrate richieste e che1.0
indica che viene registrato il 100% delle richieste. Il valore predefinito è1.0
. Per ridurre il numero di log archiviati al 20%, imposta il valore su0.2
.Per completare la modifica del servizio di backend, fai clic su Aggiorna.
Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.
gcloud: modalità Globale
Disabilita il logging su un servizio di backend con il comando gcloud compute backend-services update
.
Disattivazione completa del logging
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --no-enable-logging
dove
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con i bilanciatori del carico HTTP(S) esterni globali.--region
indica che il servizio di backend è a livello di regione. Utilizza questo campo per i servizi di backend utilizzati con i bilanciatori del carico HTTP(S) esterni di una regione.--no-enable-logging
disabilita il logging per il servizio di backend in questione.
Modifica della frequenza di campionamento del logging
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --logging-sample-rate=VALUE
gcloud: modalità classica
Disabilita il logging su un servizio di backend con il comando gcloud compute backend-services update
.
Disattivazione completa del logging
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --no-enable-logging
dove
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con un bilanciatore del carico HTTP(S) esterno globale (classico).--no-enable-logging
disabilita il logging per il servizio di backend in questione.
Modifica della frequenza di campionamento del logging
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --logging-sample-rate=VALUE
dove
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con un bilanciatore del carico HTTP(S) esterno globale (classico).--logging-sample-rate
consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che non vengono registrate richieste e1.0
indica che viene registrato il 100% delle richieste. significativo solo con il parametro--enable-logging
. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging.
Visualizzazione dei log
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
I log HTTP(S) vengono indicizzati prima con una regola di forwarding, quindi con una mappa URL.
Per visualizzare i log, vai alla pagina Esplora log:
Per visualizzare tutti i log, nel menu del filtro Risorsa, seleziona Bilanciatore del carico HTTP Cloud > Tutte le regole di forwarding.
Per visualizzare i log per una regola di forwarding, seleziona il nome di una regola di forwarding.
Per visualizzare i log per una mappa URL, seleziona una regola di forwarding, quindi seleziona una mappa URL.
I campi di log di tipo booleano in genere vengono visualizzati solo se hanno il valore true
.
Se un campo booleano ha il valore false
, il campo viene omesso dal log.
La codifica UTF-8 viene applicata per i campi dei log. I caratteri che non sono UTF-8 vengono sostituiti con punti interrogativi.
Per un bilanciatore del carico HTTP(S) esterno globale (versione classica) e bilanciatori del carico HTTP(S) esterni globali, puoi esportare le metriche basate su log utilizzando i log delle risorse (resource.type="http_load_balancer"
). Le metriche create si basano sulla risorsa "Regola di bilanciamento del carico HTTP Cloud (metriche basate su log)" (l7_lb_rule
), disponibile nelle dashboard di Cloud Monitoring anziché nella risorsa https_lb_rule
.
Che cosa viene registrato
Le voci di log del bilanciatore del carico HTTP(S) esterno contengono informazioni utili per monitorare ed eseguire il debug del traffico HTTP(S). I record di log contengono campi obbligatori, ovvero i campi predefiniti di ogni record di log.
Campo | Formato del campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
---|---|---|---|
gravità timestamp insertID logName |
LogLog | Obbligatoria | I campi generali descritti in una voce di log. |
Richiesta HTTP | HttpRequest | Obbligatoria | Un protocollo comune per il logging delle richieste HTTP.
Il campo |
resource | Risorsa monitorata | Obbligatoria | MonitoredResource è il tipo di risorsa associato a una voce di log. MonitoredResourceDescriptor descrive lo schema di un oggetto |
jsonPayload | oggetto (formato Struct) | Obbligatoria | Il payload della voce di log espresso come oggetto JSON. L'oggetto JSON contiene i seguenti campi:
|
string | Obbligatoria | Il campo statusDetails
contiene una stringa che spiega perché il bilanciatore del carico ha restituito
lo stato HTTP di cui disponeva. Per ulteriori informazioni su queste stringhe di log,
consulta statusDetails messaggi di errore HTTP e
statusDetails messaggi di errore HTTP). |
Etichette risorse
La tabella seguente elenca le etichette delle risorse perresource.type="http_load_balancer"
.
Campo | Tipo | Description |
---|---|---|
backend_service_name |
string | Il nome del servizio di backend. |
forwarding_rule_name |
string | Il nome dell'oggetto della regola di forwarding. |
project_id |
string | L'identificatore del progetto Google Cloud associato a questa risorsa. |
target_proxy_name |
string | Il nome dell'oggetto proxy di destinazione a cui fa riferimento la regola di forwarding. |
url_map_name |
string | Il nome dell'oggetto della mappa URL configurato per la selezione di un servizio di backend. |
zone |
string | La zona in cui viene eseguito il bilanciatore del carico. La zona è global . |
statusDetails Messaggi di successo HTTP
statusDetails (esito positivo) | Significato | Codici di risposta di accompagnamento comuni |
---|---|---|
byte_range_caching
|
La richiesta HTTP è stata fornita utilizzando la cache dell'intervallo di byte di Cloud CDN. | Qualsiasi codice di risposta memorizzabile nella cache è possibile. |
response_from_cache
|
La richiesta HTTP è stata fornita da una cache di Cloud CDN. | Qualsiasi codice di risposta memorizzabile nella cache è possibile. |
response_from_cache_validated
|
Il codice di ritorno è stato impostato da una voce memorizzata nella cache di Cloud CDN, convalidata da un backend. | Qualsiasi codice di risposta memorizzabile nella cache è possibile. |
response_sent_by_backend
|
La richiesta HTTP è stata inviata correttamente al backend e la risposta è stata restituita dal backend. | Il codice di risposta HTTP è impostato dal software in esecuzione sul backend. |
statusDetails Messaggi di errore HTTP
statusDetails (errore) | Significato | Codici di risposta di accompagnamento comuni |
---|---|---|
aborted_request_due_to_backend_early_response
|
Una richiesta con corpo è stata interrotta a causa del backend che ha inviato una risposta in anteprima con un codice di errore. La risposta è stata inoltrata al client. La richiesta è stata terminata. | 4XX o 5XX |
backend_connection_closed_after_partial_response_sent
|
La connessione del backend si è chiusa inaspettatamente dopo l'invio di una risposta parziale al client. | Il codice di risposta HTTP è impostato dal software in esecuzione sul backend. Il codice di risposta HTTP 0 (zero) indica che il backend ha inviato intestazioni HTTP incomplete. |
backend_connection_closed_before_data_sent_to_client
|
Il backend ha chiuso inaspettatamente la connessione al bilanciatore del carico prima che la risposta venisse inviata al client. Questo può accadere se il bilanciatore del carico invia traffico a un'altra entità. L'altra entità potrebbe essere un bilanciatore del carico di terze parti con un timeout TCP inferiore al timeout di 10 minuti(600 secondi) del bilanciatore del carico HTTP(S) esterno. Il bilanciatore del carico di terze parti potrebbe essere in esecuzione su un'istanza VM. L'impostazione manuale di un timeout TCP (keepalive) su un servizio di destinazione superiore a 600 secondi potrebbe risolvere il problema. | 502 |
backend_early_response_with_non_error_status
|
Il backend ha inviato una risposta non di errore (1XX o 2XX) a una richiesta prima di ricevere l'intero corpo della richiesta. | 502 |
backend_interim_response_not_supported
|
Il backend ha inviato una risposta provvisoria 1XX alla richiesta in un contesto in cui le risposte provvisorie non sono supportate. | 502 |
backend_response_corrupted
|
Il corpo della risposta HTTP inviato dal backend presenta una codifica di trasferimento a blocchi non valida oppure è altrimenti danneggiato. | Qualsiasi codice di risposta possibile a seconda della natura del danneggiamento. Spesso 502. |
backend_response_headers_too_long
|
Le intestazioni della risposta HTTP inviate dal backend hanno superato il limite consentito. Per saperne di più, consulta la sezione Dimensioni intestazione per i bilanciatori del carico HTTP(S) esterni. | 502 |
backend_timeout
|
Timeout del backend durante la generazione di una risposta. | 502 |
banned_by_security_policy
|
La richiesta è stata esclusa da una regola di esclusione basata sulla tariffa di Google Cloud Armor. | 429 |
body_not_allowed
|
Il client ha inviato una richiesta HTTP con un corpo, ma il metodo HTTP utilizzato non consente un corpo. | 400 |
byte_range_caching_aborted
|
In precedenza, il bilanciatore del carico riceveva una risposta che indicava che la risorsa era memorizzabile nella cache e supportava intervalli di byte. Cloud CDN ha ricevuto una risposta incoerente (ad esempio, una con un codice di risposta diverso dai 206 contenuti parziali previsti). Questo accade quando si tenta di eseguire il riempimento della cache utilizzando una richiesta di intervallo di byte. Di conseguenza, il bilanciatore del carico ha interrotto la risposta al client. | XX |
byte_range_caching_forwarded_backend_response
|
In precedenza, il bilanciatore del carico riceveva una risposta che indicava che la risorsa era memorizzabile nella cache e supportava intervalli di byte. Cloud CDN ha ricevuto una risposta incoerente (ad esempio, una con un codice di risposta diverso dai 206 contenuti parziali previsti). Questo accade quando si tenta di eseguire il riempimento della cache utilizzando una richiesta di intervallo di byte. Il bilanciatore del carico ha quindi inoltrato la risposta incoerente al client. | Restituito dal backend, è possibile utilizzare qualsiasi codice di risposta. |
byte_range_caching_retrieval_abandoned
|
Il client ha annullato una richiesta di intervallo di byte o una richiesta di convalida avviata da Cloud CDN. | Restituito dal backend, è possibile utilizzare qualsiasi codice di risposta. |
byte_range_caching_retrieval_from_backend_failed_after_partial_response
|
Si è verificato un errore con una richiesta di intervallo di byte o di richiesta di convalida avviata da Cloud CDN. Fai riferimento alla voce di log corrispondente di Cloud Logging per la richiesta avviata da Cloud CDN per lo stato di backend dettagliato. | XX |
cache_lookup_failed_after_partial_response
|
Il bilanciatore del carico non è riuscito a fornire una risposta completa dalla cache di Cloud CDN a causa di un errore interno. | XX |
cache_lookup_timeout_after_partial_response
|
Timeout della ricerca nella cache di Cloud CDN perché il client non ha recuperato i contenuti in modo tempestivo. | XX |
client_disconnected_after_partial_response
|
La connessione al client è stata interrotta dopo che il bilanciatore del carico ha inviato una risposta parziale. | Restituito dal backend, è possibile utilizzare qualsiasi codice di risposta. |
client_disconnected_before_any_response
|
La connessione al client è stata interrotta prima che il bilanciatore del carico inviasse qualsiasi risposta. | 0 |
client_timed_out
|
Il Google Front End (GFE) ha disattivato la connessione del client a causa della mancanza di avanzamento durante il proxy della richiesta o della risposta. | 0 o 408 |
client_cert_invalid_rsa_key_size
|
Le dimensioni del foglio client o del certificato intermedio presentavano una dimensione della chiave RSA non valida. Per maggiori informazioni, consulta la pagina Errori registrati per connessioni chiuse. | 0 |
client_cert_unsupported_elliptic_curve_key
|
Un client o un certificato intermedio utilizza una curva ellittica non supportata. Per maggiori informazioni, consulta la sezione Errori registrati per connessioni chiuse. | 0 |
client_cert_unsupported_key_algorithm
|
Un certificato client o intermedio utilizza un algoritmo non RSA o non ECDSA. Per maggiori informazioni, consulta la sezione Errori registrati per connessioni chiuse. | 0 |
client_cert_pki_too_large
|
Il PKI da utilizzare per la convalida ha più di tre certificati intermedi che condividono le stesse informazioni relative alla chiave pubblica del soggetto e dell'oggetto. Per ulteriori informazioni, consulta la sezione Errori registrati per le connessioni chiuse. | 0 |
client_cert_chain_max_name_constraints_exceeded
|
Un certificato intermedio fornito per la convalida aveva più di dieci vincoli di nome. Per maggiori informazioni, consulta la sezione Errori registrati per connessioni chiuse. | 0 |
client_cert_chain_invalid_eku |
Il certificato client o la rispettiva emittente non ha Extended Key Usage (EKU) che include clientAuth . Per maggiori informazioni, consulta la sezione
Errori registrati per connessioni chiuse.
|
0 |
client_cert_validation_timed_out
|
È stato superato il limite di tempo durante la convalida della catena di certificati. Per maggiori informazioni, consulta la sezione Errori registrati per connessioni chiuse. | 0 |
client_cert_validation_search_limit_exceeded
|
Il limite di profondità o iterazione viene raggiunto durante il tentativo di convalida della catena di certificati. Per maggiori informazioni, consulta la sezione Errori registrati per connessioni chiuse. | 0 |
client_cert_validation_not_performed
|
Hai configurato mTLS senza configurare un TrustConfig .
Per maggiori informazioni, consulta la sezione
Errori registrati per connessioni chiuse.
|
0 |
client_cert_not_provided
|
Il client non ha fornito il certificato richiesto durante l'handshake. Per maggiori informazioni, consulta la sezione Errori registrati per connessioni chiuse. | 0 |
client_cert_validation_failed
|
La convalida del certificato client con TrustConfig non va a buon fine.
Per maggiori informazioni, consulta la sezione
Errori registrati per connessioni chiuse.
|
0 |
config_not_found
|
Il bilanciatore del carico non ha un backend configurato. | 404 o 503 |
direct_response
|
Il bilanciatore del carico ha sostituito questa richiesta e ha restituito una risposta fissa. | A seconda della natura del problema, potresti visualizzare del codice di risposta HTTP. Ad esempio, il codice di risposta HTTP 410 indica che il backend non è disponibile a causa di un'inadempienza del pagamento. |
denied_by_security_policy
|
Il bilanciatore del carico ha rifiutato questa richiesta a causa di un criterio di sicurezza di Google Cloud Armor. | Configurata nel criterio di sicurezza. |
error_uncompressing_gzipped_body
|
Si è verificato un errore durante la decompressione di una risposta HTTP gzip. | 503 |
failed_to_connect_to_backend
|
Il bilanciatore del carico non è riuscito a connettersi al backend. Sono inclusi i timeout durante la fase di connessione. | 502 |
failed_to_pick_backend
|
Il bilanciatore del carico non è riuscito a scegliere un backend integro per gestire la richiesta. | 502 |
failed_to_negotiate_alpn
|
Il bilanciatore del carico e il backend non sono riusciti a negoziare un protocollo a livello di applicazione (ad esempio HTTP/2) da utilizzare per comunicare tra loro tramite TLS. | 502 |
headers_too_long
|
Le intestazioni della richiesta erano superiori al massimo consentito. | 413 |
http_version_not_supported
|
Versione HTTP non supportata. Attualmente sono supportati solo HTTP 0.9, 1.0, 1.1 e 2.0. | 400 |
internal_error
|
Errore interno del bilanciatore del carico. Normalmente rappresenta un errore temporaneo nell'infrastruttura del bilanciatore del carico. Riprova a eseguire la query. | XXXX |
invalid_external_origin_endpoint
|
La configurazione per il backend esterno non è valida. Esamina la configurazione del NEG di Internet e assicurati che specifichi una porta e un indirizzo FQDN/IP validi. | XXXX |
invalid_request_headers
|
Le intestazioni delle richieste HTTP di un client non sono valide. | 400 |
invalid_http2_client_header_format
|
Le intestazioni HTTP/2 di un client non sono valide. | 400 |
multiple_iap_policies
|
Non è possibile combinare più criteri Identity-Aware Proxy (IAP). Se hai un criterio IAP collegato a un servizio di backend e un altro criterio collegato a un oggetto serverless, rimuovi uno dei criteri e riprova. Gli oggetti serverless includono App Engine, Cloud Run e Cloud Functions. | 500 |
malformed_chunked_body
|
Il corpo della richiesta è stato codificato in modo errato nel blocco. | 411 |
request_loop_detected
|
Il bilanciatore del carico ha rilevato un loop di richieste. Questo loop potrebbe essere causato da un'errata configurazione in cui il backend ha inoltrato nuovamente la richiesta al bilanciatore del carico. | 502 |
required_body_but_no_content_length
|
La richiesta HTTP richiede un corpo, ma le intestazioni della richiesta non includevano una lunghezza dei contenuti o un'intestazione decifrata con codifica di trasferimento. | 400 o 403 |
secure_url_rejected
|
È stata ricevuta una richiesta con un URL https:// tramite una connessione HTTP/1.1 in testo non crittografato. | 400 |
ssl_san_verification_failed
|
Il bilanciatore del carico non è riuscito a trovare un SAN (Subject Alternative Name) nel certificato SSL presentato dal backend che corrisponde al nome host configurato. | 502 |
ssl_certificate_chain_verification_failed
|
Il certificato SSL presentato dal backend non ha superato la verifica del certificato SSL. | 502 |
throttled_by_security_policy
|
La richiesta è stata bloccata da una regola di limitazione di Google Cloud Armor. | 429 |
unsupported_method
|
Il client ha fornito un metodo di richiesta HTTP non supportato. | 400 |
unsupported_100_continue
|
La richiesta del client includeva l 'intestazione "Expect: 100-continue" su un protocollo che non la supporta. | 400 |
upgrade_header_rejected
|
La richiesta HTTP del client conteneva l'intestazione Upgrade ed è stata rifiutata. | 400 |
websocket_closed
|
La connessione WebSocket è stata chiusa. | 101 |
websocket_handshake_failed
|
handshake WebSocket non riuscito. | Qualsiasi codice di risposta possibile a seconda della natura dell'errore di handshake. |
request_body_too_large
|
Il corpo della richiesta HTTP ha superato il numero massimo supportato dal backend. Non applicabile ai backend delle VM. | 413 |
handled_by_identity_aware_proxy
|
Questa risposta è stata generata da Identity-Aware Proxy durante la verifica dell'identità del client prima di consentire l'accesso. | 200, 302, 400, 401, 403, 500, 502 |
serverless_neg_routing_failed
|
La richiesta NEG serverless non può essere inviata. Questo errore può verificarsi quando la regione specificata nel NEG non è raggiungibile o quando non è possibile trovare il nome della risorsa, ad esempio il nome di Cloud Functions. | 404, 502 |
fault_filter_abort
|
Questo errore può verificarsi se il cliente ha configurato un filtro di errore e è stato attivato per la richiesta specificata. | Il valore deve essere compreso tra 200 e 599. |
Visualizza i log per la convalida del certificato client mTLS
Per visualizzare gli errori registrati per le connessioni chiuse durante la convalida del certificato client TLS reciproca, procedi nel seguente modo.
Query della console
Nella console Google Cloud, vai alla pagina Esplora log.
Fai clic sul pulsante di attivazione/disattivazione Mostra query.
Incolla quanto segue nel campo di query. Sostituisci
FORWARDING_RULE_NAME
con il nome della regola di forwarding.jsonPayload.statusDetails=~"client_cert" jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
Fai clic su Esegui query.
Logging per i bucket di backend
Il logging viene abilitato automaticamente per i bilanciatori del carico con bucket di backend. Non puoi modificare o disabilitare il logging per i bucket di backend.
Logging per Google Cloud Armor
La tabella per i messaggi di errore HTTP statusDetail
contiene alcuni messaggi che si applicano a Google Cloud Armor. Per ulteriori informazioni sui log di Google Cloud Armor, consulta Utilizzo del logging delle richieste.
Interazione con i log
Puoi interagire con i log del bilanciatore del carico HTTP(S) esterno utilizzando l'API Cloud Logging. L'API Logging offre modi per filtrare in modo interattivo i log con campi specifici impostati. Esporta i log corrispondenti in Cloud Logging, Cloud Storage, BigQuery o Pub/Sub. Per maggiori informazioni sull'API Logging, consulta la panoramica dell'API Cloud Logging.
Monitoraggio
Il bilanciatore del carico esporta i dati di monitoraggio in Cloud Monitoring.
Puoi utilizzare le metriche di monitoraggio per:
- Valuta la configurazione, l'utilizzo e le prestazioni di un bilanciatore del carico
- Risolvere i problemi
- Migliorare l'utilizzo delle risorse e l'esperienza utente
Oltre alle dashboard predefinite in Cloud Monitoring, puoi creare dashboard personalizzate, configurare avvisi ed eseguire query sulle metriche tramite l'API Cloud Monitoring.
Visualizzazione delle dashboard di Cloud Monitoring predefinite
Cloud Monitoring offre dashboard predefinite per monitorare i bilanciatori del carico. Queste dashboard vengono compilate automaticamente da Cloud Monitoring.
Per accedere alle dashboard predefinite, procedi nel seguente modo:
Vai a Monitoring nella console Google Cloud.
Nel pannello di navigazione di Monitoring, fai clic su Dashboard.
In Categorie, fai clic su GCP.
Per visualizzare un elenco di dashboard per tutti i bilanciatori del carico Google Cloud, seleziona la dashboard denominata Google Cloud Load Balances. 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 bilanciatori del carico HTTP(S) esterni, seleziona la dashboard denominata Bilanciatori del carico HTTP(S) esterni. Questa pagina mostra una dashboard che mostra i rapporti di risposta 5XX e la latenza di backend per tutti i bilanciatori del carico HTTP(S) esterni nel progetto. Fornisce inoltre un elenco di dashboard per tutti i bilanciatori del carico HTTP(S) esterni nel progetto.
Puoi fare clic sulla dashboard di ogni bilanciatore del carico. Ogni dashboard include quanto segue:- Grafici precompilati che mostrano le suddivisioni per le risposte in base alle classi del codice di risposta (5XX, 4XX, 3XX, 2XX)
- Latenza totale
- Latenza di backend
- RTT front-end
- Conteggio delle richieste
- Un link ai log per il bilanciatore del carico
Per visualizzare le dashboard per i servizi di terze parti, torna alla pagina Dashboard. In Categorie, fai clic su Altro.
- Per visualizzare una dashboard di servizi di terze parti specifica, individuala nell'elenco e fai clic sul suo nome.
Definizione dei criteri di avviso
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Puoi creare criteri di avviso per monitorare i valori delle metriche e per ricevere una notifica quando queste metriche violano una condizione.
- Nella console Google Cloud, vai alla pagina Monitoring.
- Nel riquadro di navigazione di Monitoring, seleziona notificationsAvvisi.
- Se non hai creato i tuoi canali di notifica e se vuoi ricevere una notifica, fai clic su Modifica canali di notifica e aggiungi i tuoi canali di notifica. Torna alla pagina Avvisi dopo aver aggiunto i canali.
- Nella pagina Avvisi, seleziona Crea criterio.
- Per selezionare la metrica, espandi il menu Seleziona una metrica e segui questi passaggi:
- Per limitare il menu alle voci pertinenti, inserisci
Google Cloud HTTP/S Load Balancing Rule
nella barra dei filtri. Se non visualizzi risultati dopo aver filtrato il menu, disattiva l'opzione Mostra solo risorse e metriche attive. - Per Tipo di risorsa, seleziona Regola di bilanciamento del carico HTTP/S di Google Cloud.
- Seleziona una Categoria della metrica e una Metrica, quindi seleziona Applica.
- Per limitare il menu alle voci pertinenti, inserisci
- Tocca Next (Avanti).
- Le impostazioni nella pagina Configura l'attivatore di avviso determinano quando l'avviso viene attivato. Seleziona un tipo di condizione e, se necessario, specifica una soglia. Per ulteriori informazioni, consulta Creare criteri di avviso relativi alle soglie di metrica.
- Tocca Next (Avanti).
- (Facoltativo) Per aggiungere notifiche al criterio di avviso, fai clic su Canali di notifica. Nella finestra di dialogo, seleziona uno o più canali di notifica dal menu e fai clic su OK.
- (Facoltativo) Aggiorna la Durata della chiusura automatica degli incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione, quindi aggiungi le informazioni che vuoi includere in un messaggio di notifica.
- Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.
- Fai clic su Crea criterio.
Definizione delle dashboard personalizzate di Cloud Monitoring
Puoi creare dashboard Cloud Monitoring personalizzate per le metriche del bilanciatore del carico:
Nella console Google Cloud, vai alla pagina Monitoring.
Seleziona Dashboard > Crea dashboard.
Fai clic su Aggiungi grafico, poi assegna un titolo al grafico.
Per identificare le serie temporali da visualizzare, scegli un tipo di risorsa e un tipo di metrica:
- Nella sezione Risorsa e metrica, fai clic sul grafico e poi nella sezione Seleziona una metrica, scegli una delle opzioni disponibili:
- Per un bilanciatore del carico HTTP(S) esterno globale, seleziona il tipo di risorsa Regola di bilanciamento del carico HTTP/S Google Cloud.
- Fai clic su Applica.
- Nella sezione Risorsa e metrica, fai clic sul grafico e poi nella sezione Seleziona una metrica, scegli una delle opzioni disponibili:
Per specificare i filtri di monitoraggio, fai clic su Filtri > Aggiungi filtro.
Fai clic su Salva.
Frequenza e fidelizzazione dei report sulle metriche
Le metriche per i bilanciatori del carico HTTP(S) esterni vengono esportate in Cloud Monitoring in batch di granularità di 1 minuto. I dati di monitoraggio vengono conservati per sei (6) settimane. Le metriche si basano sul traffico campionato (la frequenza di campionamento è dinamica e non può essere modificata). La dashboard fornisce analisi dei dati con intervalli predefiniti di 1 ora (un'ora), 6 ore (sei ore), 1 giorno (un giorno), 1 giorno (una settimana) e 6 ore (sei settimane). Puoi richiedere manualmente l'analisi in qualsiasi intervallo, da 6 W a 1 minuto.
Monitoraggio delle metriche
Puoi monitorare le seguenti metriche per i bilanciatori del carico HTTP(S) esterni.
Le seguenti metriche per i bilanciatori del carico HTTP(S) esterni globali sono registrate in Cloud Monitoring.
Queste metriche sono anteposte a loadbalancing.googleapis.com/
.
Metrica | Nome | Descrizione |
---|---|---|
Conteggio delle richieste | https/request_count |
Il numero di richieste gestite dal bilanciatore del carico HTTP(S) esterno |
Conteggio byte richiesta | https/request_bytes_count |
Il numero di byte inviati come richieste dai client al bilanciatore del carico HTTP(S) esterno |
Conteggio byte risposta | https/response_bytes_count |
Il numero di byte inviati come risposte dal bilanciatore del carico HTTP(S) esterno ai client |
Latenze totali | https/total_latencies |
Una distribuzione della latenza. La latenza è il tempo che intercorre tra il primo byte della richiesta ricevuto e l'ultimo byte della risposta inviata dal GFE. Le latenze totali vengono misurate in base alla richiesta/risposta. Le pause tra le richieste sulla stessa connessione che utilizzano Esempio: un bilanciatore del carico ha 1 richiesta al secondo dal Regno Unito, tutti con una latenza di 100 ms e 9 richieste al secondo dagli Stati Uniti, tutti con una latenza di 50 ms. In un determinato minuto ci sono state 60 richieste dal Regno Unito e 540 richieste dagli Stati Uniti. Il monitoraggio delle metriche preserva la distribuzione su tutte le dimensioni. Puoi richiedere informazioni quali:
|
RTT front-end* | https/frontend_tcp_rtt |
Una distribuzione del tempo di round trip (RTT) fluido misurata per ogni connessione tra il client e il GFE (misurata dallo stack TCP del GFE). Il valore RTT fluido è un algoritmo che gestisce le varianti e le anomalie che possono verificarsi nelle misurazioni RTT. |
Latenze di backend* | https/backend_latencies |
Una distribuzione della latenza misurata da quando il primo byte di richiesta è stato inviato dal GFE al backend, fino a quando GFE ha ricevuto dal backend l'ultimo byte della risposta. Per le connessioni WebSocket, le latenze di backend si applicano all'intera durata della sessione WebSocket. |
Frazione di classe del codice di risposta | Frazione delle risposte del bilanciatore del carico HTTP(S) esterno totale presenti in ogni classe di codice di risposta (2XX, 4XX, ...). In Cloud Monitoring questo valore è disponibile solo nelle dashboard predefinite. Non è disponibile per le dashboard personalizzate. Puoi utilizzare l'API per impostare degli avvisi. | |
Conteggio richieste di backend | https/backend_request_count |
Il numero di richieste inviate dal bilanciatore del carico HTTP(S) esterno ai backend. |
Conteggio byte richiesta di backend | https/backend_request_bytes_count |
Il numero di byte inviati come richieste dal bilanciatore del carico HTTP(S) esterno ai backend. |
Conteggio byte risposta back-end | https/backend_response_bytes_count |
Il numero di byte inviati come risposte dai backend (inclusa la cache) al bilanciatore del carico HTTP(S) esterno. |
Filtrare le dimensioni in base alle metriche
Puoi applicare filtri alle metriche per il bilanciatore del carico HTTP(S) esterno.
Le metriche vengono aggregate per ogni bilanciatore del carico HTTP(S) esterno globale. Puoi filtrare le metriche aggregate in base alle seguenti dimensioni per resource.type="http_load_balancer"
.
Proprietà | Descrizione |
---|---|
ambito_backend | L'ambito di Google Cloud (regione o zona) del gruppo di istanze di servizio di backend che ha gestito la connessione. Se nessun gruppo di istanze era disponibile oppure se la richiesta era gestita da un'altra entità, vedrai uno dei seguenti valori anziché l'area geografica o la zona del gruppo di istanze del servizio di backend.
Quando si sceglie questa suddivisione, i grafici mostrano le metriche di backend (bilanciatore da carico a backend), non le metriche di frontend (bilanciatore da client a carico). |
backend_scope = "backend_zone" | Se il gruppo di istanze era un gruppo di istanze a livello di zona, la zona Google Cloud del gruppo di istanze che ha gestito la richiesta del client. (Esempi:
us-central1-a , europe-west1-b ,
asia-east1-c )Quando si sceglie questa suddivisione, i grafici mostrano le metriche di backend (bilanciatore del carico al backend), non le metriche del frontend (bilanciatore da client a carico). |
backend_scope = "backend_region" | Se il gruppo di istanze era un gruppo di istanze a livello di regione, l'area geografica di Google Cloud del gruppo di istanze che ha gestito la richiesta del client. (Esempi:
us-central1 , europe-west1 ,
asia-east1 )Quando si sceglie questa suddivisione, i grafici mostrano le metriche di backend (bilanciatore del carico al backend), non le metriche del frontend (bilanciatore da client a carico). |
proxy_continente | Continente del GFE HTTP(S) che ha terminato la connessione HTTP(S).
(Esempi: America , Europe , Asia ) |
backend_type = "GRUPPO DI ISTANZE" | Il nome del gruppo di istanze che ha gestito la richiesta del client. Se non era disponibile alcun gruppo di istanze o se la richiesta era gestita da un'altra entità, vedrai uno dei seguenti valori anziché un gruppo di istanze.
Quando si sceglie questa suddivisione, i grafici mostrano le metriche di backend (bilanciatore da carico a backend), non le metriche di frontend (bilanciatore da client a carico). |
backend_target_type = "BACKEND_SERVICE" | Il nome del servizio di backend che ha gestito la richiesta. |
regola_percorso_URL_corrispondente | La regola del percorso della mappa URL che corrisponde al prefisso della richiesta HTTP(S) (fino a 50 caratteri). |
forwarding_rule_name | Il nome della regola di forwarding utilizzata dal client per inviare la richiesta. |
Passaggi successivi
- Leggi la panoramica dei log di Cloud CDN
- Scopri di più sulla memorizzazione nella cache.
- Scopri di più su URL e cookie firmati.