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 vengono aggregati per connessione ed esportati quasi in tempo reale. Vengono generati log per i flussi TCP, UDP, ESP, GRE, ICMP e ICMPv6 di ogni istanza bilanciata in base al carico sia per il traffico in entrata sia per quello in uscita. Per ulteriori informazioni sui campi forniti nella voce di log, consulta Campi di log.

Non vengono addebitati costi aggiuntivi per l'utilizzo dei log. A seconda di come importi i log, si applicano i prezzi standard per Cloud Logging, BigQuery o Pub/Sub. L'attivazione dei log non influisce sul rendimento del bilanciatore del carico.

La registrazione offre i seguenti vantaggi:

  • Monitoraggio del traffico del bilanciatore del carico di rete passthrough esterno. La registrazione per connessione ti fornisce informazioni su come ogni connessione viene indirizzata ai backend di pubblicazione.

  • 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, consulta Risolvere i problemi relativi ai bilanciatori del carico di rete passthrough esterni.

Formato del log di esempio per i flussi da un client esterno alla VM

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

Flussi del client esterno ai servizi VM di backend.
Flussi in entrata e in uscita per un client esterno alla VM.

I log del bilanciatore del carico di rete passthrough esterno per le connessioni dal client all'istanza di backend sono formattati 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 nelle VM di backend del bilanciatore del carico. Questi pacchetti campionati vengono elaborati per generare log.

Non tutti i pacchetti vengono campionati. Google Cloud esegue il campionamento di un sottoinsieme variabile di pacchetti a seconda della quantità di traffico sull'host fisico. La frequenza di campionamento più bassa possibile è 1 su 1024 pacchetti. La frequenza di campionamento è controllata dinamicamente da Google Cloud. Non puoi modificare la frequenza di sampling.

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

  • I pacchetti vengono campionati prima dell'applicazione delle regole firewall in uscita.
  • I pacchetti vengono campionati dopo l'applicazione delle regole del firewall in entrata.

Dopo il campionamento dei pacchetti, Google Cloud li elabora secondo la seguente procedura:

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

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

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

Campi facoltativi

I record dei log contengono campi obbligatori e facoltativi. La sezione Campi log elenca i campi facoltativi e quelli obbligatori. Tutti i campi obbligatori sono sempre inclusi. Puoi personalizzare i campi facoltativi da conservare.

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

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

  • Se selezioni Personalizzato, puoi specificare i campi facoltativi che vuoi includere in base al campo principale, ad esempio serverInstance, o in base ai loro nomi completi, ad esempio serverInstance.vm.

Quando vengono aggiunti nuovi campi facoltativi al formato del record, i log non li includeranno, a meno che non si tratti di un nuovo campo all'interno di un campo principale che hai specificato da includere.

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

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

Requisiti per l'indirizzo IP di origine del pacchetto di risposta

La registrazione campiona i pacchetti di risposta dalle VM di backend solo se l'indirizzo IP di origine di questi pacchetti corrisponde all'indirizzo IP della regola di forwarding del bilanciatore del carico. Per le connessioni TCP, le origini dei pacchetti di risposta devono sempre corrispondere alla destinazione del pacchetto di richiesta. Tuttavia, per altri protocolli, è possibile che i pacchetti di risposta utilizzino un indirizzo IP di origine diverso. Per ulteriori informazioni, consulta la sezione Indirizzi IP per i pacchetti di richiesta e risposta.

