Logging e monitoraggio del bilanciatore del carico di rete passthrough esterno

Questo documento mostra come configurare e utilizzare Cloud Logging. e Cloud Monitoring per i bilanciatori del carico di rete passthrough esterni.

Logging

I log forniscono informazioni utili per la risoluzione dei problemi e il monitoraggio del bilanciatore del carico di rete passthrough esterno. I log sono aggregati per connessione ed esportati quasi in tempo reale. I log vengono generati di ogni istanza con bilanciamento del carico TCP, UDP, ESP, GRE, ICMP e ICMPv6 per entrambi i tipi di macchine traffico in entrata e in uscita. Per ulteriori informazioni sui campi forniti in la voce di log, consulta Campi log.

Non sono previsti costi aggiuntivi per l'utilizzo dei log. In base a come importi log dei dati, i prezzi standard Cloud Logging BigQuery o Pub/Sub. L'abilitazione dei log non ha alcun effetto sulla delle prestazioni del bilanciatore del carico.

Il logging offre i seguenti vantaggi:

  • Monitoraggio del traffico del bilanciatore del carico di rete passthrough esterno. Il logging per connessione ti offre informazioni su come ogni viene instradata verso backend di servizio.

  • Risoluzione dei problemi di rete. Puoi utilizzare i log del bilanciatore del carico di rete passthrough esterno per la risoluzione dei problemi. Per ulteriori informazioni, vedi Risolvi i problemi dei bilanciatori del carico di rete passthrough esterni.

Esempio di formato di log per i flussi da client esterno a VM

Il seguente diagramma mostra il traffico in entrata e in uscita per un (203.0.113.7), bilanciatore del carico di rete passthrough esterno (198.51.100.99), e istanza di backend (10.240.0.2).

Flussi dal client esterno ai servizi delle VM backend.
Flussi in entrata e in uscita per un client esterno a una VM.

Log del bilanciatore del carico di rete passthrough esterno per le connessioni dal client al backend sono formattate come segue:

  • connection.clientIp: 203.0.113.7
  • connection.serverIp: 198,51.100,99
  • bytesSent: 1256
  • bytesReceived: 4521

Campionamento e raccolta dei log

Google Cloud campiona i pacchetti che escono ed entrano nel backend del bilanciatore del carico delle VM in esecuzione. Questi pacchetti campionati vengono elaborati per generare i log.

Non tutti i pacchetti sono campionati. Google Cloud campiona un sottoinsieme di variabili a seconda della quantità di traffico sull'host fisico. La frequenza di campionamento più bassa possibile è di uno su 1024 pacchetti. Frequenza di campionamento è controllato in modo dinamico da Google Cloud. Non puoi modificare il campionamento di conversione.

Il campionamento dei pacchetti interagisce con le regole firewall nei seguenti modi:

  • I pacchetti vengono campionati prima di applicare le regole firewall in uscita.
  • I pacchetti vengono campionati dopo l'applicazione delle regole firewall in entrata.

Dopo il campionamento, Google Cloud elabora i pacchetti campionati in base alla seguente procedura:

  1. Aggregazione:i pacchetti campionati vengono aggregati in un intervallo di 5 secondi. per produrre una singola voce di flusso.

  2. Campionamento dei log configurabile (secondario): si tratta di un secondo campionamento di processo, campionando i flussi. Puoi controllare la frazione delle voci del flusso emesse come voci di log in base logConfig.sampleRate . Quando logConfig.sampleRate è 1.0 (100%), significa che tutti dei pacchetti campionati vengono elaborati.

  3. Scrivi nel logging: le voci di log vengono scritte in Cloud Logging.

Campi facoltativi

I record di log contengono campi obbligatori e facoltativi. La sezione Log campi elenca i campi facoltativi e quelli obbligatori. Tutti gli elementi obbligatori sono sempre inclusi. Puoi personalizzare i campi facoltativi da conservare.

  • Se selezioni Includi tutti i campi facoltativi, tutti i campi facoltativi nel log sono inclusi nei log di flusso. Quando vengono aggiunti nuovi campi facoltativi nel formato record, i log di flusso includono automaticamente i nuovi campi.

  • Se selezioni Escludi tutti gli elementi facoltativi, i campi facoltativi vengono omessi.

  • Se selezioni personalizzato, puoi specificare i campi facoltativi che vuoi includere nel campo principale, ad esempio serverInstance oppure tramite nome e cognome, ad esempio serverInstance.vm.

