Logging e monitoraggio del bilanciatore del carico di rete proxy

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 del 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 del 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 per fornirti insight su come ogni connessione viene instradata ai backend di servizio.

Non sono previsti costi aggiuntivi per l'utilizzo dei log. Tuttavia, in base a come importi log, prezzi standard per Cloud Logging, BigQuery o Pub/Sub. Inoltre, l'abilitazione dei log non influisce le prestazioni del bilanciatore del carico.

Campionamento e raccolta dei log

Le connessioni che escono ed entrano nella macchina virtuale backend del bilanciatore del carico (VM) sono campionate. Queste connessioni campionate vengono quindi elaborate per generare i log. Puoi controllare la frazione delle connessioni vengono emesse come voci di log in base logConfig.sampleRate . Se 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 la gcloud compute backend-services create un comando kubectl.

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 oppure 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 backend completamente gestito di Google Cloud.
  • 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, dove 0.0 significa che non vengono segnalati log e 1.0 significa che tutte le connessioni vengono registrate. È in corso l'abilitazione del logging, ma l'impostazione la frequenza di campionamento a 0.0 equivale a disabilitare il logging. Il valore predefinito è 1.0.

API

Invia una richiesta POST a 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:

Invia una richiesta POST a 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 a 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 a Metodo backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Sostituisci quanto segue:

  • BACKEND_SERVICE: il nome del backend completamente gestito di Google Cloud.
  • 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, dove 0.0 significa che non vengono segnalati log e 1.0 significa che tutte le connessioni vengono registrate. È in corso l'abilitazione del logging, ma l'impostazione la frequenza di campionamento a 0.0 equivale a disabilitare il logging. Il valore predefinito è 1.0.

Abilita il logging su un servizio di backend esistente

gcloud

Utilizza la 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 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 backend completamente gestito di Google Cloud.
  • 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, dove 0.0 significa che non vengono segnalati log e 1.0 significa che tutte le connessioni vengono registrate. È in corso l'abilitazione del logging, ma l'impostazione frequenza di campionamento a 0.0 equivale a disabilitare il logging. Il valore predefinito è 1.0.

API

Invia una richiesta PATCH a 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:

Invia una richiesta PATCH a 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:

Invia una richiesta PATCH a 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:

Invia una richiesta PATCH a 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 backend completamente gestito di Google Cloud.
  • 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, dove 0.0 significa che non vengono segnalati log e 1.0 significa che tutte le connessioni vengono registrate. È in corso l'abilitazione del logging, ma l'impostazione frequenza di campionamento a 0.0 equivale a disabilitare il logging. Il valore predefinito è 1.0.

Disabilita il logging su un servizio di backend esistente

gcloud

Utilizza la 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 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 a 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 oppure bilanciatori del carico di rete proxy interni tra regioni:

Invia una richiesta PATCH a 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 una Sink del router dei log, puoi leggere i log utilizzando API Cloud Logging e Google Cloud CLI.

Per visualizzare tutti i log, completa i seguenti passaggi.

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Seleziona il tipo di risorsa Proxy Network Load Balancer.

  3. Seleziona il nome log loadbalancing.googleapis.com/connections.

Query sulla console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla il codice seguente nel campo della query.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    
  4. Fai clic su Esegui query.

Sostituisci quanto segue:

  • LOG_RESOURCE_TYPE: la risorsa-monitorata di logging tipo impostato su l4_proxy_rule o tcp_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

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. 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"
    
  4. Fai clic su Esegui query.

Sostituisci quanto segue:

  • LOG_RESOURCE_TYPE: la risorsa-monitorata di logging tipo impostato su l4_proxy_rule o tcp_ssl_proxy_rule.
  • PROJECT_ID: il nome del progetto.
  • BACKEND_SERVICE_NAME: il nome del backend completamente gestito di Google Cloud.

Visualizza i log per un gruppo di istanza di backend

Per visualizzare i log per uno specifico gruppo di istanza di backend, completa la i seguenti passaggi.

Query sulla console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. 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"
    
  4. Fai clic su Esegui query.

Sostituisci quanto segue:

  • LOG_RESOURCE_TYPE: la risorsa-monitorata di logging tipo impostato su l4_proxy_rule o tcp_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 per via del traffico. I record di log contengono campi obbligatori, che sono i campi predefiniti ogni record di log.