Il processo di campionamento dei pacchetti utilizzato dal logging del bilanciatore del carico di rete passthrough esterno omette tutti i pacchetti di risposta delle VM di backend se le origini di questi pacchetti di risposta 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 su Configurazione backend.
  4. Seleziona Crea un servizio di backend, quindi compila i campi obbligatori del servizio di backend.
  5. Nella sezione Logging, seleziona la casella di controllo Attiva il logging.
  6. Imposta una frazione di Frequenza di campionamento. Puoi impostare una tariffa su 0.0 fino a 1.0 (valore 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 il gcloud compute backend-services create comando.

    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 servizio di backend.
  • REGION: la regione del servizio di backend da creare.
  • SAMPLE_RATE: questo campo può essere specificato solo se la registrazione è attivata per questo servizio di backend.

    Il valore del campo deve essere compreso tra 0.0 to 1.0, dove 0.0 indica che non vengono generati log e 1.0 indica che vengono generati log per tutti i pacchetti campionati. Attivare il logging, ma impostare la frequenza di campionamento su 0.0, equivale a disattivare 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 (valore predefinito) per escludere tutti i campi facoltativi.
    • CUSTOM per includere un elenco personalizzato di campi facoltativi specificati in OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: un elenco separato da virgole di campi facoltativi che vuoi includere nei log.

    Ad esempio, serverInstance.vm,serverGkeDetails. Può essere impostato solo se LOGGING_OPTIONAL è impostato su CUSTOM.

API

Invia una richiesta POST al metodo 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",...]
      }
    }
    

Attivare 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 su Configurazione backend.
  4. Accanto al servizio di backend, fai clic su Modifica.
  5. Nella sezione Logging, seleziona la casella di controllo Attiva il logging.
  6. Imposta una frazione di Frequenza di campionamento. Puoi impostare una tariffa da 0.0 a 1.0 (valore 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

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

    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 servizio di backend.
  • REGION: la regione del servizio di backend da creare.
  • SAMPLE_RATE: questo campo può essere specificato solo se la registrazione è attivata per questo servizio di backend.

    Il valore del campo deve essere compreso tra 0.0 to 1.0, dove 0.0 indica che non vengono registrati log e 1.0 indica che i log vengono generati per tutti i pacchetti campionati. Attivare il logging, ma impostare la frequenza di campionamento su 0.0 equivale a disattivare 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 (valore predefinito) per escludere tutti i campi facoltativi.
    • CUSTOM per includere un elenco personalizzato di campi facoltativi specificati in OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: un elenco separato da virgole di campi facoltativi che vuoi includere nei log.

    Ad esempio, serverInstance.vm,serverGkeDetails. Può essere impostato solo se LOGGING_OPTIONAL è impostato su CUSTOM.

API

Invia una richiesta PATCH al metodo 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",...]
      }
    }
    

Disattivare 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 su Configurazione backend.

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

  5. Se lasci abilitato il logging, puoi impostare una frazione di Frequenza di campionamento diversa. Puoi impostare la tariffa su un valore compreso tra 0.0 e 1.0 (valore predefinito). Per generare log solo per il 20% dei pacchetti campionati, imposta il valore 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

Disattiva il logging sul servizio di backend con il 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 al metodo 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 sono esclusi tramite un destinatario del router di log, puoi leggerli utilizzando l'API Cloud Logging e l'interfaccia a riga di comando Google Cloud.

Per visualizzare tutti i log 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 Regola del bilanciatore del carico di rete passthrough esterno.

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

Query della 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 quanto segue nel campo della query. Sostituisci PROJECT_ID con l'ID del tuo progetto.

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

Visualizzare i log di un servizio di backend specifico

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

Query della 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 quanto segue nel campo della query. Sostituisci PROJECT_ID con l'ID del tuo progetto e BACKEND_SERVICE_NAME con il nome del 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.

Visualizzare i log di un gruppo di istanza di backend

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

Query della 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 quanto segue nel campo della query. Sostituisci PROJECT_ID con l'ID del tuo 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 dei log contengono campi obbligatori, che sono i campi predefiniti di ogni record del log, e campi facoltativi che aggiungono ulteriori informazioni. Possono essere omessi per risparmiare sui costi di archiviazione.

Alcuni campi di log sono in un formato multicampo, con più di un dato in un determinato campo. Ad esempio, il campo connection è nel formato IpConnection, che contiene l'indirizzo IP e la porta di origine e di destinazione, oltre al protocollo, in un unico campo. Questi campi multi-campo sono descritti nella tabella del formato dei record che segue.

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