Quando vengono aggiunti nuovi campi facoltativi nel formato record, i log non includi questi campi, a meno che non siano un nuovo campo all'interno di un campo principale che che hai specificato di includere.

Se specifichi un campo facoltativo personalizzato utilizzando i campi principali, quando il nuovo vengono aggiunti al formato record all'interno del campo padre, i log include automaticamente i nuovi campi. Ad esempio, se scegli di includere optionalFieldA, poi ai log viene aggiunto un nuovo campo con il nome Il campo optionalFieldA.subField1 verrà incluso automaticamente.

Per istruzioni su come personalizzare i campi facoltativi, consulta: Abilitare il logging su un nuovo servizio di backend.

Requisiti dell'indirizzo IP di origine del pacchetto di risposta

Logging campiona i pacchetti di risposta dal backend VM solo se l'indirizzo IP di origine dei pacchetti corrisponde a quello del bilanciatore del carico della regola di forwarding. Per le connessioni TCP, i pacchetti di risposta devono sempre avere origini corrispondenti destinazione del pacchetto di richiesta; mentre per altri protocolli è possibile pacchetti di risposta per utilizzare un indirizzo IP di origine diverso. Per ulteriori informazioni, vedi Indirizzi IP per i pacchetti di richiesta e restituzione.

Il processo di campionamento dei pacchetti utilizzato dal logging del bilanciatore del carico di rete passthrough esterno omette qualsiasi pacchetti di risposta dalle VM di backend, se tali pacchetti di risposta hanno origini che non corrispondono a un indirizzo IP di una regola di forwarding per un bilanciatore del carico di rete passthrough esterno.

Abilita il logging su un nuovo servizio di backend

Console

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico.
  3. Fai clic su Modifica e poi fai clic su Configurazione backend.
  4. Seleziona Crea un servizio di backend, quindi completa la procedura richiesta del servizio di backend.
  5. Nella sezione Logging, seleziona la casella di controllo Abilita il logging.
  6. Imposta una frazione della frequenza di campionamento. Puoi impostare una tariffa su 0.0 a 1.0 (predefinito).
  7. (Facoltativo) Per includere tutti i campi facoltativi nei log, nella sezione Campi facoltativi, fai clic su Includi tutti i campi facoltativi.
  8. Per completare la modifica del servizio di backend, fai clic su Aggiorna.
  9. Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.

gcloud

Crea il servizio di backend per abilitare il logging con gcloud compute backend-services create un comando kubectl.

    gcloud compute backend-services create BACKEND_SERVICE \
      --region=REGION \
      --enable-logging \
      --logging-sample-rate=SAMPLE_RATE \
      --logging-optional=LOGGING_OPTIONAL \
      --logging-optional-fields=OPTIONAL_FIELDS
    

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 generati log e 1.0 significa che i log vengono generati per tutti pacchetti campionati. Abilitazione in corso... logging, ma la frequenza di campionamento è impostata su 0.0 equivale a disabilitare il logging. Il valore predefinito è 1.0.

  • LOGGING_OPTIONAL: i campi facoltativi che vuoi includere nei log:
    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.
    • EXCLUDE_ALL_OPTIONAL (predefinito) per escludere tutti i campi facoltativi.
    • CUSTOM per includere un elenco personalizzato dei campi facoltativi che hai specificare in OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: un elenco di elementi facoltativi separati da virgole da includere nei log.

    Ad esempio, serverInstance.vm,serverGkeDetails. Può essere solo imposta se LOGGING_OPTIONAL impostata su CUSTOM.

API

Invia una richiesta POST a regionBackendServices.insert .

    POST https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices
    

Escludi tutti i campi facoltativi

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

Includi tutti i campi facoltativi

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

Includi un elenco personalizzato di campi facoltativi

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

Abilita il logging su un servizio di backend esistente

Console

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico.
  3. Fai clic su Modifica e poi fai clic su Configurazione backend.
  4. Accanto al tuo servizio di backend, fai clic su Modifica.
  5. Nella sezione Logging, seleziona la casella di controllo Abilita il logging.
  6. Imposta una frazione della frequenza di campionamento. Puoi impostare una tariffa su 0.0 a 1.0 (predefinito).
  7. (Facoltativo) Per includere tutti i campi facoltativi nei log, nella sezione Nella sezione Campi facoltativi, fai clic su Includi tutti i campi facoltativi.
  8. Per completare la modifica del servizio di backend, fai clic su Aggiorna.
  9. Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.