Campo Formato del campo Tipo di campo: obbligatorio o facoltativo Descrizione
gravità
timestamp
receiveTimestamp
insertID
logName
LogEntry Obbligatorio I campi generali descritti in una voce di log.
resource MonitoredResource Obbligatorio

La risorsa MonitoredResource è il tipo di risorsa associato a una voce di log.

L'elemento MonitoredResourceDescriptor descrive lo schema di un oggetto MonitoredResource utilizzando un nome del tipo e un insieme di etichette. Per ulteriori informazioni, consulta Etichette delle risorse.

jsonPayload oggetto (formato Struct) Obbligatorio Il payload della voce di log espresso come oggetto JSON. Il file JSON contiene i seguenti campi:
  • statusDetails
  • Google Cloud Armor voci di log dei criteri di sicurezza
  • Il campo proxyStatus contiene una stringa che specifica Perché il bilanciatore del carico di rete proxy esterno globale, il bilanciatore del carico di rete proxy esterno regionale e il bilanciatore del carico di rete proxy interno ha restituito il codice di errore. Questo campo non è supportato dai bilanciatori del carico di rete proxy classici.

    Il campo non viene registrato se il valore è una stringa vuota. Questo può si verifica se il proxy restituisce un codice di errore diverso da 0, 4XX o 5XX.

    Il campo proxyStatus è composto da due parti:

Campi log

I record di log contengono campi obbligatori, che sono i campi predefiniti di ogni log record.

Alcuni campi di log contengono più di un dato in un determinato campo, ovvero i campi di log sono in formato multicampo. Ad esempio, il campo connection è nel formato IpConnection, che contiene l'IP di origine e quello di destinazione e la porta, più il protocollo, in un unico campo. Questi multicampo I campi di log sono descritti nella seguente tabella dei formati record.

La tabella seguente 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 il motivo del caricamento bilanciatore ha restituito un errore. La proxyStatus è composta da due parti proxyStatus error e proxyStatus details. Questa sezione descrive le stringhe supportate in proxyStatus error .

L'errore 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
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 comunicare con il backend non sono riusciti oppure il controllo di integrità potrebbe aver causato un errore. 500, 503
connection_timeout Il tentativo del bilanciatore del carico di aprire una connessione al backend ha timeout. 504
connection_terminated

La connessione del bilanciatore del carico al backend è terminata prima che venga ricevuta una risposta completa.

Questo valore proxyStatus error viene restituito in uno dei seguenti scenari:

  • La connessione del bilanciatore del carico al backend è terminata prima che venga completata quando viene ricevuta una risposta.
  • La connessione TLS non è riuscita durante l'handshake SSL, ma il client non lo ha fatto stabilire una connessione con il bilanciatore del carico.

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 al backend e questo limite è stato superato.

Questo valore proxyStatus error viene restituito in uno dei seguenti scenari:

  • Se un backend è in modalità di manutenzione, il traffico non può essere instradato al backend.
  • Se la richiesta è soggetta a limitazioni di frequenza locale.
  • Envoy sta gestendo condizioni di errore come l'esaurimento della memoria.
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 dei pagamenti.
tls_protocol_error Il bilanciatore del carico ha riscontrato un errore TLS durante l'handshake TLS. 0
tls_certificate_error Si è verificato un errore del bilanciatore del carico durante la verifica del presentato dal server. 0
tls_alert_received Il bilanciatore del carico ha riscontrato un avviso TLS irreversibile durante il processo TLS handshake. 0

campo dettagli proxyStatus

Il campo proxyStatus contiene una stringa che specifica il motivo del caricamento bilanciatore ha restituito un errore. La proxyStatus è composta da due parti proxyStatus error e proxyStatus details. Il campo proxyStatus details è facoltativo e viene mostrato solo quando sono disponibili ulteriori informazioni. Questa sezione descrive le stringhe supportate in proxyStatus details .