Campo Formato del campo Tipo di campo: obbligatorio o facoltativo Descrizione
Connessione IpConnection Obbligatorio Tupla di 5 elementi che descrive questa connessione.
startTime string Obbligatorio Timestamp (nel formato di stringa per la data RFC 3339) del primo pacchetto osservato durante l'intervallo di tempo aggregato.
endTime string Obbligatorio Timestamp (nel formato di stringa per la data RFC 3339) dell'ultimo pacchetto osservato durante l'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 del tempo di round trip (RTT) della rete stimato più il tempo impiegato per elaborare il pacchetto nel sistema operativo del client.

Per i pacchetti campionati, l'RTT viene calcolato dal punto di vista di un backend bilanciato in base al carico misurando le differenze di tempo tra il backend che invia un segmento TCP e il backend che riceve un riconoscimento TCP per il numero di sequenza del segmento inviato.

La latenza è formattata come stringa che inizia con il numero di secondi e termina con "s" per indicare i secondi. I nanosecondi sono expressed as fractional seconds: ad esempio, la latenza di 250 millisecondi è formatted as "0.250000000s".

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

Formato del campo IpConnection

Campo Tipo Descrizione
clientIp string Indirizzo IP del client
clientPort int32 Porta client. Impostato solo per le connessioni TCP e UDP.
serverIp string Indirizzo IP del server (IP regola di forwarding)
serverPort int32 Porta del server. Impostato solo per le connessioni TCP e UDP.
protocollo int32 Numero di protocollo IANA

Formato del campo InstanceDetails

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

Formato del campo GeographicDetails

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

Formato del campo GkeDetails

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

Formato del campo ClusterDetails

Campo Tipo Descrizione
cluster string Nome del cluster GKE
clusterLocation string Località del cluster. La posizione 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
service string Nome del servizio. Se sono presenti più di due servizi pertinenti, il campo viene impostato su un indicatore speciale MANY_SERVICES.
serviceNamespace string Spazio dei nomi del servizio

Formato del campo NetworkTierDetails

Campo Tipo Descrizione
networkTier string Il livello di rete utilizzato nella connessione, uno dei valori [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 le seguenti finalità:

  • Valutare la configurazione, l'utilizzo e le prestazioni di un bilanciatore del carico
  • Risoluzione dei problemi
  • Migliorare l'utilizzo delle risorse e l'esperienza utente

Oltre alle dashboard predefinite in Monitoraggio, puoi creare dashboard personalizzate, configurare avvisi ed eseguire query sulle metriche tramite l'API Monitoring.

Visualizzare le dashboard di monitoraggio

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. Vengono visualizzati tutti i bilanciatori del carico.

  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 visualizzare vari dettagli per il bilanciatore del carico selezionato. Questo riquadro mostra le configurazioni correnti.

Nel riquadro Metriche principali puoi visualizzare i grafici per ogni metrica principale. Per visualizzare suddivisioni specifiche, fai clic su Suddivisioni. Questo riquadro presenta i dati basati su configurazioni storiche, mentre il riquadro Dettagli del bilanciatore del carico di rete passthrough esterno mostra solo le configurazioni correnti. Per ulteriori informazioni, vedi Dashboard e grafici.

Definire le dashboard personalizzate di monitoraggio

Puoi creare dashboard di monitoraggio personalizzate per le metriche dei bilanciatori del carico di rete passthrough esterni.

Consulta la sezione Metriche e tipi di risorse per un elenco delle metriche raccolte. Consulta la sezione Filtri per gli elenchi degli attributi che puoi utilizzare 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 il prefisso loadbalancing.googleapis.com/l3/external.

  6. Fai clic su Salva.

Definire gli avvisi di monitoraggio

Puoi definire avvisi di monitoraggio per diverse 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 loadbalancing.googleapis.com/l3/external nel campo Trova tipo di risorsa e metrica.

  4. Specifica una configurazione per impostare quando deve essere attivato un avviso.

  5. Se vuoi, aggiungi i filtri.

  6. Fai clic su Salva.

Frequenza e conservazione dei report sulle metriche

Le metriche per i bilanciatori del carico di rete passthrough esterni vengono esportate in Monitoring in batch 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 aggiustata). La dashboard fornisce l'analisi dei dati in intervalli predefiniti di un'ora (1 ora), sei ore (6 ore), un giorno (1 giorno), una settimana (1 settimana) e sei settimane (6 settimane). Puoi richiedere manualmente un'analisi in qualsiasi intervallo da sei settimane a 60 secondi.