gcloud

Abilita il logging su un servizio di backend esistente con gcloud compute backend-services update un comando kubectl.

    gcloud compute backend-services update BACKEND_SERVICE \
      --region=REGION \
      --enable-logging \
      --logging-sample-rate=SAMPLE_RATE \
      --logging-optional=LOGGING_OPTIONAL \
      --logging-optional-fields=OPTIONAL_FIELDS
    

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 i log vengono generati per tutti pacchetti campionati. Abilitazione in corso... logging, ma la frequenza di campionamento è impostata su 0.0 equivale a disabilitare il logging. Il valore predefinito è 1.0.

  • LOGGING_OPTIONAL: i campi facoltativi che vuoi includere nei log:
    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.
    • EXCLUDE_ALL_OPTIONAL (predefinito) per escludere tutti i campi facoltativi.
    • CUSTOM per includere un elenco personalizzato dei campi facoltativi che hai specificare in OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: un elenco di elementi facoltativi separati da virgole da includere nei log.

    Ad esempio, serverInstance.vm,serverGkeDetails. Può essere solo imposta se LOGGING_OPTIONAL impostata su CUSTOM.

API

Invia una richiesta PATCH a regionBackendServices/patch .

      PATCH https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices/`BACKEND_SERVICE`
     

Escludi tutti i campi facoltativi

     "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "EXCLUDE_ALL_OPTIONAL"
      }
     

Includi tutti i campi facoltativi

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

Includi un elenco personalizzato di campi facoltativi

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

Disabilita il logging su un servizio di backend esistente

Console

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico.

  3. Fai clic su Modifica, quindi su Configurazione backend.

  4. Per disabilitare completamente il logging, nella sezione Logging, deseleziona la casella di controllo Abilita il logging.

  5. Se lasci abilitato il logging, puoi impostare una frequenza di campionamento diversa. di calcolo. Puoi impostare la frequenza da 0.0 a 1.0 (valore predefinito). a generare log solo per il 20% pacchetti campionati, imposta su 0.2.

  6. Per completare la modifica del servizio di backend, fai clic su Aggiorna.

  7. Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.

gcloud

Disabilita il logging sul servizio di backend con Comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
  --region=REGION \
  --no-enable-logging

Sostituisci quanto segue:

  • BACKEND_SERVICE: il nome del servizio di backend.
  • REGION: la regione del servizio di backend.

API

Invia una richiesta PATCH a regionBackendServices/patch .

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE

 {
 "logConfig": {
   "enable": false
  }
 }
 

Visualizza i log

Quando i log vengono importati in Cloud Logging e non esclusi tramite una Sink del router di log, puoi leggere i log utilizzando API Cloud Logging e Google Cloud CLI.

Per visualizzare tutti i log del bilanciatore del carico di rete passthrough esterno:

Console

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

    Vai a Esplora log

  2. Seleziona il tipo di risorsa External Passthrough Network Load Balancer (Regola del bilanciatore del carico di rete passthrough esterno).

  3. Seleziona il nome log di loadbalancing.googleapis.com/flows.

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. Sostituisci PROJECT_ID con il tuo ID progetto.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    
  4. Fai clic su Esegui query.

Visualizza i log per un servizio di backend specifico

Per visualizzare i log del bilanciatore del carico di rete passthrough esterno per un servizio di backend specifico:

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. Sostituisci PROJECT_ID con il tuo ID progetto e BACKEND_SERVICE_NAME con il del tuo servizio di backend.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. Fai clic su Esegui query.

Visualizza i log per un gruppo di istanza di backend

Per visualizzare i log del bilanciatore del carico di rete passthrough esterno per uno specifico gruppo di istanza di backend:

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. Sostituisci PROJECT_ID con il tuo ID progetto e BACKEND_GROUP_NAME con il nome del gruppo di istanze.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. Fai clic su Esegui query.

Campi log

I record di log contengono campi obbligatori, che sono i campi predefiniti di ogni log e campi facoltativi che aggiungono ulteriori informazioni. I campi facoltativi possono per ridurre i costi di archiviazione.

Alcuni campi del log sono in formato multicampo, con più di un dato in un determinato campo. Ad esempio, il campo connection è del tipo IpConnection che contiene l'indirizzo IP e la porta di origine e di destinazione, più il in un unico campo. Questi campi multicampo sono descritti nel della seguente tabella del formato record.

