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 nel logging | "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 |
Logging per 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 offrono insight su come ogni connessione viene instradata ai backend di gestione.
Non sono previsti costi aggiuntivi per l'utilizzo dei log. Tuttavia, in base a come importi i log, si applicano i prezzi standard per Cloud Logging, BigQuery o Pub/Sub. Inoltre, l'abilitazione dei log non influisce sulle prestazioni del bilanciatore del carico.
Campionamento e raccolta dei log
Le connessioni che escono ed entrano nelle istanze di macchina virtuale (VM) 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. Se logConfig.sampleRate
è 1.0
(100%), i log vengono generati per tutte le connessioni e scritti in Cloud Logging.
Abilita il logging su un nuovo servizio di backend
gcloud
Usa 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 il logging è abilitato per questo servizio di backend.
Il valore del campo deve provenire da
0.0 to 1.0
, dove0.0
significa che non vengono segnalati log, mentre1.0
significa che tutte le connessioni vengono registrate. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
è equivalente 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 provenire da
0.0 to 1.0
, dove0.0
significa che non vengono segnalati log, mentre1.0
significa che tutte le connessioni vengono registrate. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
è equivalente 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 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 \ --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 provenire da
0.0 to 1.0
, dove0.0
significa che non vengono segnalati log, mentre1.0
significa che tutte le connessioni vengono registrate. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
è equivalente a disabilitare il logging. Il valore predefinito è1.0
.
API
Effettua una richiesta PATCH
al
metodo
regionBackendServices/patch
:
PATCH https://compute.googleapis.com/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:
Effettua una richiesta PATCH
al
metodo
backendServices/patch
:
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:
Effettua una richiesta PATCH
al
metodo
backendServices/patch
:
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:
Effettua una richiesta PATCH
al
metodo
backendServices/patch
:
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 provenire da
0.0 to 1.0
, dove0.0
significa che non vengono segnalati log, mentre1.0
significa che tutte le connessioni vengono registrate. Abilitare il logging, ma impostare la frequenza di campionamento su0.0
è equivalente a disabilitare il logging. Il valore predefinito è1.0
.
Disabilita 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:
Effettua 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:
Effettua 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 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 Google Cloud, vai alla pagina Esplora log.
Seleziona il tipo di risorsa Proxy Network Load Balancer.
Seleziona il nome log loadbalancing.googleapis.com/connections.
Query sulla console
Nella console Google Cloud, vai alla pagina Esplora log.
Fai clic sul pulsante di attivazione/disattivazione Mostra query.
Incolla il codice seguente 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_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: il nome del progetto.
Visualizza i log per un servizio di backend specifico
Per visualizzare i log per un servizio di backend specifico, completa i seguenti passaggi.
Query sulla console
Nella console Google Cloud, vai alla pagina Esplora log.
Fai clic sul pulsante di attivazione/disattivazione Mostra query.
Incolla il codice seguente 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_rule
otcp_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 per uno specifico gruppo di istanza di backend, completa i seguenti passaggi.
Query sulla console
Nella console Google Cloud, vai alla pagina Esplora log.
Fai clic sul pulsante di attivazione/disattivazione Mostra query.
Incolla il codice seguente 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_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: il nome del progetto.BACKEND_GROUP_NAME
: il nome del gruppo di istanze.
Che cosa viene registrato
Le voci di log contengono informazioni utili per il monitoraggio e il debug del traffico. I record di log contengono campi obbligatori, che sono i campi predefiniti di ogni record di 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 associato a una voce di log. MonitoredResourceDescriptor
descrive lo schema di un oggetto |
jsonPayload | oggetto (formato Struct) | Obbligatorio | Il payload della voce di log espresso come oggetto JSON. L'oggetto JSON contiene i seguenti campi:
|
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ù dati in un determinato campo: questi
campi di log sono in un formato a più campi. Ad esempio, il campo connection
è in formato IpConnection
, che contiene l'indirizzo IP di origine e di destinazione e la porta, oltre al protocollo, in un unico campo. Questi campi di log multicampo sono descritti nella seguente tabella dei formati record.
La seguente tabella elenca tutti i campi di log obbligatori per la risorsa l4_proxy_rule.
Campo | Formato del campo | Descrizione |
---|---|---|
connessione | IpConnection | 5-Tupla che descrive questa connessione. |
startTime | string | Timestamp (nel formato di stringa per la data RFC 3339) quando la connessione dal 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 campo IpConnection
Campo | Tipo | Descrizione |
---|---|---|
clientIp | string | Indirizzo IP client |
clientPort | int32 | Porta del client. Impostato solo per connessioni TCP e UDP. |
serverIp | string | Indirizzo IP server (IP regola di forwarding) |
serverPort | int32 | Porta del server. Impostato solo per connessioni TCP e UDP. |
protocollo | int32 | Numero di protocollo IANA |
campo errore proxyStatus
Il campo proxyStatus
contiene una stringa che specifica perché il bilanciatore del carico ha restituito un errore. Il campo proxyStatus
è costituito 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 di accompagnamento |
---|---|---|
destination_unavailable
|
Il bilanciatore del carico considera il backend non disponibile. Ad esempio, i recenti tentativi di comunicazione con il backend non sono riusciti o un controllo di integrità potrebbe aver causato 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 valore
|
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 in modo da limitare il numero di connessioni di cui dispone al backend e questo limite è stato superato. Questo valore
|
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 del backend. | 502, 503 |
proxy_configuration_error
|
Il bilanciatore del carico ha riscontrato un errore di configurazione interno. | 500 |
proxy_internal_error
|
Si è verificato un errore interno del bilanciatore del carico. | 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 pagamenti.
|
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. | 0 |
tls_alert_received
|
Il bilanciatore del carico ha riscontrato un avviso TLS irreversibile durante l'handshake TLS. | 0 |
campo dettagli proxyStatus
Il campo proxyStatus
contiene una stringa che specifica perché il bilanciatore del carico ha restituito un errore. Il campo proxyStatus
è costituito da due parti, proxyStatus error
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 proxyStatus | Descrizione | Codici di risposta comuni di accompagnamento |
---|---|---|
client_disconnected_before_any_response
|
La connessione al client si è interrotta prima che il bilanciatore del carico inviasse qualsiasi 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à, ad esempio 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 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
|
Il timeout totale della richiesta è stato superato. | 408, 503, 504 |
tls_version_not_supported
|
La versione del protocollo TLS è riconosciuta, ma non supportata. L'errore genera una connessione TLS chiusa. | 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 genera una connessione TLS chiusa. | 0 |
no_application_protocol
|
Inviato dai server quando un'estensione client"application_layer_protocol_negotiation" pubblicizza solo protocolli non supportati dal server. Vedi Estensione di negoziazione del protocollo a livello di applicazione TLS. L'errore causa 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 causa una connessione TLS chiusa. | 0 |
unsupported_certificate
|
Il certificato è di un tipo non supportato. L'errore determina la chiusura di una connessione TLS. | 0 |
certificate_revoked
|
Un certificato è stato revocato dal firmatario. L'errore determina la chiusura di una connessione TLS. | 0 |
certificate_expired
|
Un certificato è scaduto o non è valido. L'errore determina la chiusura di una connessione TLS. | 0 |
certificate_unknown
|
Si sono verificati alcuni problemi non specificati durante l'elaborazione del certificato, che lo hanno reso inaccettabile. L'errore causa 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 individuare il certificato CA o abbinarlo a un trust anchor noto. L'errore causa una connessione TLS chiusa. | 0 |
unexpected_message
|
È stato ricevuto un messaggio inappropriato, ad esempio un messaggio di handshake errato o dati prematuri dell'applicazione. L'errore causa una connessione TLS chiusa. | 0 |
bad_record_mac
|
È stato ricevuto un record che non può essere rimosso. L'errore genera una connessione TLS chiusa. | 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 causa una connessione TLS chiusa.
|
0 |
handshake_failure
|
Impossibile negoziare un set accettabile di parametri di sicurezza date 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 o una PSK validi, ma quando è stato applicato il controllo dell'accesso dell'accesso, il client non ha proceduto alla negoziazione. L'errore causa una connessione TLS chiusa. | 0 |
decode_error
|
Impossibile decodificare un messaggio perché alcuni campi non rientrano nell'intervallo specificato o perché la lunghezza del messaggio non era corretta. L'errore genera una connessione TLS chiusa. | 0 |
decrypt_error
|
Un'operazione crittografica di handshake (non a livello di record) non è riuscita, inclusa l'impossibilità di verificare correttamente una firma o convalidare un messaggio finito o un binder PSK. L'errore causa 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 genera una connessione TLS chiusa. | 0 |
inappropriate_fallback
|
Inviato da un server in risposta a un nuovo tentativo di connessione non valido da un client. L'errore causa una connessione TLS chiusa. | 0 |
user_cancelled
|
L'utente annulla l'handshake per qualche motivo non correlato a un errore del protocollo. L'errore causa una connessione TLS chiusa. | 0 |
missing_extension
|
Inviato da endpoint che ricevono un messaggio di handshake non contenente un'estensione obbligatoria per l'invio per la versione TLS offerta o altri parametri negoziati. L'errore causa una connessione TLS chiusa. | 0 |
unsupported_extension
|
Inviato da endpoint che ricevono messaggi di handshake contenente un'estensione di cui è nota che non è consentita l'inclusione nel messaggio di handshake specificato, o che includono eventuali estensioni in ServerHello o Certificate che non sono state offerte prima nei corrispondenti ClientHello o CertificateRequest .
L'errore causa una connessione TLS chiusa.
|
0 |
unrecognized_name
|
Inviato dai server quando non esiste alcun server che possa essere identificato dal nome fornito dal client tramite l'estensione "server_name". Vedi Definizioni delle estensioni TLS. | 0 |
bad_certificate_status_response
|
Inviato dai client quando il server fornisce una risposta OCSP non valida o non accettabile tramite l'estensione "status_request". Vedi 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 configurati per le risorse, ad esempio il numero massimo di connessioni. | 400, 500, 503 |
Voci di log per la connessione TLS non riuscite
In caso di errore della connessione TLS tra il client e il bilanciatore del carico prima
della selezione di qualsiasi 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 di logging come 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 voce di log:
- Il tipo di errore proxyStatus è
tls_alert_received
,tls_certificate_error
,tls_protocol_error
oconnection_terminated
. - Nessuna informazione di backend.
L'esempio seguente mostra una voce di log TLS con errori 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 Google Cloud associato a questa risorsa. |
region [regione] | 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 della regola di forwarding. |
loadbalancing_scheme_name | string | Attributo nella regola di forwarding e nel 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 destinazione del 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, gruppo di istanze, NEG oppure sconosciuto. Cloud Logging registra le richieste quando il valore backend_type è |
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 ).
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:
- Valuta la configurazione, l'utilizzo e le prestazioni di un bilanciatore del carico.
- Risolvere i problemi.
- Migliora l'utilizzo delle risorse e l'esperienza utente.
Oltre alle dashboard predefinite in Monitoring, puoi creare dashboard personalizzate, configurare avvisi e metriche delle query utilizzando l'API Cloud Monitoring.
Visualizza le dashboard di Monitoring
Nella console Google Cloud, vai alla pagina Monitoring.
Se nel riquadro di navigazione viene visualizzata la voce Risorse, seleziona Risorse, quindi Bilanciatori del carico Google Cloud. Altrimenti, seleziona Dashboard, quindi la dashboard denominata Bilanciatori del carico Google Cloud.
Fai clic sul nome del bilanciatore del carico.
Nel riquadro a sinistra puoi vedere vari dettagli relativi a questo bilanciatore del carico. Nel riquadro di destra puoi visualizzare i grafici delle serie temporali. Per visualizzare suddivisioni specifiche, fai clic su Suddivisione.
Frequenza e fidelizzazione dei report sulle metriche
Le metriche per i bilanciatori del carico vengono esportate in Monitoring in batch di 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 modificata).
La dashboard fornisce l'analisi dei dati in intervalli predefiniti di 1 ora (un'ora), 6 ore (sei ore), 1 giorno (un giorno), 1 W (una settimana) e 6 ore (sei settimane). Puoi richiedere manualmente l'analisi in un intervallo compreso tra sei settimane e un minuto.
Metriche per bilanciatori del carico di rete proxy classici
Le seguenti metriche per i bilanciatori del carico di rete proxy classici vengono segnalate in Monitoring.
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 il GFE, in byte al secondo. |
Connessioni aperte | tcp_ssl_proxy/open_connections |
Il numero di connessioni aperte nel momento di campionamento specificato. I campioni vengono presi a un minuto di distanza l'uno dall'altro. |
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 sono regolati in modo da mostrare i valori al secondo. Per ulteriori informazioni, 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 sono regolati in modo da mostrare i valori al secondo. Per ulteriori informazioni, consulta la documentazione di Monitoring. |
RTT frontend | tcp_ssl_proxy/frontend_tcp_rtt |
Una distribuzione del tempo di round trip livellato (RTT) misurato per ogni connessione tra il client e il GFE (misurato dallo stack TCP del GFE, ogni volta che i byte del livello dell'applicazione passano dal GFE al client). RTT fluido è un algoritmo che gestisce le variazioni e le anomalie che potrebbero verificarsi nelle misurazioni RTT. |
Metriche per altri bilanciatori del carico
Vengono segnalate in Monitoring le seguenti metriche per bilanciatori del carico di rete proxy interni regionali, bilanciatori del carico di rete proxy esterni regionali, bilanciatore del carico di rete proxy interno tra regioni e bilanciatori del carico di rete proxy esterni globali.
Metrica | Nome | Descrizione |
---|---|---|
Traffico in entrata | l4_proxy/ingress_bytes_count |
Il numero di byte inviati dal client alla VM di backend utilizzando 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 tramite un messaggio RST TCP o FIN. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati non sono visibili per un massimo di 210 secondi. |
Filtrare le dimensioni in base alle metriche
Le metriche vengono aggregate per ogni bilanciatore del carico. Le metriche possono essere ulteriormente suddivise in base alle dimensioni riportate di seguito.
Proprietà | Descrizione |
---|---|
AMBITO DI BACKEND | L'ambito (regione o zona) del gruppo di istanze che ha gestito la connessione. |
ZONA BACKEND | Se il gruppo di istanze era un gruppo di istanze a livello di zona, la zona del gruppo di istanze che ha gestito la connessione. |
REGIONE DI BACKEND | Se il gruppo di istanze era a livello di regione, la regione del gruppo di istanze che ha gestito la connessione. |
CONTINENTE PROXY | 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 PER L'INOLTRO | Il nome della regola di forwarding utilizzata per connettersi al GFE. |
PAESE DEL CLIENTE | Il nome del paese dell'utente. |
Passaggi successivi
- Per informazioni sul funzionamento dei criteri SSL, consulta la panoramica dei criteri SSL.
- Per scoprire come funzionano i bilanciatori del carico di rete proxy esterno, consulta la panoramica sul bilanciatore del carico di rete proxy esterno.
- Per scoprire come funzionano i bilanciatori del carico di rete proxy interno, consulta Panoramica del bilanciatore del carico di rete proxy interno.