Logging
Puoi abilitare, disabilitare e visualizzare i log per un bilanciatore del carico delle applicazioni esterno servizio di backend.
Attiva o disattiva il logging per ogni servizio di backend. Puoi configurare se per registrare tutte le richieste o una frazione campionata in modo casuale.
Devi assicurarti di non avere un'esclusione dei log applicata ai bilanciatori del carico delle applicazioni esterni. Per istruzioni su come verificare che i log Cloud HTTP Load
Balancer
siano consentiti, consulta Visualizzare le esclusioni per tipo di risorsa.
Campi facoltativi
I record dei log contengono campi obbligatori e facoltativi. La Cosa viene registrato elenca i campi facoltativi e quelli obbligatori. Tutti gli elementi obbligatori sono sempre inclusi. Puoi personalizzare i campi facoltativi da conservare.
Se selezioni Includi tutti i campi facoltativi, tutti i campi facoltativi nel log formati di record sono inclusi nei log. Quando vengono aggiunti nuovi campi facoltativi nel formato record, i nuovi campi vengono inclusi automaticamente nei log.
Se selezioni Escludi tutti gli elementi facoltativi, tutti i campi facoltativi vengono omessi.
Se selezioni personalizzato, puoi specificare i campi facoltativi da includere, ad esempio
tls.protocol,tls.cipher
.
Per istruzioni su come personalizzare i campi facoltativi, consulta Attivare il logging su un nuovo servizio di backend.
Attivazione 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 del servizio di backend richiesti.
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
.(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à regionale
Crea un servizio di backend e abilita il logging utilizzando il metodo
Comando gcloud compute backend-services create
.
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
dove
--region
indica che il servizio di backend regionale. Utilizza questo campo per i servizi di backend utilizzati con bilanciatori del carico delle applicazioni esterni regionali.--enable-logging
abilita il logging per il servizio di backend.--logging-sample-rate
ti consente di specificare un valore da Da0.0
a1.0
, dove0.0
indica che non viene registrata alcuna richiesta1.0
significa che viene registrato il 100% delle richieste. Significativo solo con Parametro--enable-logging
. Attivare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.--logging-optional
consente di specificare i campi facoltativi da includere nei log:INCLUDE_ALL_OPTIONAL
per includere tutti i campi facoltativi.EXCLUDE_ALL_OPTIONAL
(predefinito) per escludere tutti i campi facoltativi.CUSTOM
per includere un elenco personalizzato di campi facoltativi specificati inOPTIONAL_FIELDS
.
--logging-optional-fields
ti consente di specificare un elenco separato da virgole di e campi facoltativi da includere nei log.Ad esempio,
tls.protocol,tls.cipher
può essere impostato solo seLOGGING_OPTIONAL_MODE
è impostato suCUSTOM
.
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.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
.(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à a livello di regione
Abilita il logging su un servizio di backend esistente con il
comando gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
dove
--region
indica che il servizio di backend regionale. Utilizza questo campo per i servizi di backend utilizzati con bilanciatori del carico delle applicazioni esterni regionali.--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 Parametro--enable-logging
. Attivare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.--logging-optional
consente di specificare i campi facoltativi da includere nei log.INCLUDE_ALL_OPTIONAL
per includere tutti i campi facoltativi.EXCLUDE_ALL_OPTIONAL
(predefinito) per escludere tutti i campi facoltativi.CUSTOM
per includere un elenco personalizzato di campi facoltativi specificati inOPTIONAL_FIELDS
.
--logging-optional-fields
ti consente di specificare un elenco separato da virgole di e campi facoltativi da includere nei log.Ad esempio:
tls.protocol,tls.cipher
. Può essere impostato solo seLOGGING_OPTIONAL_MODE
è impostato suCUSTOM
.
Disattivare o modificare il 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 di servizio di backend.Per disabilitare completamente il logging, nella sezione Logging, deseleziona la casella di controllo Abilita il logging.
Se lasci abilitato il logging, puoi impostare un campionamento diverso 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 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à regionale
Disabilita il logging su un servizio di backend con
Comando gcloud compute backend-services update
.
Disattivare completamente il logging
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
dove
--region
indica che il servizio di backend è regionale. Utilizza questo campo per i servizi di backend utilizzati con bilanciatori del carico delle applicazioni esterni regionali.--no-enable-logging
disabilita il logging per il servizio di backend in questione.
Modifica della frequenza di campionamento di logging
gcloud compute backend-services update BACKEND_SERVICE \ --global | --region=REGION \ --logging-sample-rate=VALUE
Visualizza i log
I log HTTP(S) vengono indicizzati prima da una regola di inoltro, 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 inoltro.
Per visualizzare i log di una regola di inoltro, seleziona il nome di una singola regola di inoltro.
Per visualizzare i log per una mappa URL, seleziona una regola di forwarding, quindi seleziona un URL mappa.
I campi del log di tipo boolean vengono generalmente visualizzati solo se hanno il valore true
.
Se un campo booleano ha il valore false
, questo campo viene omesso dal log.
Codifica UTF-8
per i campi dei log. Caratteri non UTF-8
vengono sostituiti da punti interrogativi.
Per i bilanciatori del carico delle applicazioni esterni regionali,puoi esportare
metriche basate su log mediante l'uso di
dei log delle risorse (resource.type="http_external_regional_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 dei log contengono campi obbligatori, che sono i campi predefiniti di ogni record del log. I record dei log contengono campi facoltativi che aggiungono ulteriori informazioni sul traffico HTTP(S). Possono essere omessi per risparmiare sui costi di archiviazione.
Alcuni campi del log sono in formato multicampo, con più di un dato
in un determinato campo. Ad esempio, il campo tls
è del tipo TlsDetails
, che contiene il protocollo TLS e la crittografia TLS in un unico campo.
Questi campi multicampo sono descritti nella seguente tabella del formato dei record.
Campo | Formato del campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
---|---|---|---|
severity insertID timestamp logName |
LogEntry | Obbligatorio | I campi generali descritti in una voce di log. |
httpRequest | HttpRequest | Obbligatorio | Un protocollo comune per la registrazione delle richieste HTTP. |
resource | MonitoredResource | Obbligatorio | La risorsa MonitoredResource è il tipo di risorsa associato a una voce di log. L'elemento MonitoredResourceDescriptor
descrive lo schema di un oggetto |
jsonPayload | Oggetto (formato Struct) | Obbligatorio | Il payload della voce di log espresso come oggetto JSON. Il file JSON
contiene i seguenti campi:
|
string | Obbligatorio | Il campo Il campo non viene registrato se il valore è una stringa vuota. Questo può
si verifica se il proxy o il backend non restituisce un errore o il codice di errore
che non sia Il campo
|
|
TlsDetails | Facoltativo | Il campo tls contiene
TlsDetails che specifica i metadati TLS per
la connessione tra il client e il bilanciatore del carico delle applicazioni esterno regionale. Questo
è disponibile solo se il client utilizza la crittografia TLS/SSL. |
|
MtlsDetails | Facoltativo | Il campo mtls contiene il valore
MtlsDetails che specifica i metadati mTLS
per la connessione tra il client e l'Application Load Balancer esterno regionale.
Questo campo è disponibile solo se il bilanciatore del carico utilizza TLS (mTLS) reciproco per il frontend.
|
Formato campo TlsDetails
Campo | Formato del campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
---|---|---|---|
protocollo | string | Facoltativo | protocollo TLS che i client utilizzano per stabilire una connessione
con il bilanciatore del carico di rete
passthrough esterno regionale. I valori possibili possono essere TLS 1.0, 1.1, 1.2,
1.3 o QUIC .
Questo valore viene impostato su NULL se il client non utilizza la crittografia TLS/SSL.
|
crittografia | string | Facoltativo | crittografia TLS utilizzata dai client per stabilire una connessione con il carico
con il bilanciatore del carico di rete
passthrough esterno regionale. Questo valore è impostato su NULL se il client è
non utilizza HTTP(S) o il client non utilizza la crittografia TLS/SSL.
|
Formato del campo MtlsDetails
Campo | Formato del campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
---|---|---|---|
clientCertPresent | bool | Facoltativo |
|
clientCertChainVerified | bool | Facoltativo |
|
clientCertError | string | Facoltativo | Stringhe predefinite che rappresentano le condizioni di errore. Per ulteriori informazioni sulle stringhe di errore, consulta le modalità di convalida del client mTLS. |
clientCertSha256Fingerprint | string | Facoltativo | Impronta SHA-256 con codifica Base64 del certificato client. |
clientCertSerialNumber | string | Facoltativo | Il numero di serie del certificato client.
Se il numero di serie è più lungo di 50 byte, la stringa
|
clientCertValidStartTime | string | Facoltativo | Timestamp (RFC 3339)
data) prima del quale il certificato client non è valido.
Ad esempio, |
clientCertValidEndTime | string | Facoltativo | Timestamp (RFC 3339)
data di inizio) dopo il quale il certificato client non è valido.
Ad esempio, |
clientCertSpiffeId | string | Facoltativo | Il ID SPIFFE dal campo Nome alternativo dell'oggetto (SAN). Se il valore non è valido o supera i 2048 byte, l'ID SPIFFE è impostato su una stringa vuota. Se l'ID SPIFFE è più lungo di 2048 byte, la stringa
|
clientCertUriSans | string | Facoltativo | Elenco separato da virgole e codificato in base64 delle estensioni SAN di tipo
URI. Le estensioni SAN vengono estratte dal certificato client.
L'ID SPIFFE non è incluso nel campo Se il campo |
clientCertDnsnameSans | string | Facoltativo | Elenco codificato in Base64 delle estensioni SAN di tipo DNSName separate da virgole. Le estensioni SAN vengono estratte dal certificato client. Se il campo |
clientCertIssuerDn | string | Facoltativo | Campo Emittente completo con codifica Base64 del certificato. Se il campo |
clientCertSubjectDn | string | Facoltativo | Campo Oggetto completo con codifica Base64 del certificato. Se il campo |
clientCertLeaf | string | Facoltativo | Il certificato client finale per una connessione mTLS stabilita in cui il certificato ha superato la convalida. La codifica del certificato è conforme a RFC 9440: il certificato DER binario è codificato utilizzando Base64 (senza interruzioni di riga, spazi o altri caratteri esterni all'alfabeto Base64) e delimitato con due due punti. Se |
clientCertChain | string | Facoltativo | L'elenco di certificati delimitati da virgole, nell'ordine TLS standard, della catena di certificati client per una connessione mTLS stabilita in cui il certificato client ha superato la convalida, escluso il certificato finale. La codifica del certificato è conforme a RFC 9440. Se le dimensioni combinate di |
Etichette risorse
La tabella seguente elenca le etichette delle risorse per
resource.type="http_external_regional_lb_rule"
.
Campo | Tipo | Descrizione |
---|---|---|
backend_name |
string | Il nome del gruppo di istanze o del NEG di backend. Tuttavia, l'etichetta è vuoto per connessione TLS non riuscita. |
backend_scope |
string |
L'ambito del backend (il nome di una zona o di una regione). Potrebbe essere
UNKNOWN quando backend_name è sconosciuto.
|
backend_scope_type |
string |
L'ambito del backend (REGION /ZONE ). Può essere
UNKNOWN se backend_name è sconosciuto.
|
backend_target_name |
string | Il nome del backend selezionato per gestire la richiesta, in base all'URL una regola percorso della mappa o una regola di route che corrisponde alla richiesta. |
backend_target_type |
string |
Il tipo di destinazione di backend. Può essere BACKEND_SERVICE o
Se il backend non è stato assegnato, viene restituito UNKNOWN .
|
backend_type |
string |
Il tipo di gruppo di backend. Può essere INSTANCE_GROUP ,
NETWORK_ENDPOINT_GROUP o UNKNOWN viene restituito
se il backend non è stato assegnato.
|
forwarding_rule_name |
string | Il nome dell'oggetto regola di inoltro. |
matched_url_path_rule |
string |
La regola del percorso o della route della mappa URL configurata come parte della chiave della mappa URL. Può essere UNMATCHED o UNKNOWN come opzioni di riserva.
|
network_name |
string | Il nome della rete VPC del bilanciatore del carico. |
project_id |
string | L'identificatore del progetto Google Cloud associato a questa risorsa. |
region |
string | La regione in cui è definito il bilanciatore del carico. |
target_proxy_name |
string | Il nome dell'oggetto proxy target a cui fa riferimento la regola di inoltro. |
url_map_name |
string | Il nome dell'oggetto mappa URL configurato per selezionare un servizio di backend. Il campo è vuoto per connessione TLS non riuscita. |
campo errore proxyStatus
Il campo proxyStatus
contiene una stringa che specifica il motivo del caricamento
bilanciatore ha restituito un errore. Il campo proxyStatus
è composto da due parti: proxyStatus error
e proxyStatus details
.
Questa sezione descrive le stringhe supportate nel campo proxyStatus error
.
Il campo proxyStatus error è applicabile ai seguenti bilanciatori del carico:
- Bilanciatore del carico delle applicazioni esterno regionale
- Bilanciatore del carico delle applicazioni interno tra regioni
- Bilanciatore del carico delle applicazioni interno regionale
errore proxyStatus | Descrizione | Codici di risposta comuni associati |
---|---|---|
destination_unavailable
|
Il bilanciatore del carico considera il backend non disponibile. Ad esempio, tentativi recenti di comunicazione con il backend non sono andati a buon fine o un controllo di integrità potrebbe aver avuto esito negativo. | 500, 503 |
connection_timeout
|
Il tentativo del bilanciatore del carico di aprire una connessione al backend è scaduto. | 504 |
connection_terminated
|
La connessione del bilanciatore del carico al backend è terminata prima che venga ricevuta una risposta completa. Questo
|
0, 502, 503 |
connection_refused
|
La connessione del bilanciatore del carico al backend viene rifiutata. | 502, 503 |
connection_limit_reached
|
Il bilanciatore del carico è configurato per limitare il numero di connessioni al backend e questo limite è stato superato. Questo
|
502, 503 |
destination_not_found
|
Il bilanciatore del carico non è in grado di determinare il backend appropriato da utilizzare per questa richiesta. Ad esempio, il backend potrebbe non essere configurato. | 500, 404 |
dns_error
|
Il bilanciatore del carico ha riscontrato un errore DNS durante il tentativo di trovare un indirizzo IP per il nome host di backend. | 502, 503 |
proxy_configuration_error
|
Il bilanciatore del carico ha rilevato un errore di configurazione interno. | 500 |
proxy_internal_error
|
Il bilanciatore del carico ha riscontrato un errore interno. | 0, 500, 502 |
proxy_internal_response
|
Il bilanciatore del carico ha generato la risposta senza tentare di connettersi al backend. | Qualsiasi codice di risposta a seconda del tipo di problema. Ad esempio,
Il codice di risposta 410 indica che il backend non è disponibile a causa di
inadempienza dei pagamenti.
|
http_response_timeout
|
Il bilanciatore del carico ha raggiunto un timeout del servizio di backend configurato limite massimo in attesa della risposta completa dal backend. | 504, 408 |
http_request_error
|
Il bilanciatore del carico ha rilevato un errore HTTP 4xx, che indica problemi con la richiesta del client. | 400, 403, 405, 406, 408, 411, 413, 414, 415, 416, 417 o 429 |
http_protocol_error
|
Il bilanciatore del carico ha rilevato un errore del protocollo HTTP durante la comunicazione con il backend. | 502 |
tls_protocol_error
|
Il bilanciatore del carico ha riscontrato un errore TLS durante l'handshake TLS. | 0 |
tls_certificate_error
|
Il bilanciatore del carico ha riscontrato un errore durante la verifica del certificato presentato dal server o dal client quando mTLS è abilitato. | 0 |
tls_alert_received
|
Il bilanciatore del carico ha rilevato un avviso TLS fatale durante l'handshake TLS. | 0 |
Campo dettagli proxyStatus
Il campo proxyStatus
contiene una stringa che specifica il motivo per cui il bilanciatore del carico ha restituito un errore. Il campo proxyStatus
è composto da due parti: proxyStatus error
e proxyStatus details
.
Il campo proxyStatus details
è facoltativo e viene visualizzato solo se sono disponibili informazioni aggiuntive.
Questa sezione descrive le stringhe supportate in proxyStatus details
.
Il campo proxyStatus details è applicabile ai seguenti bilanciatori del carico:
- Bilanciatore del carico delle applicazioni esterno regionale
- Bilanciatore del carico delle applicazioni interno regionale
- Bilanciatore del carico delle applicazioni interno tra regioni
Dettagli di proxyStatus | Descrizione | Codici di risposta comuni associati |
---|---|---|
client_disconnected_before_any_response
|
La connessione al client è stata interrotta prima che il bilanciatore del carico inviasse una risposta. | 0 |
backend_connection_closed
|
Il backend ha chiuso inaspettatamente la connessione al bilanciatore del carico. Questo può accadere se il bilanciatore del carico invia traffico a un'altra entità, come un'applicazione di terze parti con un timeout TCP inferiore al timeout di 10 minuti (600 secondi) del bilanciatore del carico. | 502 |
failed_to_connect_to_backend
|
Il bilanciatore del carico non è riuscito a connettersi al backend. Questo errore include timeout durante la fase di connessione. | 503 |
failed_to_pick_backend
|
Il bilanciatore del carico non è riuscito a scegliere un backend funzionante per gestire la richiesta. | 502 |
response_sent_by_backend
|
La richiesta HTTP è stata proxyata correttamente al backend e la risposta è stata restituita dal backend. | Il codice di risposta HTTP viene impostato dal software in esecuzione sul backend. |
client_timed_out
|
La connessione tra il bilanciatore del carico e il client ha superato il timeout di inattività. Per ulteriori informazioni sul bilanciatore del carico delle applicazioni esterno regionale, consulta Timeout keepalive HTTP del client. Per ulteriori informazioni sul bilanciatore del carico delle applicazioni interno, consulta Timeout keepalive HTTP del client. |
0, 408 |
backend_timeout
|
Il backend ha superato il tempo di attesa durante la generazione di una risposta. |
502 |
http_protocol_error_from_backend_response
|
La risposta del backend contiene un errore del protocollo HTTP. | 501, 502 |
http_protocol_error_from_request
|
La richiesta del client contiene un errore del protocollo HTTP. | 400, 503 |
http_version_not_supported
|
La versione del protocollo HTTP non è supportata. Solo HTTP 0.9, 1.0, 1.1 e 2.0 sono supportati. | 400 |
handled_by_identity_aware_proxy
|
Questa risposta è stata generata da Identity-Aware Proxy (IAP) durante la verifica dell'identità del client prima di consentire l'accesso. | 200, 302, 400, 401, 403, 500, 502 |
invalid_request_headers
|
Le intestazioni delle richieste HTTP ricevute da un client contengono almeno un carattere non consentito da una specifica HTTP applicabile. Ad esempio, nomi dei campi di intestazione che includono virgolette doppie.
( Per ulteriori informazioni, vedi: |
400, 404 |
ip_detection_failed
|
Impossibile rilevare l'indirizzo IP originale. | Qualsiasi codice di risposta possibile a seconda della natura dell'errore. La deve essere compreso tra 400 e 599. |
request_body_too_large
|
Il corpo della richiesta HTTP ha superato la lunghezza massima supportata dal bilanciatore del carico. | 413.507 |
request_header_timeout
|
L'intestazione della richiesta è scaduta perché il bilanciatore del carico non ha ricevuto per completare la richiesta entro cinque secondi. | 408, 504 |
denied_by_security_policy
|
Il bilanciatore del carico ha rifiutato questa richiesta a causa di un Criterio di sicurezza di Google Cloud Armor. | 403 |
throttled_by_security_policy
|
La richiesta è stata bloccata da una regola di limitazione di Google Cloud Armor. | 429 |
client_cert_chain_invalid_eku
|
Il certificato client o il suo emittente non ha un utilizzo esteso della chiave che includa clientAuth. Per ulteriori informazioni, vedi Errori registrati per connessioni chiuse. | 0 |
client_cert_chain_max_name_constraints_exceeded
|
Un certificato intermedio fornito per la convalida ha ricevuto più di 10 vincoli relativi ai nomi. Per ulteriori informazioni, consulta la sezione Errori registrati per le connessioni chiuse. | 0 |
client_cert_invalid_rsa_key_size
|
Un certificato foglia client o certificato intermedio aveva una dimensione della chiave RSA non valida. Per ulteriori informazioni, consulta Errori registrati per le connessioni chiuse. | 0 |
client_cert_not_provided
|
Il client non ha fornito il certificato richiesto durante l'handshake. Per ulteriori informazioni, consulta Errori registrati per le connessioni chiuse. | 0 |
client_cert_pki_too_large
|
La PKI da utilizzare per la convalida ha più di tre certificati intermedi che condividono gli stessi Subject e Subject Public Key Info .
Per saperne di più, consulta Errori registrati per connessioni chiuse.
|
0 |
client_cert_unsupported_elliptic_curve_key
|
Un certificato client o intermedio utilizza una curva ellittica non supportata. Per ulteriori informazioni, consulta 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 ulteriori informazioni, consulta Errori registrati per le connessioni chiuse. | 0 |
client_cert_validation_failed
|
La convalida del certificato client non va a buon fine con TrustConfig .
Per ulteriori informazioni, consulta Errori registrati per le connessioni chiuse.
|
0 |
client_cert_validation_not_performed
|
Hai configurato TLS reciproco senza configurare un TrustConfig .
Per ulteriori informazioni, consulta Errori registrati per le connessioni chiuse.
|
0 |
client_cert_validation_search_limit_exceeded
|
Il limite di profondità o di iterazione viene raggiunto durante il tentativo di convalidare la catena di certificati. Per ulteriori informazioni, consulta Errori registrati per le connessioni chiuse. | 0 |
client_cert_validation_timed_out
|
Il limite di tempo (200 ms) è stato superato durante la convalida della catena di certificati. Per ulteriori informazioni, consulta Errori registrati per le connessioni chiuse. | 0 |
tls_version_not_supported
|
La versione del protocollo TLS è riconosciuta, ma non supportata. Errore determina una connessione TLS chiusa. | 0 |
unknown_psk_identity
|
I server inviano questo errore quando è necessario creare la chiave PSK. ma il client non fornisce un'identità PSK accettabile. Risultati dell'errore in una connessione TLS chiusa. | 0 |
no_application_protocol
|
Inviata dai server quando un client "application_layer_protocol_negotiation" pubblicizza solo i protocolli non supportati dal server. Vedi Estensione di negoziazione del protocollo a livello di applicazione TLS. L'errore comporta una connessione TLS chiusa. | 0 |
no_certificate
|
Nessun certificato trovato. L'errore causa una connessione TLS chiusa. | 0 |
bad_certificate
|
Un certificato non è valido o contiene firme che non è stato possibile verificare. L'errore comporta una connessione TLS chiusa. | 0 |
unsupported_certificate
|
Il certificato è di un tipo non supportato. L'errore comporta una connessione TLS chiusa. | 0 |
certificate_revoked
|
Un certificato è stato revocato dal firmatario. L'errore causa la chiusura Connessione TLS. | 0 |
certificate_expired
|
Un certificato è scaduto o non è valido. L'errore causa la chiusura Connessione TLS. | 0 |
certificate_unknown
|
Si sono verificati alcuni problemi non specificati durante l'elaborazione del certificato, che lo rendono inaccettabile. L'errore comporta una connessione TLS chiusa. | 0 |
unknown_ca
|
È stata ricevuta una catena di certificati valida o una catena parziale, ma Il certificato non è stato accettato perché non è stato possibile trovare il certificato CA o abbinati a un trust anchor noto. L'errore comporta una connessione TLS chiusa. | 0 |
unexpected_message
|
È stato ricevuto un messaggio inappropriato, ad esempio un messaggio di handshake errato o dati dell'applicazione prematuri. L'errore causa una connessione TLS chiusa. | 0 |
bad_record_mac
|
È stato ricevuto un record che non può essere rimosso. L'errore genera connessione TLS chiusa. | 0 |
record_overflow
|
È stato ricevuto un record TLSCiphertext di durata superiore
più di 214+256 byte oppure un record è stato decriptato
Record TLSPlaintext con più di 214 byte
(o qualche altro limite negoziato). L'errore provoca la chiusura di un protocollo TLS
connessione.
|
0 |
handshake_failure
|
Impossibile negoziare un set accettabile di parametri di sicurezza, dato il le opzioni disponibili. L'errore causa una connessione TLS chiusa. | 0 |
illegal_parameter
|
Un campo dell'handshake non era corretto o non era coerente con altri campi. L'errore causa una connessione TLS chiusa. | 0 |
access_denied
|
È stato ricevuto un certificato valido o una PSK, ma quando il controllo dell'accesso è stato applicata, il cliente non ha proceduto alla negoziazione. L'errore comporta una connessione TLS chiusa. | 0 |
decode_error
|
Non è stato possibile decodificare un messaggio perché alcuni campi non rientravano nell'intervallo specificato o la lunghezza del messaggio non era corretta. L'errore comporta una connessione TLS chiusa. | 0 |
decrypt_error
|
Un'operazione di crittografia di handshake (non a livello di record) non è riuscita, ad esempio non è stato possibile verificare correttamente una firma o convalidare un messaggio completato o un binder PSK. L'errore comporta una connessione TLS chiusa. | 0 |
insufficient_security
|
Una negoziazione non è riuscita in particolare perché il server richiede parametri più sicuri di quelli supportati dal client. Risultati dell'errore in una connessione TLS chiusa. | 0 |
inappropriate_fallback
|
Inviata da un server in risposta a un nuovo tentativo di connessione non valido da un cliente. L'errore causa una connessione TLS chiusa. | 0 |
user_cancelled
|
L'utente annulla l'handshake per un motivo non correlato a un errore del protocollo. L'errore causa una connessione TLS chiusa. | 0 |
missing_extension
|
Inviati da endpoint che ricevono un messaggio di handshake che non contiene un'estensione obbligatoria da inviare per la versione TLS offerta o altri parametri negoziati. L'errore causa una connessione TLS chiusa. | 0 |
unsupported_extension
|
Inviati da endpoint che ricevono un messaggio di handshake contenente un'estensione
nota per essere vietata per l'inclusione nel messaggio di handshake in questione o
che includono eventuali estensioni in ServerHello o
Certificate che non sono state offerte per la prima volta in corrispondente
ClientHello o CertificateRequest .
L'errore causa una connessione TLS chiusa.
|
0 |
unrecognized_name
|
Inviata dai server quando non esiste alcun server che possa essere identificato dal nome fornito dal cliente tramite l'estensione "server_name". Consulta le definizioni delle estensioni TLS. | 0 |
bad_certificate_status_response
|
Inviati dai clienti quando viene fornita una risposta OCSP non valida o non accettabile dal server tramite "status_request" . Consulta le definizioni delle estensioni TLS. L'errore causa una connessione TLS chiusa. | 0 |
load_balancer_configured_resource_limits_reached
|
Il bilanciatore del carico ha raggiunto i limiti di risorse configurati, ad esempio e il numero massimo di connessioni. | 400, 500, 503 |
Voci del log delle connessioni TLS non riuscite
Quando la connessione TLS tra il client e il bilanciatore del carico non va a buon fine prima che sia selezionato un backend, le voci di log registrano gli errori. Puoi configurare i servizi di backend con frequenze di campionamento dei log diverse. Quando una connessione TLS non va a buon fine,
la frequenza di campionamento dei log per le connessioni TLS non riuscite è la più alta
di servizio di backend. Ad esempio, se hai configurato due servizi di backend con frequenza di campionamento dei log pari a 0.3
e 0.5
, la frequenza di campionamento dei log delle connessioni TLS non riuscite è 0.5
.
Puoi identificare le connessioni TLS non riuscite controllando i seguenti dettagli della voce di log:
- Il tipo di errore proxyStatus è
tls_alert_received
,tls_certificate_error
,tls_protocol_error
, oconnection_terminated
. - Non sono presenti informazioni sul backend.
L'esempio seguente mostra una voce del log TLS non riuscita con il
proxyStatus error
campo:
json_payload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" proxyStatus: "error="tls_alert_received"; details="server_to_client: handshake_failure"" log_name: "projects/529254013417/logs/mockservice.googleapis.com%20name" } http_request { latency { nanos: 12412000 } protocol: "HTTP/1.0" remote_ip: "127.0.0.2" } resource { type: "mock_internal_http_lb_rule" labels { backend_name: "" backend_scope: "" backend_scope_type: "UNKNOWN" backend_target_name: "" backend_target_type: "UNKNOWN" backend_type: "UNKNOWN" forwarding_rule_name: "l7-ilb-https-forwarding-rule-dev" matched_url_path_rule: "UNKNOWN" network_name: "lb-network" region: "REGION" target_proxy_name: "l7-ilb-https-proxy-dev" url_map_name: "" } } timestamp: "2023-08-15T16:49:30.850785Z"
Log delle richieste dei criteri di autorizzazione
L'oggetto authz_info
nel payload JSON della voce del log del bilanciatore del carico contiene informazioni sui criteri di autorizzazione. Puoi configurare le metriche basate su log per il traffico consentito o negato da questi criteri.
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 corrispondente 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:
|
authz_info.overall_result |
enum | Il risultato può essere ALLOWED o DENIED . |
Interazione 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 filtra i log con campi specifici impostati. Esporta i log corrispondenti in Cloud Logging, Cloud Storage, BigQuery o Pub/Sub. Per ulteriori informazioni Consulta la panoramica dell'API Cloud Logging.
Monitoraggio
Il bilanciatore del carico esporta i dati di monitoraggio Cloud 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 Cloud Monitoring, puoi creare dashboard personalizzate, configurare avvisi ed eseguire query sulle metriche tramite API Cloud Monitoring.
Definizione dei criteri di avviso
Puoi creare criteri di avviso per monitorare i valori delle metriche e ricevere notifiche quando queste metriche violano una condizione.
-
Nella console Google Cloud, 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 notifiche, fai clic su Modifica canali di notifica e aggiungi i canali di notifica. Torna alla pagina Avvisi dopo aver aggiunto i tuoi canali.
- Nella pagina Avvisi, seleziona Crea criterio.
- Per selezionare la metrica, espandi il menu Seleziona una metrica e poi procedi nel seguente modo:
- Per limitare il menu alle voci pertinenti, inserisci
Regional 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 regionale.
- Seleziona una Categoria di metriche 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 di 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 una o più notifiche canali dal menu, quindi 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 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 delle dashboard personalizzate di Cloud Monitoring
Puoi creare dashboard di 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, quindi assegna un titolo al grafico.
Per identificare le serie temporali da visualizzare, scegli un tipo di risorsa e 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 regionale, seleziona il tipo di risorsa Regola del bilanciatore del carico delle applicazioni esterno regionale.
- Fai clic su Applica.
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 delle applicazioni esterni vengono esportate in Cloud Monitoring Batch con granularità di 1 minuto. I dati di monitoraggio vengono conservati per sei (6) settimane.
Il pannello fornisce l'analisi dei dati a intervalli predefiniti di 1 ora (un'ora), 6 ore (6 ore), 1 giorno (1 giorno), 1 W (una settimana) e 6 ore (sei settimane). Puoi richiedere manualmente l'analisi in qualsiasi intervallo compreso tra 6 W e 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 regionali sono
segnalati in Cloud Monitoring.
A queste metriche viene anteposto loadbalancing.googleapis.com/
.
Metrica | Nome | Descrizione |
---|---|---|
Conteggio delle richieste | https/external/regional/request_count |
Il numero di richieste gestite dal bilanciatore del carico delle applicazioni esterno regionale. |
Conteggio byte richiesta | https/external/regional/request_bytes |
Il numero di byte inviati come richieste dai client al bilanciatore del carico delle applicazioni esterno regionale. |
Conteggio byte risposta | https/external/regional/response_bytes |
Il numero di byte inviati come risposta dal un bilanciatore del carico delle applicazioni esterno regionale al client. |
Latenze totali | https/external/regional/total_latencies |
Una distribuzione della latenza, in millisecondi. La latenza viene misurata dal momento in cui il proxy riceve il primo byte dell'email richiesta al momento in cui il proxy invia l'ultimo byte la risposta corretta. |
Latenze di backend | https/external/regional/backend_latencies |
Una distribuzione della latenza in millisecondi. La latenza viene misurata dal momento in cui il proxy invia il primo byte della richiesta al backend fino al momento in cui il proxy riceve l'ultimo byte della risposta dal backend. |
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 esterno regionale. Puoi filtrare
le metriche aggregate utilizzando le seguenti dimensioni
resource.type="http_external_regional_lb_rule"
.
Proprietà | Descrizione |
---|---|
backend_name |
Il nome del gruppo di istanze o del NEG di backend. |
backend_scope |
L'ambito del backend (il nome di una zona o di una regione). Potrebbe essere
UNKNOWN quando backend_name è sconosciuto.
|
backend_scope_type |
L'ambito del backend (REGION /ZONE ). Potrebbe essere
UNKNOWN ogni volta che backend_name è sconosciuto.
|
backend_target_name |
Il nome del backend selezionato per gestire la richiesta, in base all'URL una regola percorso della mappa o una regola di route che corrisponde alla richiesta. |
backend_target_type |
Il tipo di destinazione del backend. Può essere BACKEND_SERVICE o
Se il backend non è stato assegnato, viene restituito UNKNOWN .
|
backend_type |
Il tipo di gruppo di backend. Può essere INSTANCE_GROUP ,
NETWORK_ENDPOINT_GROUP o UNKNOWN viene restituito
se il backend non è stato assegnato.
|
forwarding_rule_name |
Il nome dell'oggetto regola di inoltro. |
matched_url_path_rule |
La regola del percorso o della route della mappa URL configurata come parte della chiave della mappa URL. Può essere UNMATCHED o UNKNOWN come opzioni di riserva.
|
network_name |
Il nome della rete VPC del bilanciatore del carico. |
project_id |
L'identificatore del progetto Google Cloud associato a questa risorsa. |
region |
La regione in cui è definito il bilanciatore del carico. |
target_proxy_name |
Il nome dell'oggetto proxy di destinazione a cui fa riferimento la regola di forwarding. |
url_map_name |
Il nome dell'oggetto mappa URL configurato per selezionare un servizio di backend. |