La risorsa monitorata è loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.

Campo Formato del campo Tipo di campo: obbligatorio o facoltativo Descrizione
connessione IpConnection Obbligatorio 5-Tupla che descrive questa connessione.
startTime string Obbligatorio Timestamp (nel formato di stringa per la data RFC 3339) del primo pacchetto osservato durante la a un intervallo di tempo aggregato.
endTime string Obbligatorio Timestamp (nel formato di stringa per la data RFC 3339) dell'ultimo pacchetto osservato durante la a un intervallo di tempo aggregato.
bytesSent int64 Obbligatorio Numero di byte inviati dal server al client.
bytesReceived int64 Obbligatorio Numero di byte ricevuti dal server dal client.
packetsSent int64 Obbligatorio Numero di pacchetti inviati dal server al client.
packetsReceived int64 Obbligatorio Numero di pacchetti ricevuti dal server dal client.
RTT string Obbligatorio

La latenza viene misurata solo per le connessioni TCP. La latenza è la somma dei dati stimati tempo di round trip della rete (RTT) più il tempo impiegato per l'elaborazione del pacchetto al sistema operativo del client.

Per i pacchetti campionati, il valore RTT viene calcolato dal punto di vista di un backend con bilanciamento del carico misurando le differenze di tempo tra il backend che invia un TCP di destinazione e il backend che riceve un riconoscimento TCP per il numero di sequenza del segmento inviato.

La latenza è formattata come una stringa che inizia con il numero di secondi e termina con "s" per indicare i secondi. I nanosecondi sono espressa in secondi frazionari, ad esempio, la latenza di 250 millisecondi è nel formato "0.250000000s".

serverInstance InstanceDetails Facoltativo Dettagli dell'istanza VM di backend.
clientLocation GeographicDetails Facoltativo I metadati sulla località disponibili del client.
serverGkeDetails GkeDetails Facoltativo Metadati GKE per il backend del server. Disponibile solo se è un endpoint GKE.
networkTier NetworkTierDetails Facoltativo Livello di rete per connessioni esterne, compilato solo quando il client non si trova in in Google Cloud.

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

Formato campo InstanceDetails

Campo Tipo Descrizione
projectId string ID del progetto contenente la VM
vm string Nome istanza della VM
region [regione] string Regione della VM
zona string Zona della VM
vmIp string Indirizzo IPv4 interno principale dell'interfaccia di rete che ha pubblicato la connessione

Formato del campo GeographicDetails

Campo Tipo Descrizione
continente string Nome continente
regionCode string Un codice regione CLDR Unicode come US o FR. Per la maggior parte dei paesi, questi codici corrispondono direttamente Codici ISO-3166-2.
subRegion string Un ID di suddivisione CLDR Unicode, ad esempio una provincia o uno stato del paese come USCA o CAON. Questi codici Unicode derivano dalle suddivisioni definite Standard ISO-3166-2.
città string Nome della città, ad esempio Mountain View per Mountain View, California. Non è presente un elenco canonico di valori valori per questa variabile. I nomi delle città possono contenere lettere US-ASCII, numeri, spazi e i seguenti caratteri: !#$%&'*+-.^_`|~.
ASN int32 Il numero del sistema autonomo (ASN) della rete esterna a cui endpoint appartiene.

Formato campo GkeDetails

Campo Tipo Descrizione
cluster ClusterDetails Metadati del cluster GKE
pod PodDetails Metadati dei pod GKE, compilati quando l'origine o la destinazione del traffico è un pod,
servizio ServiceDetails Metadati di servizio GKE, compilati solo negli endpoint di servizio. Il record contiene fino a due servizi. Se ce ne sono più di due services, questo campo contiene un singolo servizio con un'etichetta speciale Indicatore MANY_SERVICES.

Formato del campo ClusterDetails

Campo Tipo Descrizione
cluster string Nome del cluster GKE
clusterLocation string Località del cluster. La località del cluster può essere una zona o una regione.

Formato del campo PodDetails

Campo Tipo Descrizione
pod string Nome del pod
podNamespace string Spazio dei nomi del pod

Formato del campo ServiceDetails

Campo Tipo Descrizione
servizio string Nome del servizio. Se esistono più di due servizi pertinenti, è impostato su un indicatore speciale MANY_SERVICES.
serviceNamespace string Spazio dei nomi del servizio

