Questa pagina mostra come configurare e utilizzare Cloud Logging e Cloud Monitoring per i bilanciatori del carico di rete proxy.
Monitoraggio delle risorse
Il nome della risorsa monitorata per i bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy interni regionali è l4_proxy_rule.
Logging per i bilanciatori del carico di rete proxy
I log forniscono informazioni utili per la risoluzione dei problemi e il monitoraggio dei bilanciatori del carico. I log vengono aggregati per ogni connessione e ti forniscono informazioni su come ogni connessione viene indirizzata ai backend di gestione.
Non vengono addebitati costi aggiuntivi per l'utilizzo dei log. Tuttavia, in base alla modalità di importazione dei log, si applicano i prezzi standard per Cloud Logging, BigQuery o Pub/Sub. Inoltre, l'attivazione dei log non influisce sulle prestazioni del bilanciatore del carico.
Campionamento e raccolta dei log
Le connessioni che escono ed entrano nelle istanze di macchine virtuali (VM) del backend del bilanciatore del carico vengono campionate. Queste connessioni campionate vengono quindi elaborate per generare i log. Puoi controllare la frazione delle connessioni emesse come voci di log in base al parametro logConfig.sampleRate. Quando logConfig.sampleRate è 1.0 (100%), i log vengono generati per tutte le connessioni e scritti in Cloud Logging.
Abilitare il logging su un nuovo servizio di backend
gcloud
Utilizza il
comando gcloud compute backend-services create.
Per i bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy interni regionali:
gcloud compute backend-services create BACKEND_SERVICE \
--region=REGION \
--enable-logging \
--logging-sample-rate=SAMPLE_RATE
Per i bilanciatori del carico di rete proxy esterno globali, i bilanciatori del carico di rete proxy classici o i bilanciatori del carico di rete proxy interni tra regioni:
gcloud compute backend-services create BACKEND_SERVICE \
--global \
--enable-logging \
--logging-sample-rate=SAMPLE_RATE
Sostituisci quanto segue:
BACKEND_SERVICE: il nome del servizio di backend.REGION: la regione del servizio di backend da creare.SAMPLE_RATE: questo campo può essere specificato solo se il logging è abilitato per questo servizio di backend.
Il valore del campo deve essere compreso tra
0.0 to 1.0, dove0.0indica che non vengono segnalati log e1.0indica che vengono registrate tutte le connessioni. Abilitare il logging impostando però la frequenza di campionamento su0.0equivale a disabilitare il logging. Il valore predefinito è1.0.
API
Effettua una richiesta POST al
metodo regionBackendServices.insert:
Per i bilanciatori del carico di rete proxy interni regionali:
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "INTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy esterni regionali:
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy esterni globali:
Effettua una richiesta POST al
metodo backendServices.insert:
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy classici:
Effettua una richiesta POST al
metodo backendServices.insert:
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy interni tra regioni:
Effettua una richiesta POST al
metodo backendServices.insert:
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "INTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Sostituisci quanto segue:
BACKEND_SERVICE: il nome del servizio di backend.SAMPLE_RATE: questo campo può essere specificato solo se il logging è abilitato per questo servizio di backend.
Il valore del campo deve essere compreso tra
0.0 to 1.0, dove0.0indica che non vengono segnalati log e1.0indica che vengono registrate tutte le connessioni. Abilitare il logging impostando però la frequenza di campionamento su0.0equivale a disabilitare il logging. Il valore predefinito è1.0.
Abilita il logging su un servizio di backend esistente
gcloud
Utilizza il
comando gcloud
compute backend-services update.
Per i bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy interni regionali:
gcloud compute backend-services update BACKEND_SERVICE \
--region=REGION \
--enable-logging \
--logging-sample-rate=SAMPLE_RATE
Per i bilanciatori del carico di rete proxy esterno globali, i bilanciatori del carico di rete proxy classici o i bilanciatori del carico di rete proxy interni tra regioni:
gcloud compute backend-services update BACKEND_SERVICE \
--global \
--enable-logging \
--logging-sample-rate=SAMPLE_RATE
Sostituisci quanto segue:
BACKEND_SERVICE: il nome del servizio di backend.REGION: la regione del servizio di backend da creare.SAMPLE_RATE: questo campo può essere specificato solo se il logging è abilitato per questo servizio di backend.
Il valore del campo deve essere compreso tra
0.0 to 1.0, dove0.0indica che non vengono segnalati log e1.0indica che vengono registrate tutte le connessioni. Abilitare il logging impostando però la frequenza di campionamento su0.0equivale a disabilitare il logging. Il valore predefinito è1.0.
API
Invia una richiesta PATCH al
metodo regionBackendServices/patch:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
Per i bilanciatori del carico di rete proxy interni regionali:
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "INTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy esterni regionali:
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy esterni globali:
Invia una richiesta PATCH al
metodo backendServices/patch:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy classici:
Invia una richiesta PATCH al
metodo backendServices/patch:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Per i bilanciatori del carico di rete proxy interni tra regioni:
Invia una richiesta PATCH al
metodo backendServices/patch:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "INTERNAL_MANAGED",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Sostituisci quanto segue:
PROJECT_ID: il nome del progetto.BACKEND_SERVICE: il nome del servizio di backend.SAMPLE_RATE: questo campo può essere specificato solo se il logging è abilitato per questo servizio di backend.
Il valore del campo deve essere compreso tra
0.0 to 1.0, dove0.0indica che non vengono segnalati log e1.0indica che vengono registrate tutte le connessioni. Abilitare il logging impostando però la frequenza di campionamento su0.0equivale a disabilitare il logging. Il valore predefinito è1.0.
Disabilitare il logging su un servizio di backend esistente
gcloud
Utilizza il comando gcloud compute backend-services update.
Per i bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy interni regionali:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
Per i bilanciatori del carico di rete proxy esterno globali, i bilanciatori del carico di rete proxy classici o i bilanciatori del carico di rete proxy interni tra regioni:
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --no-enable-logging
Sostituisci quanto segue:
BACKEND_SERVICE: il nome del servizio di backend.REGION: la regione del servizio di backend.
API
Per i bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy interni regionali:
Effettua una richiesta PATCH al
metodo regionBackendServices/patch:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
{
"logConfig": {
"enable": false
}
}
Per i bilanciatori del carico di rete proxy esterno globali, i bilanciatori del carico di rete proxy classici o i bilanciatori del carico di rete proxy interno tra regioni:
Effettua una richiesta PATCH al
metodo backendServices/patch:
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
{
"logConfig": {
"enable": false
}
}
Sostituisci quanto segue:
PROJECT_ID: il nome del progetto.REGION: la regione del servizio di backend.BACKEND_SERVICE: il nome del servizio di backend.
Visualizza i log
Quando i log vengono importati in Cloud Logging e non esclusi tramite un sink del router di log, puoi leggerli utilizzando l'API Cloud Logging e Google Cloud CLI.
Per visualizzare tutti i log, completa i seguenti passaggi.
Console
Nella console Cloud de Confiance , vai alla pagina Esplora log.
Seleziona il tipo di risorsa Regola del bilanciatore del carico di rete proxy.
Seleziona il nome log loadbalancing.googleapis.com/connections.
Query dalla console
Nella console Cloud de Confiance , vai alla pagina Esplora log.
Fai clic sul pulsante di attivazione/disattivazione Mostra query.
Incolla quanto segue nel campo della query.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
Fai clic su Esegui query.
Sostituisci quanto segue:
LOG_RESOURCE_TYPE: il tipo di risorsa monitorata di Logging impostato sul4_proxy_ruleotcp_ssl_proxy_rule.PROJECT_ID: il nome del progetto.
Visualizzare i log di un servizio di backend specifico
Per visualizzare i log di un servizio di backend specifico, completa i seguenti passaggi.
Query dalla console
Nella console Cloud de Confiance , vai alla pagina Esplora log.
Fai clic sul pulsante di attivazione/disattivazione Mostra query.
Incolla quanto segue nel campo della query.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections" resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
Fai clic su Esegui query.
Sostituisci quanto segue:
LOG_RESOURCE_TYPE: il tipo di risorsa monitorata di Logging impostato sul4_proxy_ruleotcp_ssl_proxy_rule.PROJECT_ID: il nome del progetto.BACKEND_SERVICE_NAME: il nome del servizio di backend.
Visualizza i log per un gruppo di istanza di backend
Per visualizzare i log di un gruppo di istanza di backend specifico, completa i seguenti passaggi.
Query dalla console
Nella console Cloud de Confiance , vai alla pagina Esplora log.
Fai clic sul pulsante di attivazione/disattivazione Mostra query.
Incolla quanto segue nel campo della query.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections" resource.labels.backend_group_name="BACKEND_GROUP_NAME"
Fai clic su Esegui query.
Sostituisci quanto segue:
LOG_RESOURCE_TYPE: il tipo di risorsa monitorata di Logging impostato sul4_proxy_ruleotcp_ssl_proxy_rule.PROJECT_ID: il nome del progetto.BACKEND_GROUP_NAME: il nome del gruppo di istanze.
Informazioni registrate nei log
Le voci di log contengono informazioni utili per monitorare ed eseguire il debug del traffico. I record di log contengono campi obbligatori, che sono i campi predefiniti di ogni record di log.
| Campo | Formato campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
|---|---|---|---|
| severity timestamp receiveTimestamp insertID logName |
LogEntry | Obbligatorio | I campi generali come descritti in una voce di log. |
| resource | MonitoredResource | Obbligatorio | MonitoredResource è il tipo di risorsa associato a una voce di log. MonitoredResourceDescriptor descrive lo schema di un oggetto |
| jsonPayload | oggetto | Obbligatorio | Il payload della voce di log espresso come oggetto JSON. L'oggetto JSON contiene i seguenti campi:
|
| string | Obbligatorio | Il campo Il campo non viene registrato se il valore è una stringa vuota. Ciò può
accadere se il proxy restituisce un codice di errore diverso da Il campo
|
|
| string | Obbligatorio | Il campo backendNetworkName specifica la rete VPC del backend. |
|
| string | Obbligatorio | Il campo routeName specifica il nome della route TLS
utilizzata per instradare il traffico. |
|
| string | Facoltativo | Il campo tlsSniHostname specifica il nome del server
fornito dal client nel messaggio ClientHello. (Anteprima) |
Campi log
I record di log contengono campi obbligatori, che sono i campi predefiniti di ogni record di log.
Alcuni campi di log contengono più di un dato in un determinato campo. Questi
campi di log sono in formato multi-campo. Ad esempio, il campo connection è
in formato IpConnection, che contiene l'indirizzo IP e la porta di origine e di destinazione, oltre al protocollo, in un unico campo. Questi campi di log
multi-campo sono descritti nella seguente tabella dei formati del record.
La tabella seguente elenca tutti i campi di log obbligatori per la risorsa l4_proxy_rule.
| Campo | Formato campo | Descrizione |
|---|---|---|
| connessione | IpConnection | Tupla a 5 elementi che descrive questa connessione. |
| startTime | string | Timestamp (nel formato di stringa per la data RFC 3339) in cui la connessione dal client è stata accettata dal bilanciatore del carico. |
| endTime | string | Timestamp (nel formato di stringa per la data RFC 3339) in cui il client o il backend ha terminato la connessione. |
| bytesSent | int64 | Numero di byte inviati dal server al client. |
| bytesReceived | int64 | Numero di byte ricevuti dal server dal client. |
Formato del campo IpConnection
| Campo | Tipo | Descrizione |
|---|---|---|
| clientIp | string | Indirizzo IP client |
| clientPort | int32 | Porta client. Impostato solo per le connessioni TCP e UDP. |
| serverIp | string | Indirizzo IP del server (IP della regola di forwarding) |
| serverPort | int32 | Porta server. Impostato solo per le connessioni TCP e UDP. |
| protocol | int32 | Numero di protocollo IANA |
Campo di stato proxyStatus
Il campo proxyStatus contiene una stringa che specifica il motivo per cui il bilanciatore del carico ha restituito un errore o un log informativo. Il campo proxyStatus è composto da due parti: proxyStatus status e proxyStatus details.
Questa sezione descrive le stringhe supportate nel campo proxyStatus status.
Il campo proxyStatus è applicabile ai seguenti bilanciatori del carico:
- Bilanciatore del carico di rete proxy esterno globale
- Bilanciatore del carico di rete proxy esterno regionale
- Bilanciatore del carico di rete proxy interno tra regioni
- Bilanciatore del carico di rete proxy interno regionale
| proxyStatus status | Descrizione | Codici di risposta aggiuntivi comuni |
|---|---|---|
destination_unavailable |
Il bilanciatore del carico considera il backend non disponibile. Ad esempio, i recenti tentativi di comunicazione con il backend non sono andati a buon fine oppure un controllo di integrità potrebbe aver restituito un errore. | 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 della ricezione di 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 riesce a 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 rilevato 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_restart |
Il proxy che gestisce la connessione sta per essere riavviato in base a una pianificazione. Questo è un log informativo. | 0 |
proxy_internal_response |
Il bilanciatore del carico ha generato la risposta senza tentare di connettersi al backend. | Qualsiasi codice di stato a seconda del tipo di problema. Ad esempio, il codice di stato 410 indica che il backend non è disponibile a causa di un mancato pagamento. |
tls_protocol_error |
Il bilanciatore del carico ha riscontrato un errore TLS durante l'handshake TLS. | 0 |
tls_certificate_error |
Il bilanciamento del carico ha riscontrato un errore al momento della verifica del certificato presentato dal server. | 0 |
tls_alert_received |
Il bilanciatore del carico ha rilevato un avviso TLS irreversibile durante l'handshake TLS. | 0 |
Campo proxyStatus details
Il campo proxyStatus contiene una stringa che specifica perché il bilanciatore del carico ha restituito un log di errori o informazioni. Il campo proxyStatus è composto da due parti: proxyStatus status e proxyStatus details.
Il campo proxyStatus details è facoltativo e viene visualizzato solo quando
sono disponibili informazioni aggiuntive.
Questa sezione descrive le stringhe supportate nel campo
proxyStatus details.
Il campo proxyStatus details è applicabile ai seguenti bilanciatori del carico:
- Bilanciatore del carico di rete proxy esterno globale
- Bilanciatore del carico di rete proxy esterno regionale
- Bilanciatore del carico di rete proxy interno regionale
- Bilanciatore del carico di rete proxy interno tra regioni
| Dettagli di proxyStatus | Descrizione | Codici di stato della risposta aggiuntivi comuni |
|---|---|---|
client_disconnected_before_any_response |
La connessione al client è stata interrotta prima che il bilanciatore del carico inviasse una risposta. | 0 |
client_hello_too_large |
ClientHello ricevuto è eccessivamente grande. L'errore comporta la chiusura della connessione TLS (anteprima). | 0 |
destination_not_found |
Il bilanciatore del carico non è in grado di determinare il backend appropriato. Ad esempio, il nome host SNI indicato non corrispondeva (vedi jsonPayload.tls.sni per l'SNI indicato). L'errore comporta la chiusura della connessione TLS. (Anteprima) | 0 |
invalid_sni_rfc_6066 |
Il nome host SNI indicato non è valido. SNI deve essere il nome host DNS completo. L'errore comporta la chiusura della connessione. Anteprima) | 0 |
client_hello_not_detected |
TLS non è stato trovato nella connessione. L'errore comporta la chiusura della connessione. (Anteprima) | 0 |
backend_connection_closed |
Il backend ha chiuso inaspettatamente la connessione al bilanciatore del carico. Ciò può accadere se il bilanciatore del carico invia traffico a un'altra entità, ad esempio un'applicazione di terze parti con un timeout TCP più breve del 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 selezionare un backend integro per gestire la richiesta. | 502 |
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 |
request_overall_timeout |
È stato superato il timeout totale della richiesta. Per saperne di più, vedi Errori registrati per le connessioni chiuse. | 408, 503, 504 |
tls_version_not_supported |
La versione del protocollo TLS è riconosciuta, ma non supportata. L'errore comporta la chiusura della connessione TLS. | 0 |
unknown_psk_identity |
I server inviano questo errore quando è richiesta la creazione della chiave PSK, ma il client non fornisce un'identità PSK accettabile. L'errore comporta la chiusura della connessione TLS. | 0 |
no_application_protocol |
Inviato dai server quando un'estensione"application_layer_protocol_negotiation" del client pubblicizza solo protocolli non supportati dal server. Vedi Estensione di negoziazione del protocollo a livello di applicazione TLS. L'errore comporta la chiusura della connessione TLS. | 0 |
no_certificate |
Nessun certificato trovato. L'errore comporta la chiusura della connessione TLS. | 0 |
bad_certificate |
Un certificato non è valido o contiene firme che non è stato possibile verificare. L'errore comporta la chiusura della connessione TLS. | 0 |
unsupported_certificate |
Un certificato è di un tipo non supportato. L'errore comporta la chiusura della connessione TLS. | 0 |
certificate_revoked |
Un certificato è stato revocato dal firmatario. L'errore comporta la chiusura della connessione TLS. | 0 |
certificate_expired |
Un certificato è scaduto o non è valido. L'errore comporta la chiusura della connessione TLS. | 0 |
certificate_unknown |
Durante l'elaborazione del certificato sono emersi alcuni problemi non specificati che lo hanno reso inaccettabile. L'errore comporta la chiusura della connessione TLS. | 0 |
unknown_ca |
È stata ricevuta una catena di certificati valida o parziale, ma il certificato non può essere accettato perché non è possibile individuare il certificato CA o associarlo a un trust anchor noto. L'errore comporta la chiusura della connessione TLS. | 0 |
unexpected_message |
È stato ricevuto un messaggio inappropriato, ad esempio un messaggio di handshake errato o dati dell'applicazione prematuri. L'errore comporta la chiusura della connessione TLS. | 0 |
bad_record_mac |
Viene ricevuto un record che non può essere protetto. L'errore comporta la chiusura della connessione TLS. | 0 |
record_overflow |
È stato ricevuto un record TLSCiphertext con una lunghezza superiore a 214+256 byte oppure un record è stato decriptato in un record TLSPlaintext con più di 214 byte (o un altro limite negoziato). L'errore comporta la chiusura della connessione TLS. |
0 |
handshake_failure |
Impossibile negoziare un insieme accettabile di parametri di sicurezza date le opzioni disponibili. L'errore comporta la chiusura della connessione TLS. | 0 |
illegal_parameter |
Un campo dell'handshake era errato o incoerente con altri campi. L'errore comporta la chiusura della connessione TLS. | 0 |
access_denied |
È stato ricevuto un certificato o una PSK validi, ma quando è stato applicato ilcontrollo dell'accessoo dell'accesso, il client non ha proceduto con la negoziazione. L'errore comporta la chiusura della connessione TLS. | 0 |
decode_error |
Impossibile decodificare un messaggio perché alcuni campi non rientrano nell'intervallo specificato o la lunghezza del messaggio non è corretta. L'errore comporta una connessione TLS chiusa. | 0 |
decrypt_error |
Un'operazione crittografica di handshake (non a livello di record) non è riuscita, ad esempio non è stato possibile verificare correttamente una firma o convalidare un messaggio finito o un binder PSK. L'errore comporta la chiusura della connessione TLS. | 0 |
insufficient_security |
Una negoziazione non è riuscita perché il server richiede parametri più sicuri di quelli supportati dal client. L'errore comporta la chiusura della connessione TLS. | 0 |
inappropriate_fallback |
Inviato da un server in risposta a un tentativo di ripetizione della connessione non valido da parte di un client. L'errore comporta la chiusura della connessione TLS. | 0 |
user_cancelled |
L'utente ha annullato l'handshake per un motivo non correlato a un errore del protocollo. L'errore comporta la chiusura della connessione TLS. | 0 |
missing_extension |
Inviato da endpoint che ricevono un messaggio di handshake che non contiene un'estensione obbligatoria per l'invio per la versione TLS offerta o altri parametri negoziati. L'errore comporta la chiusura della connessione TLS. | 0 |
unsupported_extension |
Inviato da endpoint che ricevono un messaggio di handshake contenente
un'estensione nota per essere vietata per l'inclusione nel messaggio
di handshake specificato o che include estensioni in ServerHello
o Certificate che non è stata offerta per prima nel corrispondente
ClientHello o CertificateRequest.
L'errore comporta la chiusura della connessione TLS. |
0 |
unrecognized_name |
Inviato dai server quando non esiste un server identificabile con il nome fornito dal client tramite l'estensione "server_name". Consulta le definizioni delle estensioni TLS. | 0 |
bad_certificate_status_response |
Inviato dai client quando il server fornisce una risposta OCSP non valida o inaccettabile tramite l'estensione "status_request". Consulta le definizioni delle estensioni TLS. L'errore comporta la chiusura della connessione TLS. | 0 |
load_balancer_configured_resource_limits_reached |
Il bilanciatore del carico ha raggiunto i limiti delle risorse configurati, ad esempio il numero massimo di connessioni. | 0 |
Voci di log relative a connessioni TLS non riuscite
Quando la connessione TLS tra il client e il bilanciatore del carico non riesce prima che venga selezionato un backend, le voci di log registrano gli errori. Puoi configurare i
servizi di backend con diverse frequenze di campionamento dei log. Quando una connessione TLS non va a buon fine,
la frequenza di campionamento dei log delle connessioni TLS non riuscite è la più alta per qualsiasi
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 di connessione TLS non riuscita
è 0.5.
Puoi identificare le connessioni TLS non riuscite controllando questi 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 di backend.
Il seguente esempio mostra una voce di log TLS non riuscita con il campo
proxyStatus error:
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"
Etichette risorse
La tabella seguente elenca le etichette delle risorse per il tipo di risorsa
l4_proxy_rule.
| Campo | Tipo | Descrizione |
|---|---|---|
| network_name | string | Il nome della rete VPC del bilanciatore del carico. |
| project_id | string | L'identificatore del progetto Cloud de Confiance associato a questa risorsa. |
| region | string | La regione in cui è definito il bilanciatore del carico. |
| target_proxy_name | string | Il nome dell'oggetto proxy di destinazione a cui fa riferimento la regola di forwarding. |
| forwarding_rule_name | string | Il nome dell'oggetto regola di forwarding. |
| loadbalancing_scheme_name | string | Un attributo della regola di forwarding e del servizio di backend di un bilanciatore del carico che indica se quest'ultimo può essere utilizzato per il traffico interno o esterno. |
| backend_target_name | string | Il nome del backend selezionato per gestire la richiesta. |
| backend_target_type | string | Il tipo di target di backend (BACKEND_SERVICE / UNKNOWN). |
| backend_name | string | Il nome del gruppo di istanza di backend o del gruppo di endpoint di rete (NEG). |
| backend_type | string | Il tipo di backend, ovvero un gruppo di istanze o un NEG oppure sconosciuto. Cloud Logging registra le richieste quando backend_type è |
| backend_scope | string | L'ambito del backend, ovvero il nome di una zona o di una regione. Potrebbe
essere UNKNOWN ogni volta che backend_name è sconosciuto. |
| backend_scope_type | string | L'ambito del backend (REGION/ZONE).
Potrebbe essere UNKNOWN ogni volta che backend_name è
sconosciuto. |
Monitoraggio
I bilanciatori del carico di rete proxy esportano i dati di monitoraggio in Cloud Monitoring.
Le metriche di monitoraggio possono essere utilizzate per:
- Valutare la configurazione, l'utilizzo e le prestazioni di un bilanciatore del carico.
- Risolvere i problemi.
- Migliorare l'utilizzo delle risorse e l'esperienza utente.
Frequenza e conservazione dei report sulle metriche
Le metriche per i bilanciatori del carico vengono raggruppate ed esportate in Monitoring ogni minuto. I dati di Monitoring vengono conservati per sei settimane.
Per impostazione predefinita, la dashboard fornisce l'analisi dei dati per l'ultima ora (1h).
Puoi richiedere l'analisi per un intervallo di tempo diverso selezionando uno degli intervalli preconfigurati dal menu o inserendo manualmente l'intervallo di tempo che preferisci. Ad esempio:
3h (per 3 ore) o 4d (per 4 giorni) o 6w (per sei settimane).
Metriche per i bilanciatori del carico di rete proxy classici
Le seguenti metriche per i bilanciatori del carico di rete proxy classici vengono riportate in Monitoring.
| Metrica | Nome | Descrizione |
|---|---|---|
| Traffico in entrata | tcp_ssl_proxy/ingress_bytes_count |
Il numero di byte inviati dagli endpoint esterni ai backend configurati tramite Google Front End (GFE), in byte al secondo. |
| Traffico in uscita | tcp_ssl_proxy/egress_bytes_count |
Il numero di byte inviati dai backend configurati agli endpoint esterni tramite GFE, in byte al secondo. |
| Connessioni aperte | tcp_ssl_proxy/open_connections |
Il numero di connessioni aperte nel momento del campionamento specificato. I campioni vengono prelevati a distanza di un minuto. |
| Nuove connessioni al secondo | tcp_ssl_proxy/new_connections |
Il numero di connessioni create (il client si è connesso correttamente al backend). La granularità del conteggio è al minuto, ma i grafici vengono modificati per mostrare i valori al secondo. Per saperne di più, consulta la documentazione di Monitoring. |
| Connessioni chiuse al secondo | tcp_ssl_proxy/closed_connections |
Il numero di connessioni chiuse. La granularità del conteggio è al minuto, ma i grafici vengono modificati per mostrare i valori al secondo. Per saperne di più, consulta la documentazione di Monitoring. |
| RTT frontend | tcp_ssl_proxy/frontend_tcp_rtt |
Una distribuzione del tempo di round trip (RTT) uniformato misurato per ogni connessione tra il client e GFE (misurato dallo stack TCP di GFE, ogni volta che i byte del livello applicazione passano da GFE al client). L'RTT uniformato è un algoritmo che gestisce le variazioni e le anomalie che potrebbero verificarsi nelle misurazioni dell'RTT. |
Metriche per altri bilanciatori del carico
Le seguenti metriche per i bilanciatori del carico di rete proxy interni regionali, i bilanciatori del carico di rete proxy esterni regionali, il bilanciatore del carico di rete proxy interno tra regioni e i bilanciatori del carico di rete proxy esterni globali vengono riportate in Monitoring.
| Metrica | Nome | Descrizione |
|---|---|---|
| Traffico in entrata | l4_proxy/ingress_bytes_count |
Il numero di byte inviati dal client alla VM di backend tramite il proxy. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati non sono visibili per un massimo di 210 secondi. |
| Traffico in uscita | l4_proxy/egress_bytes_count |
Il numero di byte inviati dalla VM di backend al client tramite il proxy. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati non sono visibili per un massimo di 210 secondi. |
| Connessioni chiuse al secondo | l4_proxy/tcp/closed_connections_count |
Il numero di connessioni terminate utilizzando un messaggio TCP RST o TCP FIN. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati non sono visibili per un massimo di 210 secondi. |
Filtrare le dimensioni per le metriche
Le metriche vengono aggregate per ogni bilanciatore del carico. Le metriche possono essere ulteriormente suddivise in base alle seguenti dimensioni.
| Proprietà | Descrizione |
|---|---|
| AMBITO DEL BACKEND | L'ambito (regione o zona) del gruppo di istanze che ha gestito la connessione. |
| ZONA DI BACKEND | Se il gruppo di istanze era un gruppo di istanze zonale, la zona del gruppo di istanze che ha gestito la connessione. |
| REGIONE DI BACKEND | Se il gruppo di istanze era un gruppo di istanze regionale, la regione del gruppo di istanze che ha gestito la connessione. |
| PROXY CONTINENT | Il continente del GFE che ha terminato la connessione TCP/SSL dell'utente, ad esempio America, Europe, Asia.
|
| GRUPPO DI ISTANZE | Il nome del gruppo di istanze che ha ricevuto la connessione dell'utente. |
| REGOLA DI FORWARDING | Il nome della regola di forwarding utilizzata per connettersi al GFE. |
| CLIENT COUNTRY | Il nome del paese dell'utente. |
Passaggi successivi
- Per scoprire come funzionano i criteri SSL, consulta la panoramica dei criteri SSL.
- Per scoprire come funzionano i bilanciatori del carico di rete proxy esterni, consulta la panoramica del bilanciatore del carico di rete proxy esterno.
- Per scoprire come funzionano i bilanciatori del carico di rete proxy interni, consulta la panoramica del bilanciatore del carico di rete proxy interno.