I dettagli 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 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 dell'invio del bilanciatore del carico 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à. come un'applicazione di terze parti con un timeout TCP più breve rispetto al timeout di 10 minuti (600 secondi) del bilanciatore del carico. 502
failed_to_connect_to_backend Il bilanciatore del carico non è riuscito a connettersi al backend. Questo errore include timeout durante la fase di connessione. 503
failed_to_pick_backend Il bilanciatore del carico non è riuscito a scegliere un backend 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à 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. Errore determina 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. Risultati dell'errore in una connessione TLS chiusa. 0
no_application_protocol Inviata dai server quando un client "application_layer_protocol_negotiation" pubblicizza solo i protocolli non supportati dal server. Vedi Estensione di negoziazione del protocollo a livello di applicazione TLS. L'errore 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 verificati. L'errore causa una connessione TLS chiusa. 0
unsupported_certificate Il certificato è di un tipo non supportato. L'errore causa la chiusura Connessione TLS. 0
certificate_revoked Un certificato è stato revocato dal firmatario. L'errore causa la chiusura Connessione TLS. 0
certificate_expired Un certificato è scaduto o non è valido. L'errore causa la chiusura Connessione TLS. 0
certificate_unknown Si sono verificati alcuni problemi non specificati durante l'elaborazione del certificato, il rendering non lo è. 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 trovare il certificato CA o abbinati a un trust anchor noto. L'errore provoca la chiusura di un protocollo TLS connessione. 0
unexpected_message Un messaggio inappropriato, ad esempio un messaggio di handshake errato o prematuro sono stati ricevuti i dati 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 connessione TLS chiusa. 0
record_overflow È stato ricevuto un record TLSCiphertext di durata superiore più di 214+256 byte oppure un record è stato decriptato Record TLSPlaintext con più di 214 byte (o qualche altro limite negoziato). L'errore provoca la chiusura di un protocollo TLS connessione. 0
handshake_failure Impossibile negoziare un set accettabile di parametri di sicurezza, dato il le opzioni disponibili. L'errore causa una connessione TLS chiusa. 0
illegal_parameter Un campo dell'handshake non era corretto o non era coerente con altri campi. L'errore causa una connessione TLS chiusa. 0
access_denied È stato ricevuto un certificato valido o una PSK, ma quando il controllo dell'accesso è stato applicata, il cliente non ha proceduto alla negoziazione. L'errore causa una connessione TLS chiusa. 0
decode_error Impossibile decodificare un messaggio perché alcuni campi erano fuori dal specificato o la lunghezza del messaggio non era corretta. Risultati dell'errore in una connessione TLS chiusa. 0
decrypt_error Un'operazione crittografica di handshake (non a livello di record) non è riuscita, tra cui impossibilità di verificare correttamente una firma o convalidare un messaggio completato o un raccoglitore PSK. L'errore causa una connessione TLS chiusa. 0
insufficient_security Una negoziazione non è riuscita, perché il server richiede sono più sicuri di quelli supportati dal client. Risultati dell'errore in una connessione TLS chiusa. 0
inappropriate_fallback Inviata da un server in risposta a un nuovo tentativo di connessione non valido da un cliente. L'errore causa una connessione TLS chiusa. 0
user_cancelled L'utente annulla l'handshake per qualche motivo non correlato a un errore di protocollo. L'errore causa una connessione TLS chiusa. 0
missing_extension Inviato da endpoint che ricevono un messaggio di handshake non contenente un un'estensione obbligatoria da inviare per la versione TLS offerta o altro e i parametri negoziati. L'errore causa una connessione TLS chiusa. 0
unsupported_extension Inviato da endpoint che ricevono messaggi di handshake contenenti un'estensione notoriamente vietata l'inclusione nel messaggio di handshake specificato; oppure incluse eventuali estensioni in ServerHello o Certificate che non è stato offerto per la prima volta nella corrispondente 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. forniti dal client tramite il parametro "server_name" . Vedi Definizioni delle estensioni TLS. 0
bad_certificate_status_response Inviati dai clienti quando viene fornita una risposta OCSP non valida o non accettabile dal server attraverso "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 di risorse configurati, ad esempio e 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 del giorno se selezioni qualsiasi backend, le voci di log registrano gli errori. Puoi configurare di backend con frequenze di campionamento dei log diverse. Quando una connessione TLS non va a buon fine, la frequenza di campionamento dei log per le connessioni TLS non riuscite è la più alta di servizio di backend. Ad esempio, se hai configurato due servizi di backend con frequenza di campionamento del logging come 0.3 e 0.5, esempio di log per la connessione TLS non riuscita è 0.5.