Formato del campo NetworkTierDetails

Campo Tipo Descrizione
networkTier string NetworkTier utilizzato nella connessione, uno dei [PREMIUM, STANDARD, FIXED_STANDARD, UNKNOWN].

Monitoraggio

I bilanciatori del carico di rete passthrough esterni esportano le metriche chiave in Cloud Monitoring.

Le metriche di monitoraggio possono essere utilizzate per i seguenti scopi:

  • 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 ed eseguire query sulle metriche tramite API Monitoring.

Visualizza le dashboard di Monitoring

Console

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

    Vai a Monitoring

  2. Nel riquadro di navigazione, seleziona Dashboard.

  3. Seleziona la dashboard Bilanciatori del carico Google Cloud. Tutti i bilanciatori del carico visualizzati.

  4. Seleziona il nome del bilanciatore del carico dall'elenco dei bilanciatori del carico.

Nel riquadro Dettagli del bilanciatore del carico di rete passthrough esterno, puoi vedere vari dettagli il bilanciatore del carico selezionato. Questo riquadro mostra le configurazioni correnti.

Nel riquadro Metriche chiave, puoi visualizzare i grafici relativi a ogni metrica chiave. Per vedere Ripartizioni specifiche, fai clic su Ripartizioni. Questo riquadro presenta i dati generati da configurazioni storiche, mentre il riquadro Dettagli bilanciatore del carico di rete passthrough esterno mostra solo le configurazioni correnti. Per ulteriori informazioni, consulta Dashboard e grafici.

Definizione delle dashboard personalizzate di Monitoring

Puoi creare dashboard di Monitoring personalizzate del bilanciatore del carico di rete passthrough esterno.

Consulta Metriche e tipi di risorse per un elenco le metriche raccolte. Consulta la sezione Filtri per gli elenchi degli attributi che puoi per filtrare i risultati.

Console

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

    Vai a Monitoring

  2. Seleziona Dashboard > Crea dashboard.

  3. Fai clic su Aggiungi grafico.

  4. Assegna un titolo al grafico.

  5. Seleziona metriche e filtri.

    Per trovare le metriche del bilanciatore del carico di rete passthrough esterno, cerca la classe Prefisso loadbalancing.googleapis.com/l3/external.

  6. Fai clic su Salva.

Definire gli avvisi di Monitoring

Puoi definire gli avvisi di Monitoring su di varie metriche del bilanciatore del carico di rete passthrough esterno:

Console

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

    Vai a Monitoring

  2. Seleziona Avvisi > Crea un criterio.

  3. Seleziona i tipi di risorse e le metriche.

    Per trovare i tipi di risorse e le metriche del bilanciatore del carico di rete passthrough esterno, cerca per loadbalancing.googleapis.com/l3/external in Trova il campo del tipo di risorsa e della metrica.

  4. Specifica una configurazione per impostare il momento in cui attivare un avviso.

  5. Se vuoi, aggiungi dei filtri.

  6. Fai clic su Salva.

Frequenza e fidelizzazione dei report sulle metriche

Le metriche per i bilanciatori del carico di rete passthrough esterni vengono esportate in Monitoring in con granularità di un minuto. I dati di monitoraggio vengono conservati per sei 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 a intervalli predefiniti di un'ora (1 ora), sei ore (6 ore), un giorno (1 giorno), una settimana (1 sett.) e sei settimane (6 ore). Puoi eseguire manualmente dell'analisi delle richieste in qualsiasi intervallo da sei settimane a sessanta secondi.

Metriche e tipi di risorse

Metriche

Le seguenti metriche per i bilanciatori del carico di rete passthrough esterni sono segnalati in Monitoring. Puoi utilizzare di queste metriche quando esegui le richieste API.

metric_name Tipo Descrizione
loadbalancing.googleapis.com/l3/external/ingress_bytes_count contatore Il numero di byte inviati da un client al backend di un bilanciatore del carico di rete passthrough esterno. Per i flussi TCP, vengono conteggiati solo i byte nel flusso dell'applicazione.
loadbalancing.googleapis.com/l3/external/ingress_packets_count contatore Il numero di pacchetti inviati da un client al backend di un bilanciatore del carico di rete passthrough esterno.
loadbalancing.googleapis.com/l3/external/egress_bytes_count contatore Il numero di byte inviati dal backend di un bilanciatore del carico di rete passthrough esterno a un client. Per i flussi TCP, vengono conteggiati solo i byte nel flusso dell'applicazione.
loadbalancing.googleapis.com/l3/external/egress_packets_count contatore Il numero di pacchetti inviati dal backend di un bilanciatore del carico di rete passthrough esterno a un client.
loadbalancing.googleapis.com/l3/external/rtt_latencies distribuzione

