Questa pagina mostra come configurare e utilizzare Cloud Logging e Cloud Monitoring per i bilanciatori del carico di rete proxy.
Monitoraggio delle risorse
La tabella seguente specifica i nomi delle risorse per i bilanciatori del carico.
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 Bilanciatore del carico di rete proxy esterno globale |
Bilanciatore del carico di rete proxy classico | |
---|---|---|
Tipo di risorsa monitorata di Log | "Regola del bilanciatore del carico di rete proxy"l4_proxy_rule |
"Regola del bilanciatore del carico di rete proxy esterno globale"tcp_ssl_proxy_rule |
Monitoraggio del tipo di risorsa monitorata | "Regola del bilanciatore del carico di rete proxy"l4_proxy_rule |
"Regola del bilanciatore del carico di rete proxy esterno globale"tcp_ssl_proxy_rule |
Log 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 sul rendimento 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 poi elaborate per generare i log. Puoi controllare la frazione di connessioni che vengono generate 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 connessioni e scritti in Cloud Logging.
Abilita 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 esterni 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 la registrazione è attivata per questo servizio di backend.
Il valore del campo deve essere compreso tra
0.0 to 1.0
, dove0.0
indica che non vengono registrati log e1.0
indica che tutte le connessioni vengono registrate. Attivare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
API
Invia una richiesta POST
al
metodo regionBackendServices.insert
:
Per i bilanciatori del carico di rete proxy interni a livello di regione:
{ "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 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:
Invia 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:
Invia 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 la registrazione è attivata per questo servizio di backend.
Il valore del campo deve essere compreso tra
0.0 to 1.0
, dove0.0
indica che non vengono registrati log e1.0
indica che tutte le connessioni vengono registrate. Attivare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
Attivare 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 interno 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 la registrazione è attivata per questo servizio di backend.
Il valore del campo deve essere compreso tra
0.0 to 1.0
, dove0.0
indica che non vengono registrati log e1.0
indica che tutte le connessioni vengono registrate. Attivare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
API
Invia una richiesta PATCH
al
regionBackendServices/patch
metodo:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
Per i bilanciatori del carico di rete proxy interni a livello di regione:
{ "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
backendServices/patch
metodo:
PATCH https://compute.googleapis.com/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
backendServices/patch
metodo:
PATCH https://compute.googleapis.com/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
backendServices/patch
metodo:
PATCH https://compute.googleapis.com/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.0
indica che non vengono registrati log e1.0
indica che tutte le connessioni vengono registrate. Attivare il logging, ma impostare la frequenza di campionamento su0.0
equivale a disattivare il logging. Il valore predefinito è1.0
.
Disattivare 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 esterni 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:
Invia una richiesta PATCH
al
metodo regionBackendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE { "logConfig": { "enable": false } }
Per i bilanciatori del carico di rete proxy esterni globali, i bilanciatori del carico di rete proxy classici o i bilanciatori del carico di rete proxy interni tra regioni:
Invia una richiesta PATCH
al
metodo backendServices/patch
:
PATCH https://compute.googleapis.com/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 sono esclusi tramite un destinatario del router di log, puoi leggerli utilizzando l'API Cloud Logging e l'interfaccia a riga di comando Google Cloud.
Per visualizzare tutti i log, completa i seguenti passaggi.
Console
Nella console Google Cloud, vai alla pagina Esplora log.
Seleziona il tipo di risorsa Regola del bilanciatore del carico di rete proxy.
Seleziona il nome del log loadbalancing.googleapis.com/connections.
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.
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 per il logging impostato sul4_proxy_rule
otcp_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:
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.
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 per il logging impostato sul4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: il nome del progetto.BACKEND_SERVICE_NAME
: il nome del servizio di backend.
Visualizzare i log di un gruppo di istanza di backend
Per visualizzare i log di un gruppo di istanza di backend specifico, 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.
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 per il logging impostato sul4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: il nome del progetto.BACKEND_GROUP_NAME
: il nome del gruppo di istanze.
Che cosa viene registrato nei log
Le voci di log contengono informazioni utili per monitorare ed eseguire il debug del traffico. I record dei log contengono campi obbligatori, che sono i campi predefiniti di ogni record del log.
Campo | Formato del campo | Tipo di campo: obbligatorio o facoltativo | Descrizione |
---|---|---|---|
severity timestamp receiveTimestamp insertID logName |
LogEntry | Obbligatorio | I campi generali descritti in una voce di log. |
resource | MonitoredResource | Obbligatorio | MonitoredResource è il tipo di risorsa associata a una voce di log. MonitoredResourceDescriptor descrive lo schema di un oggetto |
jsonPayload | object (formato Struct) | Obbligatorio | Il payload della voce di log espresso come oggetto JSON. L'oggetto JSON contiene i seguenti campi:
|
Campi log
I record dei log contengono campi obbligatori, che sono i campi predefiniti di ogni record del log.
Alcuni campi di log contengono più di un dato in un determinato campo. Questi campi di log sono in un formato multicampo. Ad esempio, il campo connection
è nel formato IpConnection
, che contiene l'indirizzo IP e la porta di origine e di destinazione, oltre al protocollo, in un unico campo. Questi campi del log con più campi sono descritti nella seguente tabella del formato dei record.
La tabella seguente elenca tutti i campi di log obbligatori per la risorsa l4_proxy_rule.
Campo | Formato del campo | Descrizione |
---|---|---|
Connessione | IpConnection | Tupla di 5 elementi che descrive questa connessione. |
startTime | string | Timestamp (nel formato di stringa per la data RFC 3339) quando la connessione del client è stata accettata dal bilanciatore del carico. |
endTime | string | Timestamp (nel formato di stringa per la data RFC 3339) quando 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 del client |
clientPort | int32 | Porta client. Impostato solo per le connessioni TCP e UDP. |
serverIp | string | Indirizzo IP del server (IP regola di forwarding) |
serverPort | int32 | Porta del server. Impostato solo per le connessioni TCP e UDP. |
protocollo | int32 | Numero di protocollo IANA |
Campo di errore 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
.
Questa sezione descrive le stringhe supportate nel campo proxyStatus error
.
Il campo proxyStatus error è 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
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 riscontrato 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 insolvenza nei pagamenti.
|
tls_protocol_error
|
Il bilanciatore del carico ha rilevato 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. | 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 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 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 in modo imprevisto 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 i 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 |
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. | 408, 503, 504 |
tls_version_not_supported
|
La versione del protocollo TLS è riconosciuta, ma non supportata. L'errore comporta una connessione TLS chiusa. | 0 |
unknown_psk_identity
|
I server inviano questo errore quando è richiesta l'istituzione della chiave PSK, ma il client non fornisce un'identità PSK accettabile. L'errore comporta una connessione TLS chiusa. | 0 |
no_application_protocol
|
Inviata dai server quando un'estensione"application_layer_protocol_negotiation" del client pubblicizza solo i protocolli non supportati dal server. Vedi Estensione per la negoziazione del protocollo TLS a livello di applicazione. L'errore comporta una connessione TLS chiusa. | 0 |
no_certificate
|
Nessun certificato trovato. L'errore comporta 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
|
Un certificato è di un tipo non supportato. L'errore comporta una connessione TLS chiusa. | 0 |
certificate_revoked
|
Un certificato è stato revocato dal firmatario. L'errore comporta una connessione TLS chiusa. | 0 |
certificate_expired
|
Un certificato è scaduto o non è valido. L'errore comporta una chiusura della 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 o una catena parziale valida, ma il certificato non è stato accettato perché non è stato possibile individuare il certificato CA o associarlo a un'ancora di attendibilità nota. 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 comporta una connessione TLS chiusa. | 0 |
bad_record_mac
|
Viene ricevuto un record che non può essere deprotetto. L'errore comporta una connessione TLS chiusa. | 0 |
record_overflow
|
È stato ricevuto un record TLSCiphertext di lunghezza superiore a 214+256 byte o un record è stato decriptato in un record TLSPlaintext con più di 214 byte (o un altro limite concordato). L'errore comporta una connessione TLS chiusa.
|
0 |
handshake_failure
|
Impossibile negoziare un insieme accettabile di parametri di sicurezza in base alle opzioni disponibili. L'errore comporta una connessione TLS chiusa. | 0 |
illegal_parameter
|
Un campo nell'handshake non era corretto o non era coerente con gli altri campi. L'errore comporta una connessione TLS chiusa. | 0 |
access_denied
|
È stato ricevuto un certificato o un PSK valido, ma quando è stato applicato controllo dell'accesso, il client non ha proceduto con la 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. L'errore comporta una connessione TLS chiusa. | 0 |
inappropriate_fallback
|
Inviata da un server in risposta a un tentativo di ripetizione della connessione non valido da parte di un client. L'errore comporta una connessione TLS chiusa. | 0 |
user_cancelled
|
L'utente annulla l'handshake per un motivo non correlato a un errore del protocollo. L'errore comporta 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 comporta 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 comporta 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
|
Inviata dai client quando il server fornisce una risposta OCSP non valida o non accettabile tramite l'estensione "status_request". Consulta le definizioni delle estensioni TLS. L'errore comporta una connessione TLS chiusa. | 0 |
load_balancer_configured_resource_limits_reached
|
Il bilanciatore del carico ha raggiunto i limiti di risorse configurati, ad esempio 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 del log della connessione TLS non riuscita è 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 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 di 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"
Etichette risorse
La tabella seguente elenca le etichette 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 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 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, un gruppo di istanze o un NEG oppure sconosciuto. Cloud Logging registra le richieste quando il valore di backend_type è |
backend_scope | string | L'ambito del backend, ovvero 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 ).
Potrebbe essere UNKNOWN se 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:
- Valuta la configurazione, l'utilizzo e le prestazioni di un bilanciatore del carico.
- Risolvere i problemi.
- Migliorare l'utilizzo delle risorse e l'esperienza utente.
Oltre alle dashboard predefinite in Monitoraggio, puoi creare dashboard personalizzate, configurare avvisi ed eseguire query sulle metriche utilizzando l'API Cloud Monitoring.
Visualizzare le dashboard di monitoraggio
Nella console Google Cloud, vai alla pagina Monitoring.
Se nel riquadro di navigazione viene visualizzato Risorse, seleziona Risorse e poi Bilanciatori del carico Google Cloud. In caso contrario, seleziona Dashboard e poi la dashboard Bilanciatori del carico Google Cloud.
Fai clic sul nome del bilanciatore del carico.
Nel riquadro di sinistra puoi vedere vari dettagli relativi a questo bilanciatore del carico. Nel riquadro a destra puoi vedere i grafici delle serie temporali. Per visualizzare suddivisioni specifiche, fai clic su Suddivisioni.
Frequenza e conservazione dei report sulle metriche
Le metriche per i bilanciatori del carico vengono esportate in Monitoring in batch con granularità di un minuto. I dati di monitoraggio vengono conservati per sei (6) settimane. Le metriche si basano sul traffico campionato (la frequenza di campionamento è dinamica e non può essere aggiustata).
La dashboard fornisce l'analisi dei dati in intervalli predefiniti di 1H (un'ora), 6H (sei ore), 1G (un giorno), 1S (una settimana) e 6S (sei settimane). Puoi richiedere manualmente un'analisi in qualsiasi intervallo compreso tra sei settimane e un minuto.
Metriche per i bilanciatori del carico di rete proxy classici
Le seguenti metriche per i bilanciatori del carico di rete proxy classici vengono registrate in Monitoraggio.
Metrica | Nome | Descrizione |
---|---|---|
Traffico in entrata | tcp_ssl_proxy/ingress_bytes_count |
Il numero di byte inviati da 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 campione specificato. I campioni vengono acquisiti con un intervallo di un minuto. |
Nuove connessioni al secondo | tcp_ssl_proxy/new_connections |
Il numero di connessioni create (client connesso correttamente al backend). La granularità del conteggio è al minuto, ma i grafici vengono regolati per mostrare i valori al secondo. Per ulteriori informazioni, consulta la documentazione sul monitoraggio. |
Connessioni chiuse al secondo | tcp_ssl_proxy/closed_connections |
Il numero di connessioni chiuse. La granularità del conteggio è al minuto, ma i grafici vengono regolati per mostrare i valori al secondo. Per ulteriori informazioni, consulta la documentazione sul monitoraggio. |
RTT del frontend | tcp_ssl_proxy/frontend_tcp_rtt |
Una distribuzione del tempo di round trip (RTT) uniformato misurata per ogni connessione tra il client e il GFE (misurata dallo stack TCP del GFE, ogni volta che i byte del livello di applicazione passano dal GFE al client). Il RTT appiattito è un algoritmo che gestisce le variazioni e le anomalie che possono verificarsi nelle misurazioni del 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, i bilanciatori del carico di rete proxy interni tra regioni e i bilanciatori del carico di rete proxy esterni globali vengono registrate in Monitoraggio.
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 suddivise ulteriormente in base alle seguenti dimensioni.
Proprietà | Descrizione |
---|---|
AMBITO DI BACKEND | L'ambito (regione o zona) del gruppo di istanze che ha eseguito la connessione. |
ZONA BACKEND | Se il gruppo di istanze era un gruppo di istanze zonale, la zona del gruppo di istanze che ha servito la connessione. |
REGIONE DI BACKEND | Se il gruppo di istanze era un gruppo di istanze regionale, la regione del gruppo di istanze che ha servito 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 dei bilanciatori del carico di rete proxy esterni.
- Per scoprire come funzionano i bilanciatori del carico di rete proxy interni, consulta la panoramica dei bilanciatori del carico di rete proxy interni.