Logging
Puoi abilitare, disabilitare e visualizzare i log per un servizio di backend del bilanciatore del carico delle applicazioni esterno. Per i bilanciatori del carico delle applicazioni esterni con bucket di backend, il logging viene attivato automaticamente e non può essere disattivato.
Puoi attivare o disattivare 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 applichi ai bilanciatori del carico delle applicazioni esterni. Per informazioni su come verificare che i log Cloud HTTP Load
Balancer
siano consentiti, consulta
Filtri di esclusione.
Campionamento e raccolta dei log
Le richieste (e le risposte corrispondenti) gestite dalle istanze di macchine virtuali (VM) del backend del bilanciatore del carico vengono campionate. Queste richieste campionate vengono quindi
elaborate per generare i log. Controlli la frazione delle richieste emesse come voci di log in base al parametro logConfig.sampleRate
.
Quando logConfig.sampleRate
è 1.0
(100%), significa che i log vengono generati per tutte le richieste e scritti in Cloud Logging.
Campi facoltativi
I record di log contengono campi obbligatori e facoltativi. La sezione Cosa viene registrato elenca i campi facoltativi e quelli obbligatori. Tutti i campi obbligatori sono sempre inclusi. Puoi personalizzare i campi opzionali che vuoi conservare.
Se selezioni Includi tutti i campi facoltativi, tutti i campi facoltativi nel formato del record di log vengono inclusi nei log. Quando vengono aggiunti nuovi campi facoltativi al formato del record, i log includono automaticamente i nuovi campi.
Se selezioni Escludi tutti i campi facoltativi, tutti i campi facoltativi vengono omessi.
Se selezioni Personalizzato, puoi specificare i campi facoltativi da includere, ad esempio
tls.protocol,tls.cipher,orca_load_report.cpu_utilization,orca_load_report.mem_utilization
.
Per informazioni sulla personalizzazione dei campi facoltativi, vedi Attivare la registrazione su un nuovo servizio di backend.
Abilitazione del logging su un nuovo servizio di backend
Console
Nella Google Cloud console, 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 del servizio di backend.
Nella sezione Logging, seleziona la casella di controllo Abilita il logging.
Imposta una frazione per la 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
.(Facoltativo) Per includere tutti i campi facoltativi nei log, nella sezione Campi facoltativi, fai clic su Includi tutti i campi facoltativi.
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 attiva la registrazione 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 \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
Il comando gcloud compute backend-services create
supporta
i seguenti campi:
--global
indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con i bilanciatori del carico delle applicazioni esterni globali.--enable-logging
abilita il logging per il servizio di backend.--logging-sample-rate
ti consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che nessuna richiesta viene registrata e1.0
indica che il 100% delle richieste viene registrato. Questo campo è significativo solo con il parametro--enable-logging
. L'attivazione del logging, ma l'impostazione della frequenza di campionamento su0.0
equivale alla disattivazione del logging. Il valore predefinito è1.0
.--logging-optional
consente di specificare i campi facoltativi che vuoi includere nei log:INCLUDE_ALL_OPTIONAL
per includere tutti i campi facoltativi.EXCLUDE_ALL_OPTIONAL
(impostazione predefinita) per escludere tutti i campi facoltativi.CUSTOM
per includere un elenco personalizzato di campi facoltativi che specifichi inOPTIONAL_FIELDS
.
--logging-optional-fields
consente di specificare un elenco separato da virgole di campi facoltativi da includere nei log.Ad esempio,
tls.protocol,tls.cipher
può essere impostato solo seLOGGING_OPTIONAL_MODE
è impostato suCUSTOM
. Se utilizzi metriche personalizzate e vuoi registrare gli elementi del report di caricamento ORCA, impostaLOGGING_OPTIONAL_MODE
suCUSTOM
e specifica gli elementi da registrare nel campoOPTIONAL_FIELDS
. Ad esempio,orca_load_report.cpu_utilization,orca_load_report.mem_utilization
.
Abilitazione del logging su un servizio di backend esistente
Console
Nella Google Cloud console, 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.Nella sezione Logging, seleziona la casella di controllo 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 delle applicazioni esterni globali.--enable-logging
abilita il logging per il servizio di backend.--logging-sample-rate
ti consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che nessuna richiesta viene registrata e1.0
indica che il 100% delle richieste viene registrato. Significativo solo con il parametro--enable-logging
. L'attivazione del logging, ma l'impostazione della frequenza di campionamento su0.0
equivale alla disattivazione del 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 delle applicazioni classico.--enable-logging
abilita il logging per il servizio di backend.--logging-sample-rate
ti consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che nessuna richiesta viene registrata e1.0
indica che il 100% delle richieste viene registrato. Significativo solo con il parametro--enable-logging
. L'attivazione del logging, ma l'impostazione della frequenza di campionamento su0.0
equivale alla disattivazione del logging. Il valore predefinito è1.0
.
Disattivare o modificare il logging su un servizio di backend esistente
Console
Nella Google Cloud console, 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.Per disattivare completamente la registrazione, nella sezione Registrazione, deseleziona la casella di controllo Abilita la registrazione.
Se lasci abilitato il logging, puoi impostare una frazione diversa per la 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
. Ad esempio,0.2
significa che il 20% delle richieste campionate genera log.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
Disattiva il logging su un servizio di backend con il
comando gcloud compute backend-services update
.
Disattivare completamente il 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 delle applicazioni esterni globali.--no-enable-logging
disabilita la registrazione per il servizio di backend.
Abilitare i campi facoltativi di logging su un servizio di backend esistente
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
dove
--logging-sample-rate
ti consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che nessuna richiesta viene registrata e1.0
indica che il 100% delle richieste viene registrato. Significativo solo con il parametro--enable-logging
. L'attivazione del logging, ma l'impostazione della frequenza di campionamento su0.0
equivale alla disattivazione del logging. Il valore predefinito è1.0
.--logging-optional
consente di specificare i campi facoltativi che vuoi includere nei log:INCLUDE_ALL_OPTIONAL
per includere tutti i campi facoltativi.EXCLUDE_ALL_OPTIONAL
(impostazione predefinita) per escludere tutti i campi facoltativi.CUSTOM
per includere un elenco personalizzato di campi facoltativi che specifichi inOPTIONAL_FIELDS
.
--logging-optional-fields
consente di specificare un elenco separato da virgole di campi facoltativi da includere nei log.Ad esempio,
tls.protocol,tls.cipher
può essere impostato solo seLOGGING_OPTIONAL_MODE
è impostato suCUSTOM
. Se utilizzi metriche personalizzate e vuoi registrare gli elementi del report di caricamento ORCA, impostaLOGGING_OPTIONAL_MODE
suCUSTOM
e specifica gli elementi da registrare nel campoOPTIONAL_FIELDS
. Ad esempio,orca_load_report.cpu_utilization,orca_load_report.mem_utilization
.
Aggiornamento della modalità facoltativa di logging da CUSTOM ad altre
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=
dove
--logging-optional
consente di specificare i campi facoltativi che vuoi includere nei log:INCLUDE_ALL_OPTIONAL
per includere tutti i campi facoltativi.EXCLUDE_ALL_OPTIONAL
(impostazione predefinita) per escludere tutti i campi facoltativi.
--logging-optional-fields
deve essere configurato in modo esplicito come mostrato per cancellare eventuali campiCUSTOM
esistenti. L'API non consente di combinare una modalità nonCUSTOM
con campiCUSTOM
.
Modificare la frequenza di campionamento del logging
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --logging-sample-rate=VALUE
gcloud: modalità classica
Disattiva il logging su un servizio di backend con il
comando gcloud compute backend-services update
.
Disattivare completamente il 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 delle applicazioni classico.--no-enable-logging
disabilita la registrazione per il servizio di backend.
Modificare la 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 delle applicazioni classico.--logging-sample-rate
ti consente di specificare un valore compreso tra0.0
e1.0
, dove0.0
indica che nessuna richiesta viene registrata e1.0
indica che il 100% delle richieste viene registrato. Significativo solo con il parametro--enable-logging
. L'attivazione del logging, ma l'impostazione della frequenza di campionamento su0.0
equivale alla disattivazione del logging.
Visualizza i log
Per seguire le indicazioni dettagliate per questa attività direttamente nella Google Cloud console, fai clic su Procedura guidata:
I log HTTP(S) vengono indicizzati prima da una regola di forwarding, poi da 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 singola regola di forwarding.
Per visualizzare i log per una mappa URL, seleziona una regola di forwarding e poi una mappa URL.
I campi dei log di tipo booleano in genere vengono visualizzati solo se hanno un valore
true
. Se un campo booleano ha un valore false
, viene omesso dal log.
La codifica UTF-8 è applicata in modo forzato per i campi di log. I caratteri non UTF-8 vengono sostituiti con punti interrogativi.
Per i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni 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 del bilanciatore del carico delle applicazioni (metriche basate su log) (l7_lb_rule
), disponibile nei dashboard di Cloud Monitoring anziché nella risorsa https_lb_rule
.
Che cosa viene registrato
Le voci di log del bilanciatore del carico delle applicazioni esterno contengono informazioni utili per monitorare ed eseguire il debug del traffico HTTP(S). I record di log contengono campi obbligatori, che sono i campi predefiniti di ogni record di log.
I record di log contengono campi facoltativi che aggiungono informazioni aggiuntive sul traffico HTTP(S). Possono essere omessi per risparmiare sui costi di archiviazione.
Alcuni campi di log sono in formato multi-campo, con più di un dato in un determinato campo. Ad esempio, il campotls
è in formato TlsInfo
, che contiene il campo earlyDataRequest
.
Questi campi multifield sono descritti nella tabella seguente relativa al formato del record.
Campo | Formato del campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
---|---|---|---|
severity insertID logName |
LogEntry | Obbligatorio | I campi generali come descritti in una voce di log. |
timestamp | string (Timestamp format) | Facoltativo | L'ora in cui il primo livello GFE riceve la richiesta. |
httpRequest | HttpRequest | Obbligatorio | Un protocollo comune per la registrazione delle richieste HTTP.
|
resource | MonitoredResource | Obbligatorio | MonitoredResource è il tipo di risorsa associato a una voce di log. MonitoredResourceDescriptor
descrive lo schema di un oggetto |
jsonPayload | object (Struct format) | Obbligatorio | Il payload della voce di log espresso come oggetto JSON. L'oggetto JSON
contiene i seguenti campi:
|
string | Obbligatorio | Il campo statusDetails
contiene una stringa che spiega perché il bilanciatore del carico ha restituito
il codice di stato HTTP. Per ulteriori informazioni su queste stringhe
di log, consulta
Messaggi di esito positivo HTTP statusDetails e
Messaggi di errore HTTP statusDetails. |
|
string | Obbligatorio | Il campo backendTargetProjectNumber contiene il numero del progetto in cui è stata creata la destinazione di backend, ovvero il servizio di backend o il bucket di backend. Questo campo è nel formato:
"projects/PROJECT_NUMBER" . Queste informazioni sono
disponibili solo per i bilanciatori del carico delle applicazioni esterni globali che utilizzano risposte di errore
personalizzate. |
|
integer | Obbligatorio | overrideResponseCode contiene il codice di risposta di override
applicato alla risposta inviata al client. Queste informazioni sono
disponibili solo per i bilanciatori del carico delle applicazioni esterni globali che utilizzano risposte di errore
personalizzate. |
|
string | Obbligatorio | Il campo errorService contiene il servizio di backend che
ha fornito la risposta di errore personalizzata. Queste informazioni sono
disponibili solo per i bilanciatori del carico delle applicazioni esterni globali che utilizzano risposte di errore
personalizzate. |
|
string | Obbligatorio | Il campo errorBackendStatusDetails contiene il
statusDetails della risposta finale restituita al client.
Queste informazioni sono disponibili solo per i bilanciatori del carico delle applicazioni esterni globali che utilizzano risposte di errore
personalizzate. |
|
AuthzPolicyInfo | Obbligatorio | Il campo authzPolicyInfo memorizza le informazioni sul
risultato del criterio di autorizzazione. Queste informazioni sono disponibili solo per i
bilanciatori del carico delle applicazioni esterni globali che hanno abilitato le
norme di autorizzazione. Per saperne di più, consulta
quali informazioni vengono registrate per le policy di autorizzazione. |
|
string | Facoltativo | Il campo loadBalancingScheme viene compilato solo se
utilizzi la funzionalità di migrazione del bilanciatore del carico delle applicazioni classico. Questo campo contiene una stringa che descrive lo schema di bilanciamento del carico utilizzato per instradare la richiesta. I valori possibili sono EXTERNAL o EXTERNAL_MANAGED . |
|
TlsInfo | Obbligatorio | Il campo Utilizza il parametro
Non puoi impostare |
|
OrcaLoadReport | Facoltativo | Il campo Utilizza il parametro
Puoi anche impostare |
Formato del campo TlsInfo
Campo | Formato del campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
---|---|---|---|
protocollo | string | Facoltativo | Protocollo TLS utilizzato dai client per stabilire una connessione con il
bilanciatore del carico. I valori possibili sono TLSv1 ,
TLSv1.1 , TLSv1.2 , TLSv1.3 ,
o QUIC .
Questo valore è impostato su NULL se il client non utilizza la crittografia TLS/SSL.
|
cipher | string | Facoltativo | Crittografia TLS utilizzata dai client per stabilire una connessione con il bilanciatore del carico. Questo valore è impostato su NULL se il client non utilizza HTTP(S) o la crittografia TLS/SSL.
|
earlyDataRequest | boolean | Obbligatorio | La richiesta include dati preliminari nel TLS handshake. |
Etichette risorse
La tabella seguente elenca le etichette risorse per
resource.type="http_load_balancer"
.
Campo | Tipo | Descrizione |
---|---|---|
backend_service_name |
string | Il nome del servizio di backend. |
forwarding_rule_name |
string | Il nome dell'oggetto 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 mappa URL configurato per selezionare un servizio di backend. |
zone |
string | La zona in cui è in esecuzione il bilanciatore del carico. La zona è
global . |
statusDetails HTTP success messages
statusDetails (riuscito) | Significato | Codici di risposta di accompagnamento comuni |
---|---|---|
byte_range_caching
|
La richiesta HTTP è stata gestita utilizzando la memorizzazione nella cache dell'intervallo di byte di Cloud CDN. | È possibile qualsiasi codice di risposta memorizzabile nella cache. |
response_from_cache
|
La richiesta HTTP è stata pubblicata da una cache Cloud CDN. | È possibile qualsiasi codice di risposta memorizzabile nella cache. |
response_from_cache_validated
|
Il codice restituito è stato impostato da una voce memorizzata nella cache di Cloud CDN convalidata da un backend. | È possibile qualsiasi codice di risposta memorizzabile nella cache. |
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. |
Messaggi di errore HTTP statusDetails
statusDetails (failure) | Significato | Codici di stato di accompagnamento comuni |
---|---|---|
aborted_request_due_to_backend_early_response
|
Una richiesta con corpo è stata interrotta perché il backend ha inviato una risposta anticipata con un codice di stato. La risposta è stata inoltrata al cliente. La richiesta è stata terminata. | 4XX o 5XX
|
backend_connection_closed_after_partial_response_sent
|
La connessione di backend si è chiusa in modo imprevisto dopo l'invio di una risposta parziale al client. | Il codice di stato HTTP viene impostato dal software in esecuzione sul backend.
Il codice di stato HTTP Il codice di stato HTTP è |
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 tramite proxy al client. | 502, 503 Il codice di stato HTTP è |
backend_early_response_with_non_error_status
|
Il backend ha inviato un codice di stato senza errori
(1XX o 2XX ) a una richiesta prima di
ricevere l'intero corpo della richiesta.
|
502 , 503
|
backend_interim_response_not_supported
|
Il backend ha inviato un codice di stato provvisorio 1XX alla
richiesta in un contesto in cui le risposte provvisorie non sono supportate.
|
|
backend_response_corrupted
|
Il corpo della risposta HTTP inviato dal backend ha una codifica trasferimento in blocchi non valida o è danneggiato. | Qualsiasi codice di stato possibile a seconda della natura del danneggiamento.
Spesso 502 , 503 .
|
backend_response_headers_too_long
|
Le intestazioni di risposta HTTP inviate dal backend hanno superato il limite consentito. Per ulteriori informazioni, consulta la sezione Dimensione intestazione per i bilanciatori del carico delle applicazioni esterni. | 502 , 503
|
backend_timeout
|
Il backend ha raggiunto il timeout durante la generazione di una risposta. Per una connessione websocket:
|
Il codice di stato HTTP è |
banned_by_security_policy
|
La richiesta è stata vietata da una regola di divieto basata sulla frequenza di 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
|
Il bilanciatore del carico ha ricevuto in precedenza una risposta che indicava che la
risorsa era memorizzabile nella cache e supportava gli intervalli di byte. Cloud CDN
ha ricevuto una risposta incoerente (ad esempio, una con un codice di stato
diverso da 206 Partial Content ). Ciò è accaduto
durante il tentativo 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.
|
2XX
|
byte_range_caching_forwarded_backend_response
|
Il bilanciatore del carico ha ricevuto in precedenza una risposta che indicava che la
risorsa era memorizzabile nella cache e supportava gli intervalli di byte. Cloud CDN
ha ricevuto una risposta incoerente (ad esempio, una con un codice di stato
diverso da 206 Partial Content ). Ciò è accaduto
durante il tentativo 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 qualsiasi codice di stato. |
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 qualsiasi codice di stato. |
byte_range_caching_retrieval_from_backend_failed_after_partial_response
|
Si è verificato un errore in una richiesta di intervallo di byte o di convalida avviata da Cloud CDN. Fai riferimento alla voce di log di Cloud Logging corrispondente per la richiesta avviata da Cloud CDN per lo stato dettagliato del backend. | 2XX
|
cache_lookup_failed_after_partial_response
|
Il bilanciatore del carico non è riuscito a pubblicare una risposta completa dalla cache di Cloud CDN a causa di un errore interno. | 2XX
|
cache_lookup_timeout_after_partial_response
|
Il flusso di ricerca nella cache di Cloud CDN è scaduto perché il client non ha recuperato i contenuti in modo tempestivo. | 2XX
|
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 qualsiasi codice di stato. Il codice di stato HTTP è |
client_disconnected_before_any_response
|
La connessione al client è stata interrotta prima che il bilanciatore del carico inviasse una risposta. |
Il codice di stato HTTP è |
client_timed_out
|
Il Google Front End (GFE) ha interrotto la connessione client a causa della mancanza di avanzamento durante il proxy della richiesta o della risposta. | 0 o 408
|
client_cert_invalid_rsa_key_size
|
Un certificato intermedio o foglia client aveva una dimensione della chiave RSA non valida. Per saperne di più, vedi Errori registrati per le connessioni chiuse. | 0
|
client_cert_unsupported_elliptic_curve_key
|
Un certificato client o intermedio utilizza una curva ellittica non supportata. Per saperne di più, vedi Errori registrati per le connessioni chiuse. | 0
|
client_cert_unsupported_key_algorithm
|
Un certificato client o intermedio utilizza un algoritmo non RSA o non ECDSA. Per saperne di più, vedi Errori registrati per le connessioni chiuse. | 0
|
client_cert_pki_too_large
|
La PKI da utilizzare per la convalida ha più di dieci certificati intermedi che condividono lo stesso nome soggetto e le stesse informazioni sulla chiave pubblica del soggetto. Per ulteriori informazioni, consulta 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 saperne di più, vedi Errori registrati per le connessioni chiuse. | 0
|
client_cert_chain_invalid_eku |
Il certificato client o il relativo emittente non dispone di
Utilizzo chiave esteso
(EKU) che include clientAuth . Per saperne di più, vedi
Errori registrati per le connessioni chiuse.
|
0
|
client_cert_validation_timed_out
|
Tempo limite superato durante la convalida della catena di certificati. Per saperne di più, vedi Errori registrati per le connessioni chiuse. | 0
|
client_cert_validation_search_limit_exceeded
|
È stato raggiunto il limite di profondità o di iterazione durante il tentativo di convalidare la catena di certificati. Per saperne di più, vedi Errori registrati per le connessioni chiuse. | 0
|
client_cert_validation_not_performed
|
Hai configurato mTLS senza impostare un TrustConfig .
Per saperne di più, vedi
Errori registrati per le connessioni chiuse.
|
0
|
client_cert_not_provided
|
Il client non ha fornito il certificato richiesto durante l'handshake. Per saperne di più, vedi Errori registrati per le connessioni chiuse. | 0
|
client_cert_validation_failed
|
La convalida del certificato client non va a buon fine con TrustConfig
quando vengono utilizzati algoritmi di hashing come MD4, MD5 e SHA-1.
Per saperne di più, vedi
Errori registrati per le connessioni chiuse.
|
0
|
config_not_found
|
Manca la configurazione del progetto per il bilanciatore del carico. Questo può verificarsi in modo intermittente dopo aver apportato modifiche alla configurazione che aggiungono una nuova risorsa. Un'altra causa dell'errore è che il GFE del primo livello non riesce a comunicare con il GFE del secondo livello. Ciò può essere dovuto a un errore interno, ad esempio un rollout in corso, un sovraccarico del bilanciatore del carico o problemi di configurazione intermittenti. Questi errori sono di natura temporanea e dovrebbero rientrare ampiamente nell'SLA. Tuttavia, se il tasso di errore supera lo 0,01%, contatta l'assistenzaGoogle Cloud per ulteriore assistenza. |
404 , 502 , 503
|
direct_response
|
Il bilanciatore del carico ha ignorato questa richiesta e ha restituito una risposta fissa. | A seconda della natura del problema, potresti visualizzare qualsiasi codice di stato HTTP. Ad esempio, il codice di stato HTTP 410 indica che
il backend non è disponibile a causa di un mancato pagamento.
|
denied_by_security_policy
|
Il bilanciatore del carico ha negato questa richiesta a causa di un criterio di sicurezza Google Cloud Armor. | Configurato nella policy di sicurezza. |
error_uncompressing_gzipped_body
|
Si è verificato un errore durante la decompressione di una risposta HTTP compressa con gzip. | 502 , 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 , 503 |
failed_to_pick_backend
|
Il bilanciatore del carico non è riuscito a selezionare un backend integro per gestire la richiesta. | 502 , 503
|
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 , 503
|
headers_too_long
|
Le intestazioni della richiesta erano più grandi del massimo consentito. | 413
|
http_version_not_supported
|
Versione HTTP non supportata. Sono supportati solo i protocolli HTTP 0.9, 1.0, 1.1 e 2.0. | 400
|
internal_error
|
Errore interno nel bilanciatore del carico. In genere rappresenta un errore temporaneo nell'infrastruttura del bilanciatore del carico. Riprova a eseguire la query. | 4XX o 5XX
|
invalid_external_origin_endpoint
|
La configurazione del backend esterno non è valida. Esamina la configurazione del NEG internet e assicurati che specifichi un FQDN/indirizzo IP e una porta validi. | 4XX
|
invalid_request_headers
|
Le intestazioni delle richieste HTTP ricevute da un client contengono almeno un carattere non consentito in base a una specifica HTTP applicabile. Ad esempio, i nomi dei campi di intestazione che includono virgolette doppie
( Per ulteriori informazioni, vedi: |
400
|
invalid_http2_client_header_format
|
Le intestazioni HTTP/2 di un client non sono valide. Per ulteriori informazioni, vedi
invalid_request_headers .
|
400
|
invalid_http2_client_request_path
|
Il percorso della richiesta HTTP/2 da un client contiene almeno un carattere non consentito in base alla specifica URI. Per ulteriori informazioni, consulta la sezione "3.3. Sezione "Path" di RFC 3986. |
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 Run Functions. | 500
|
malformed_chunked_body
|
Il corpo della richiesta è stato codificato in modo errato. | 411
|
request_loop_detected
|
Il bilanciatore del carico ha rilevato un loop di richieste. Questo loop potrebbe essere causato da una configurazione errata in cui il backend ha inoltrato la richiesta al bilanciatore del carico. | 502 , 503
|
required_body_but_no_content_length
|
La richiesta HTTP richiede un corpo, ma le intestazioni della richiesta non includono un'intestazione con lunghezza del contenuto o trasferimento codificato a blocchi. | 400 , 403 , 411
|
secure_url_rejected
|
È stata ricevuta una richiesta con
un URL https://
tramite una connessione HTTP/1.1 in testo non crittografato.
|
400
|
server_cert_chain_exceeded_limit
|
La catena di certificati server è troppo lunga (più di 10 certificati intermedi inclusi nel certificato server). | 502 , 503 |
|
Il certificato del server ha un
campo di estensione Extended Key Usage (EKU) , ma questo campo non include serverAuth . |
|
|
Un certificato intermedio fornito per la convalida aveva più di 10 vincoli relativi ai nomi. | 502 , 503 |
server_cert_exceeded_size_limit
|
Il payload del certificato del server (inclusi eventuali certificati intermedi) è troppo grande (più di 16 KB). | 503 |
server_cert_invalid_rsa_key_size
|
Un server o un certificato intermedio ha una dimensione della chiave RSA non valida. Non viene eseguita alcuna convalida. Le chiavi RSA possono variare da 2048 a 4096 bit. |
503 |
server_cert_not_provided
|
Il server non ha fornito il certificato richiesto durante l'handshake. | 503 |
server_cert_pki_too_large
|
La PKI da utilizzare per la convalida ha più di dieci certificati intermedi che condividono lo stesso oggetto e le stesse informazioni sulla chiave pubblica dell'oggetto. Non viene eseguita alcuna convalida. |
503 |
server_cert_trust_config_not_found
|
TrustConfig corrispondente non trovato.
|
503 |
server_cert_unsupported_elliptic_curve_key
|
Un server o un certificato intermedio utilizza una curva ellittica non supportata. Non viene eseguita alcuna convalida. Le curve valide sono P-256 e P-384. |
503 |
server_cert_unsupported_key_algorithm
|
Un server o un certificato intermedio utilizza un algoritmo non RSA o non ECDSA. Non viene eseguita alcuna convalida. |
503 |
server_cert_validation_internal_error
|
Errore interno durante la convalida della catena di certificati. | 503 |
server_cert_validation_not_performed
|
Hai configurato mTLS senza configurare una risorsa |
503 |
server_cert_validation_search_limit_exceeded
|
È stato raggiunto il limite di profondità o iterazione durante il tentativo di convalidare la catena di certificati. La profondità massima per una catena di certificati è dieci, inclusi i certificati radice e server. Il numero massimo di iterazioni è 100 (certificati esaminati per convalidare la catena di certificati del server). |
503 |
server_cert_validation_timed_out
|
Il limite di tempo è stato superato durante il tentativo di convalidare la catena di certificati. | 503 |
server_cert_validation_unavailable
|
Il servizio non è in grado di eseguire la convalida della catena di certificati. | 503 |
ssl_certificate_san_verification_failed
|
Il bilanciatore del carico non riesce a trovare un nome alternativo del soggetto (SAN) nel certificato SSL presentato dal backend che corrisponde al nome host configurato. | 502 , 503
|
ssl_certificate_chain_verification_failed
|
La verifica del certificato SSL non è riuscita per il certificato SSL presentato dal backend. | 502 , 503
|
throttled_by_security_policy
|
La richiesta è stata bloccata da una regola di limitazione di 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 client conteneva l'intestazione Upgrade ed è stata rifiutata. | 400
|
websocket_closed
|
La connessione websocket è stata chiusa. | 101
|
websocket_handshake_failed
|
L'handshake websocket non è riuscito. | Qualsiasi codice di stato possibile a seconda della natura dell'errore di handshake. |
request_body_too_large
|
Il corpo della richiesta HTTP ha superato il limite massimo supportato dal backend. Non applicabile ai backend 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. |
|
serverless_neg_routing_failed
|
La richiesta NEG serverless non può essere inviata. Questo errore può verificarsi quando non è possibile raggiungere la regione specificata nel NEG o quando non è possibile trovare il nome della risorsa (ad esempio, il nome delle funzioni Cloud Run). | 404 , 502 , 503
|
fault_filter_abort
|
Questo errore può verificarsi se il cliente ha configurato un filtro per i guasti e il filtro per i guasti è stato attivato per la richiesta specificata. | Il valore deve essere compreso tra 200 e 599 .
|
early_data_rejected
|
La richiesta inviata nei dati iniziali TLS non era valida. Ciò potrebbe verificarsi nei seguenti casi, ma non solo:
|
425 |
Visualizzare 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 reciproco, completa i seguenti passaggi.
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 della 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.
Log delle richieste di policy di autorizzazione
L'oggetto authz_info
nel payload JSON della voce di log del bilanciatore del carico contiene
informazioni sulle norme di autorizzazione. Puoi configurare metriche basate sui log
per il traffico consentito o negato da questi criteri. Controlla ulteriori
dettagli del log delle norme di autorizzazione.
Campo | Tipo | Descrizione |
---|---|---|
authz_info.policies[] |
oggetto | L'elenco dei criteri che corrispondono alla richiesta. |
authz_info.policies[].name |
string | Il nome del criterio di autorizzazione che corrisponde alla richiesta.
Il nome è vuoto per i seguenti motivi:
|
authz_info.policies[].result |
enum | Il risultato può essere ALLOWED o DENIED . |
authz_info.policies[].details |
string | I dettagli includono quanto segue:
|
authz_info.overall_result |
enum | Il risultato può essere ALLOWED o DENIED . |
Logging per i bucket di backend
Il logging viene abilitato automaticamente per i bilanciatori del carico con bucket di backend. Non puoi modificare o disattivare la registrazione per i bucket di backend.
Logging per Cloud Armor
La tabella per i messaggi di errore HTTP statusDetail
contiene alcuni messaggi che
si applicano a Cloud Armor. Per saperne di più su cosa registra Cloud Armor, consulta Utilizzare il logging delle richieste.
Logging per i deployment VPC condiviso
I log e le metriche del bilanciatore del carico delle applicazioni vengono in genere esportati nel progetto che contiene la regola di forwarding. Pertanto, gli amministratori dei servizi, ovvero i proprietari o gli utenti dei progetti in cui viene creato il servizio di backend, non avranno accesso ai log e alle metriche del bilanciatore del carico per impostazione predefinita. Puoi utilizzare i ruoli IAM per concedere queste autorizzazioni agli amministratori dei servizi. Per saperne di più sui ruoli IAM disponibili e sui passaggi per fornire l'accesso, consulta Concedere l'accesso a Monitoring.
Interagire con i log
Puoi interagire con i log del bilanciatore del carico delle applicazioni esterno utilizzando l'API Cloud Logging. L'API Logging fornisce modi per filtrare in modo interattivo i log in cui sono impostati campi specifici. Esporta i log corrispondenti in Cloud Logging, Cloud Storage, BigQuery o Pub/Sub. Per ulteriori informazioni sull'API Logging, consulta la panoramica dell'API Logging.
Monitoraggio
Il bilanciatore del carico esporta i dati di monitoraggio in Monitoring.
Puoi utilizzare le metriche di monitoraggio per:
- 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
Oltre alle dashboard predefinite in Monitoring, puoi creare dashboard personalizzate, configurare avvisi ed eseguire query sulle metriche tramite l'API Cloud Monitoring.
Visualizzazione delle dashboard predefinite di Cloud Monitoring
Cloud Monitoring fornisce dashboard predefinite per monitorare i tuoi bilanciatori del carico. Queste dashboard vengono compilate automaticamente da Monitoring.
I bilanciatori del carico non vengono visualizzati come risorsa che può essere monitorata a meno che non esista un bilanciatore del carico nel progetto corrente.
Per accedere alle dashboard predefinite:
Nella console Google Cloud , vai alla pagina Monitoring.
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 tuoi bilanciatori del carico Google Cloud , seleziona la 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 suo nome.
Per visualizzare le dashboard predefinite solo per i bilanciatori del carico delle applicazioni esterni, seleziona la dashboard denominata Bilanciatori del carico HTTP(S) esterni. Questa pagina mostra una dashboard che indica i rapporti di risposta 5XX e la latenza di backend per tutti i bilanciatori del carico delle applicazioni esterni nel tuo progetto. Fornisce anche un elenco di dashboard per tutti i bilanciatori del carico delle applicazioni esterni nel tuo progetto.
Puoi fare clic per accedere alla dashboard di ogni bilanciatore del carico. Ogni dashboard include quanto segue:
- Grafici precompilati che mostrano le suddivisioni delle risposte per
classi di codici di stato (
5XX
,4XX
,3XX
,2XX
) - Latenza totale
- Latenza di backend
- RTT frontend
- Conteggio delle richieste
- Un link ai log del bilanciatore del carico
- Grafici precompilati che mostrano le suddivisioni delle risposte per
classi di codici di stato (
Per visualizzare le dashboard per servizi di terze parti, torna alla pagina Dashboard. In Categorie, fai clic su Altro.
- Per visualizzare la dashboard di un servizio di terze parti specifico, individua il servizio nell'elenco e fai clic sul relativo nome.
Definizione dei criteri di avviso
Per seguire le indicazioni dettagliate per questa attività direttamente nella Google Cloud console, fai clic su Procedura guidata:
Puoi creare criteri di avviso per monitorare i valori delle metriche e ricevere una notifica quando queste metriche violano una condizione.
-
Nella Google Cloud console, vai alla pagina notifications Avvisi:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Se non hai creato i canali di notifica e vuoi ricevere le notifiche, 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 poi segui questi passaggi:
- Per limitare il menu alle voci pertinenti, inserisci
Global External Application Load Balancer Rule
nella barra dei filtri. Se non vengono visualizzati risultati dopo aver filtrato il menu, disattiva l'opzione Mostra solo risorse e metriche attive. - Per Tipo di risorsa, seleziona Regola del bilanciatore del carico delle applicazioni esterno globale.
- Seleziona una categoria di metrica e una metrica, quindi seleziona Applica.
- Per limitare il menu alle voci pertinenti, inserisci
- Fai clic su Avanti.
- Le impostazioni nella pagina Configura attivatore di avvisi determinano quando viene attivato l'avviso. Seleziona un tipo di condizione e, se necessario, specifica una soglia. Per ulteriori informazioni, consulta Creare criteri di avviso basati su soglie delle metriche.
- Fai clic su Avanti.
- (Facoltativo) Per aggiungere notifiche al tuo 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 chiusura automatica incidenti. Questo campo determina quando Monitoring chiude gli incidenti in assenza di dati delle metriche.
- (Facoltativo) Fai clic su Documentazione e aggiungi tutte 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 di 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 e poi assegna un titolo al grafico.
Per identificare la serie temporale 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 tra le opzioni disponibili:
- Per un bilanciatore del carico delle applicazioni esterno globale, seleziona il tipo di risorsa Regola del bilanciatore del carico delle applicazioni esterno globale.
- Fai clic su Applica.
- Nella sezione Risorsa e metrica, fai clic sul grafico e poi
nella sezione Seleziona una metrica, scegli tra le opzioni disponibili:
Per specificare i filtri di monitoraggio, fai clic su Filtri > Aggiungi filtro.
Fai clic su Salva.
Frequenza e conservazione dei report sulle metriche
Le metriche per i bilanciatori del carico delle applicazioni esterni vengono esportate in Cloud Monitoring in batch con granularità di 1 minuto. I dati di monitoraggio vengono conservati per sei (6) settimane.
La dashboard fornisce l'analisi dei dati a intervalli predefiniti di 1 ora, 6 ore, 1 giorno, 1 settimana e 6 settimane. Puoi richiedere manualmente l'analisi in qualsiasi intervallo da 6 settimane a 1 minuto.
Monitoraggio delle metriche
Puoi monitorare le seguenti metriche per i bilanciatori del carico delle applicazioni esterni.
Le seguenti metriche per i bilanciatori del carico delle applicazioni esterni globali sono
segnalate in Cloud Monitoring.
Queste metriche sono precedute da loadbalancing.googleapis.com/
.
Metrica | Nome | Descrizione |
---|---|---|
Conteggio delle richieste | https/request_count |
Il numero di richieste gestite dal bilanciatore del carico delle applicazioni esterno |
Conteggio byte richiesta | https/request_bytes_count |
Il numero di byte inviati come richieste dai client al bilanciatore del carico delle applicazioni esterno |
Conteggio byte risposta | https/response_bytes_count |
Il numero di byte inviati come risposte dal bilanciatore del carico delle applicazioni esterno ai client |
Latenze totali | https/total_latencies |
Una distribuzione della latenza totale. La latenza totale è il tempo in millisecondi tra il primo byte della richiesta ricevuto dal proxy e l'ultimo byte della risposta inviata dal proxy. Include: il tempo impiegato dal proxy per elaborare la richiesta, il tempo impiegato per inviare la richiesta dal proxy al backend, il tempo impiegato dal backend per elaborare la richiesta, il tempo impiegato per inviare la risposta al proxy e il tempo impiegato dal proxy per elaborare la risposta e inviarla al client. Non include l'RTT tra il client e il proxy. Inoltre,
le pause tra le richieste sulla stessa connessione che utilizzano Per le connessioni websocket, questo campo si riferisce all'intera durata della connessione.* Esempio: un bilanciatore del carico riceve 1 richiesta al secondo dal Regno Unito, tutte con una latenza di 100 ms, e 9 richieste al secondo dagli Stati Uniti, tutte con una latenza di 50 ms. In un determinato minuto sono state effettuate 60 richieste dal Regno Unito e 540 dagli Stati Uniti. Il monitoraggio delle metriche preserva la distribuzione in tutte le dimensioni. Puoi richiedere informazioni come le seguenti:
|
RTT frontend† | https/frontend_tcp_rtt |
Una distribuzione dell'RTT frontend. L'RTT frontend è il tempo in millisecondi necessario per il trasferimento dei dati dal client al proxy <x0A>e viceversa. Include il tempo impiegato da una richiesta per andare dal client al proxy e tornare dal proxy al client. Questo valore non viene aggiornato durante la durata della connessione. Ad esempio, la configurazione di una connessione (TCP) con un handshake a tre vie richiederebbe 1,5 RTT. Quando le richieste vengono elaborate, il bilanciatore del carico campiona e calcola la media del tempo necessario per il trasferimento dei dati tra il client e il proxy, quindi registra un valore RTT uniforme. L'RTT uniforme è un algoritmo che gestisce le variazioni e le anomalie che potrebbero verificarsi nelle misurazioni dell'RTT. |
Latenze di backend† | https/backend_latencies |
Una distribuzione della latenza di backend. La latenza del backend è il tempo in millisecondi tra l'ultimo byte della richiesta inviata al backend e l'ultimo byte della risposta ricevuta dal proxy. Include il tempo impiegato dal backend per elaborare la richiesta e il tempo impiegato per inviare la risposta al proxy. |
Frazione della classe codice di risposta | Frazione del totale delle risposte del bilanciatore del carico delle applicazioni esterno che rientrano in ciascuna
classe di codici di risposta (2XX , 4XX , ...).
In Monitoring, questo valore è
disponibile solo nelle dashboard predefinite. Non è disponibile per le dashboard
personalizzate. Puoi utilizzare l'API Monitoring per impostare avvisi. |
|
Conteggio richieste backend | https/backend_request_count |
Il numero di richieste inviate dal bilanciatore del carico delle applicazioni esterno ai backend. |
Conteggio byte richiesta backend | https/backend_request_bytes_count |
Il numero di byte inviati come richieste dal bilanciatore del carico delle applicazioni esterno ai backend. |
Conteggio byte risposta backend | https/backend_response_bytes_count |
Il numero di byte inviati come risposte dai backend (inclusa la cache) al bilanciatore del carico delle applicazioni esterno. |
* Per monitorare le connessioni WebSocket, crea un servizio di backend specificamente per i WebSocket.
† La somma di RTT frontend e latenze backend potrebbe non essere inferiore o uguale alle latenze totali. Questo perché, anche se eseguiamo il polling dell'RTT sul socket da GFE al client al momento della conferma della risposta HTTP, ci affidiamo alla segnalazione del kernel per alcune di queste misurazioni e non possiamo essere certi che il kernel abbia una misurazione RTT per la risposta HTTP specificata. Il risultato finale è un valore RTT uniforme, influenzato anche dalle risposte HTTP, dai SYN/ACK e dagli handshake SSL precedenti che non influiscono sui tempi effettivi della richiesta HTTP corrente.
Filtrare le dimensioni per le metriche
Puoi applicare filtri per le metriche per i bilanciatori del carico delle applicazioni esterni.
Le metriche vengono aggregate per ogni bilanciatore del carico delle applicazioni classico e
per ogni bilanciatore del carico delle applicazioni esterno globale. Puoi filtrare le metriche aggregate in base alle seguenti dimensioni per resource.type="http_load_balancer"
o resource.type="https_lb_rule"
. Tieni presente che non tutte le dimensioni sono disponibili
in tutte le metriche.
Proprietà | Descrizione |
---|---|
backend_scope |
L' Google Cloud ambito
(regione o zona)
del gruppo di istanze del servizio di backend che ha gestito la connessione. Se non era disponibile alcun gruppo di istanze o se la richiesta è stata gestita da un'altra entità, viene visualizzato uno dei seguenti valori anziché la regione o la zona del gruppo di istanze del servizio di backend.
Quando scegli questa suddivisione, i grafici mostrano le metriche di backend (dal bilanciatore del carico ai backend), non le metriche di frontend (dal client al bilanciatore del carico). |
backend_type |
Il nome del gruppo di backend che ha gestito la richiesta del client.
Può essere restituito
|
backend_target_type |
Il nome del servizio di backend che ha gestito la richiesta. Può essere
BACKEND_SERVICE , BACKEND_BUCKET ,
UNKNOWN se il backend non è stato assegnato oppure
NO_BACKEND_SELECTED se si è verificato un errore o un'interruzione
prima che venisse selezionato un backend, si è verificato un reindirizzamento URL o un
bilanciatore del carico delle applicazioni classico con backend serverless ha restituito una
risposta 200 OK . |
matched_url_path_rule |
La regola di 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. |
url_map_name |
La regola di percorso o la regola di route della mappa URL configurata come parte della chiave della mappa URL. Può essere
|
target_proxy_name |
Il nome dell'oggetto proxy HTTP(S) di destinazione a cui fa riferimento la regola di forwarding. |
backend_target_name |
Il nome della destinazione di backend. La destinazione può essere un servizio di backend o un bucket di backend. UNKNOWN viene restituito se non è stato assegnato un backend.
|
backend_name |
Il nome del gruppo di istanza di backend, del bucket o del NEG.
Viene restituito UNKNOWN se il backend non è stato assegnato oppure NO_BACKEND_SELECTED se si è verificato un errore o un'interruzione prima che venisse selezionato un backend, si è verificato un reindirizzamento URL o un bilanciatore del carico delle applicazioni classico con backend serverless ha restituito una risposta 200 OK . |
backend_scope_type |
Il tipo di ambito del gruppo di backend. Può essere
|
proxy_continent |
Continente del GFE HTTP(S) che ha terminato la connessione HTTP(S), ad esempio America , Europe , Asia |
protocol |
Protocollo utilizzato dal client, uno tra HTTP/1.0 ,
HTTP/1.1 , HTTP/2.0 , QUIC/HTTP/2.0 ,
UNKNOWN . |
response_code |
Il codice di stato HTTP della richiesta. |
response_code_class |
La classe del codice di stato HTTP della richiesta: 200 ,
300 , 400 , 500 o 0 per
nessuna. |
cache_result |
Risultato della cache per la gestione della richiesta HTTP tramite proxy: HIT ,
MISS , DISABLED , PARTIAL_HIT (per una
richiesta gestita parzialmente dalla cache e parzialmente dal backend) o
UNKNOWN . |
client_country |
Paese del client che ha emesso la richiesta HTTP, ad esempio
United States o Germany . |
load_balancing_scheme |
Lo schema di bilanciamento del carico utilizzato. Se viene utilizzato il bilanciatore del carico delle applicazioni classico, il
valore è EXTERNAL . Se viene utilizzato il bilanciatore del carico delle applicazioni esterno globale, il valore
è EXTERNAL_MANAGED . |