Metriche e tipi di risorse

Metriche

Le seguenti metriche per i bilanciatori del carico di rete passthrough esterni vengono registrate in Monitoraggio. Puoi utilizzare questi nomi di metriche quando effettui richieste API.

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

Una distribuzione del tempo di risposta misurato sulle connessioni TCP per i flussi del bilanciatore del carico di rete passthrough esterno.

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 il traffico TCP, UDP, ESP, GRE, ICMP e ICMPv6.

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

Filtri

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

Etichette 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 valori.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descrizione
project string L'identificatore del progetto Google Cloud associato a questa 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 risiede il backend del bilanciatore del carico.
backend_target_type string Indica se il bilanciatore del carico di rete passthrough esterno è basato su pool di destinazione o su servizio di backend. 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 su servizi di backend, il nome del servizio di backend.
forwarding_rule_name string Il nome della regola di forwarding.
forwarding_rule_network_tier string Il livello di rete della 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 del gruppo di istanza di backend o del 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 un servizio di backend, il valore può essere INSTANCE_GROUP o NETWORK_ENDPOINT_GROUP.

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

backend_scope string

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

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

backend_scope_type string

Il tipo di ambito del gruppo di backend che ha gestito la 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 che 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 la 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 valori.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descrizione
project string L'identificatore del progetto Google Cloud associato a questa 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 risiede il backend del bilanciatore del carico.
backend_target_type string Il tipo di target di backend che ha gestito la connessione. I 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, 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, il valore è 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 la connessione. Se backend_target_type è TARGET_POOL, il valore è UNSUPPORTED_FOR_TARGET_POOL.
backend_subnetwork_name string Il nome della subnet del backend che ha ricevuto la 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 valori.

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

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

Questo campo viene lasciato vuoto per le risorse tcp_lb_rule e udp_lb_rule.

Monitoraggio delle richieste API

Puoi creare query arbitrarie sulle metriche del bilanciatore del carico di rete passthrough esterno utilizzando la richiesta projects.timeSeries.list della versione 3 dell'API Monitoring. La struttura esatta delle varie definizioni segue la semantica dei filtri di monitoraggio generici.

Richieste API di esempio

  • Ottieni tutti i byte inviati da tutti i bilanciatori del carico di rete passthrough esterni nel progetto tra le 12:00 e le 12:02 UTC del 01-07-2019 con aggregati di 1 milione.

    Parametri timeSeries.list:

    • name: projects/PROJECT_ID
    • Filtro: resource.type = "tcp_lb_rule" E 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 la misurazione della media del tempo di risposta RTT su tutti i bilanciatori del carico di rete passthrough esterni nel progetto tra le 12:19 e le 12:20 UTC del 01/07/2019, suddivisa per paese del client.

    Parametri timeSeries.list:

    • name: projects/PROJECT_ID
    • Filtro: resource.type = "tcp_lb_rule" E 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 i byte totali da un bilanciatore del carico di rete passthrough esterno specifico tra le 12:19 e le 12:20 UTC del 01/07/2019, suddivisi per zona dell'endpoint e continente del client.

    Parametri timeSeries.list:

    • name: projects/PROJECT_ID
    • Filtro: resource.type = "tcp_lb_rule" E 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