Una distribuzione di RTT misurata su connessioni TCP per il bilanciatore del carico di rete passthrough esterno dei flussi.

Disponibile solo per il traffico TCP.

Tipi di risorse

I bilanciatori del carico di rete passthrough esterni utilizzano i seguenti tipi di risorse:

  • tcp_lb_rule
  • udp_lb_rule
  • loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

Un bilanciatore del carico di rete passthrough esterno può supportare TCP, UDP, ESP, GRE, ICMP e ICMPv6 per via del traffico.

Puoi specificare il tipo di risorsa come tcp_lb_rule o udp_lb_rule al limite i dati monitorati sui protocolli TCP o UDP. Puoi specificare il tipo di risorsa come loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule per monitorare tutti i protocolli supportati TCP, UDP, ESP, GRE, ICMP e ICMPv6 protocolli.

Filtri

Le metriche vengono aggregate per ogni bilanciatore del carico di rete passthrough esterno. Puoi filtrare i dati aggregati metriche in base alle seguenti dimensioni.

Etichette delle risorse per tcp_lb_rule o udp_lb_rule

Puoi limitare la query in base alla risorsa. Puoi anche raggruppare i risultati in base a questi e i relativi valori.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descrizione
project string L'identificatore del progetto Google Cloud associato risorsa.
load_balancer_name string Il nome del bilanciatore del carico.
region string La regione in cui si trova il backend del bilanciatore del carico, ad esempio us-central1 europe-west1 asia-east1.
network_name string La rete VPC in cui si trova il backend del bilanciatore del carico risiede.
backend_target_type string Indica se il bilanciatore del carico di rete passthrough esterno è basato su pool di destinazione o è backend basato sui servizi. I valori validi sono BACKEND_SERVICE o TARGET_POOL.
backend_target_name string Per i bilanciatori del carico di rete passthrough esterni basati su pool di destinazione, il nome del pool di destinazione. Per i bilanciatori del carico di rete passthrough esterni basati sul servizio di backend, il nome del di servizio di backend.
forwarding_rule_name string Il nome della regola di forwarding.
forwarding_rule_network_tier string Il livello di rete della di una regola di forwarding.
backend_name string

Il nome del backend che ha gestito la connessione.

Per un bilanciatore del carico di rete passthrough esterno basato sul servizio di backend, il valore è il nome il gruppo di istanza di backend o il gruppo di endpoint di rete (NEG) che ha gestito la connessione.

Per un bilanciatore del carico di rete passthrough esterno basato su pool di destinazione, il valore è il nome del pool di destinazione.

backend_type string

Il tipo di backend che ha gestito la connessione.

Per un bilanciatore del carico di rete passthrough esterno basato su servizio di backend, il valore può essere INSTANCE_GROUP o NETWORK_ENDPOINT_GROUP.

Per un servizio basato su pool di destinazione bilanciatore del carico di rete passthrough esterno, il valore è TARGET_POOL.

backend_scope string

Per un bilanciatore del carico di rete passthrough esterno basato sul servizio di backend, la zona o la regione gruppo di istanza di backend o NEG.

Per un carico di rete basato su pool di destinazione nel bilanciatore del carico, il valore è UNSUPPORTED_FOR_TARGET_POOL.

backend_scope_type string

Il tipo di ambito del gruppo di backend che ha gestito connessione. I valori validi sono ZONE o REGION.

Per un bilanciatore del carico di rete basato su pool di destinazione, il valore è UNSUPPORTED_FOR_TARGET_POOL.

backend_failover_configuration string La configurazione del failover del gruppo di backend e ha gestito la connessione. I valori validi sono PRIMARY, BACKUP o UNKNOWN.
backend_subnetwork_name string Il nome della subnet del backend che ha ricevuto l'oggetto connessione.
endpoint_zone string La zona della VM di backend che ha gestito la connessione.

Etichette risorse per loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