Puoi identificare le connessioni TLS non riuscite controllando le seguenti dettagli voce di log:

  • Il tipo di errore proxyStatus è tls_alert_received, tls_certificate_error tls_protocol_error o connection_terminated.
  • Nessuna informazione di backend.

L'esempio seguente 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 Google Cloud associato 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 Un attributo nella regola di forwarding il servizio di backend di un bilanciatore del carico che indica se il carico 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 dell'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 è UNKNOWN anche se il logging è disabilitato. Ad esempio, se un client chiude la connessione al bilanciatore del carico prima che possa scegliere un backend, backend_type è impostato su UNKNOWN e la richiesta è registrato. Questi log forniscono utili informazioni di debug sul client richieste chiuse perché il bilanciatore del carico non ha potuto selezionare backend.

backend_scope string L'ambito del backend, il nome di una zona o di una regione. Forse sarà 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:

  • 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 configurare avvisi e metriche delle query utilizzando API Cloud Monitoring.

Visualizza le dashboard di Monitoring

  1. Nella console Google Cloud, vai alla pagina Monitoring.

    Vai a Monitoring

  2. Se nel riquadro di navigazione viene visualizzata la voce Risorse, seleziona Risorse, e seleziona Bilanciatori del carico Google Cloud. Altrimenti, seleziona Dashboard, quindi seleziona la dashboard denominata Bilanciatori del carico Google Cloud.

  3. 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 vedere analisi specifiche, fai clic su Distribuzioni.

Frequenza e fidelizzazione dei report sulle metriche

Le metriche per i bilanciatori del carico vengono esportate in Monitoring 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 rettificato).

Il pannello fornisce l'analisi dei dati in intervalli predefiniti di 1 ora (un'ora), 6 ore (sei ore), 1 giorno (un giorno), 1 sett. (una settimana) e 6 settimane (sei settimane). Puoi eseguire manualmente delle richieste di analisi in un intervallo da sei settimane a un minuto.

Metriche per bilanciatori del carico di rete proxy classici

Sono riportate le seguenti metriche per i bilanciatori del carico di rete proxy classici 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 attraverso il 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 attraverso 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 acquisiti a un minuto di distanza.
Nuove connessioni al secondo tcp_ssl_proxy/new_connections Il numero di connessioni create (il client ha avuto esito positivo è connesso al backend). La granularità del conteggio è al minuto, ma i grafici vengono regolati in modo da mostrare i valori al secondo. Per ulteriori informazioni, consulta Monitoraggio documentazione.
Connessioni chiuse al secondo tcp_ssl_proxy/closed_connections Il numero di connessioni chiuse. La granularità di conteggio è per minuto, ma i grafici sono regolati in modo da mostrare i valori al secondo. Per ulteriori informazioni, consulta Monitoraggio documentazione.
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 (misurata dallo stack TCP del GFE, ogni volta che i byte del livello dell'applicazione passano dal GFE al client). Il RTT fluido è un algoritmo che si occupa di variazioni e anomalie che può verificarsi nelle misurazioni RTT.

Metriche per altri bilanciatori del carico

Le seguenti metriche per i 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 i bilanciatori del carico di rete proxy esterni globali vengono segnalati in Monitoring.

Metrica Nome Descrizione
Traffico in entrata l4_proxy/ingress_bytes_count Il numero di byte inviati dal client alla VM di backend da utilizzando il proxy. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati vengono non visibile 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 da utilizzando il proxy. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati vengono non visibile per un massimo di 210 secondi.
Connessioni chiuse al secondo l4_proxy/tcp/closed_connections_count Il numero di connessioni terminate tramite un RST TCP o Messaggio FIN TCP. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati vengono non visibile 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 suddivisa in base alle dimensioni che seguono.

Proprietà Descrizione
AMBITO DI BACKEND L'ambito (regione o zona) di il gruppo di istanze che ha fornito la connessione.
ZONA BACKEND Se il gruppo di istanze era un gruppo di istanze a livello di zona, del gruppo di istanze che ha fornito la connessione.
REGIONE DI BACKEND Se il gruppo di istanze era a livello di regione, regione del gruppo di istanze che ha gestito la connessione.
CONTINENTE PROXY Il continente del GFE che ha terminato il protocollo TCP/SSL dell'utente connessione, ad esempio America, Europe e 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