Puoi limitare la query in base alla risorsa. Puoi anche raggruppare i risultati in base a questi e i relativi valori.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descrizione
project string L'identificatore del progetto Google Cloud associato risorsa.
region string La regione in cui si trova il backend del bilanciatore del carico, ad esempio us-central1 europe-west1 asia-east1.
backend_network_name string La rete VPC in cui si trova il backend del bilanciatore del carico risiede.
backend_target_type string Il tipo di destinazione del backend che ha gestito la connessione. Valori validi sono BACKEND_SERVICE o TARGET_POOL.
backend_service_name string Il nome del servizio di backend che ha gestito la connessione. Se backend_target_type è TARGET_POOL, quindi il valore è UNSUPPORTED_FOR_TARGET_POOL.
primary_target_pool string Il nome del pool di destinazione principale. Se backend_target_type è BACKEND_SERVICE, il valore è UNSUPPORTED_FOR_BACKEND_SERVICE.
target_pool string Il nome del pool di destinazione. Se backend_target_type è BACKEND_SERVICE, il valore è UNSUPPORTED_FOR_BACKEND_SERVICE.
forwarding_rule_name string Il nome della regola di forwarding del bilanciatore del carico di rete passthrough esterno.
backend_group_name string Il nome del gruppo di backend che ha gestito la connessione. Se backend_target_type è TARGET_POOL, allora è UNSUPPORTED_FOR_TARGET_POOL.
backend_group_type string

Il tipo di gruppo di backend che ha gestito la connessione.

Se backend_target_type è BACKEND_SERVICE, il valore è INSTANCE_GROUP o NETWORK_ENDPOINT_GROUP.

Se backend_target_type è TARGET_POOL: il valore è UNSUPPORTED_FOR_TARGET_POOL.

backend_group_scope string L'ambito del gruppo di backend (nome della zona o della regione) che ha gestito le connessione. Se backend_target_type è TARGET_POOL, il valore sarà UNSUPPORTED_FOR_TARGET_POOL.
backend_subnetwork_name string Il nome della subnet del backend che ha ricevuto l'oggetto connessione.
backend_zone string La zona della VM di backend che ha gestito la connessione.

Etichette metriche

Puoi limitare la query in base all'etichetta della metrica. Puoi anche raggruppare i risultati in base a questi e i relativi valori.

metric.label.<var>LABEL_KEY</var>:
label_key Tipo Descrizione
client_country string Il paese del client che ha avviato la connessione al un bilanciatore del carico di rete passthrough esterno.
client_continent string Il continente del client che ha avviato la connessione con un bilanciatore del carico di rete passthrough esterno.
protocol string

Il protocollo nella connessione per loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule risorsa.

Questo campo viene lasciato vuoto per tcp_lb_rule e udp_lb_rule risorse.

Monitoraggio delle richieste API

Puoi creare query arbitrarie sulle metriche del bilanciatore del carico di rete passthrough esterno utilizzando Richiesta projects.timeSeries.list dell'API Monitoring v3. L'esatta struttura delle varie definizioni segue le filtri di monitoraggio la semantica.

Richieste API di esempio

  • Ricevi tutti i byte inviati da tutti i bilanciatori del carico di rete passthrough esterni nel progetto durante le 12:00-12:02 UTC del 1° luglio 2019 con 1 milione di aggregati.

    timeSeries.list parametri:

    • name: progetti/PROJECT_ID
    • Filtro:resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
    • interval.start_time: 2019-07-01T12:00:00Z
    • interval.end_time: 2019-07-01T12:02:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.perSeriesAligner: ALIGN_SUM
  • Ottieni una misurazione RTT mediana su tutti i bilanciatori del carico di rete passthrough esterni nel nelle ore 12:19-12:20 UTC del 01-07-2019, suddiviso per paese del cliente.

    timeSeries.list parametri:

    • name: progetti/PROJECT_ID
    • Filtro:resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2019-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_country
    • aggregation.perSeriesAligner: ALIGN_PERCENTILE_50
  • Ottieni byte totali da un bilanciatore del carico di rete passthrough esterno specifico durante 12:19-12:20 UTC del 01-07-2019, suddivisi per zona endpoint e continente client.

    timeSeries.list parametri:

    • name: progetti/PROJECT_ID
    • Filtro:resource.type = "tcp_lb_rule" AND resource.label.load_balancer_name = "netlb-bs-1" E metric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2017-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_continent
    • aggregation.groupByFields: resource.label.endpoint_zone
    • aggregation.perSeriesAligner: ALIGN_SUM

Passaggi successivi