Logging e monitoraggio del piano di controllo

Questo documento illustra come utilizzare Cloud Logging e Cloud Monitoring per visualizzare log e metriche per il piano di controllo Traffic Director.

L'utilizzo di un mesh di servizi consente di osservare il traffico da e verso i servizi, consentendo un monitoraggio e un debug avanzati senza modifiche al codice nel servizio stesso. Le voci di log possono fornire informazioni importanti per la risoluzione dei problemi del mesh di servizi, tra cui record di connessioni e disconnessioni riuscite, report sugli errori per client configurati in modo errato e avvisi sui conflitti delle risorse dell'API.

Casi d'uso

Di seguito sono riportati tre casi d'uso per il logging e il monitoraggio del piano di controllo:

  • Cloud Logging per il piano di controllo di Traffic Director: puoi archiviare, cercare, analizzare e impostare in modo sicuro avvisi su tutti i dati e gli eventi di logging di Traffic Director utilizzando tutte le funzionalità integrate di Logging. Traffic Director esporta i log in Logging quando un client Envoy o gRPC si connette o si disconnette, nonché quando rileva problemi di configurazione.
  • Cloud Monitoring per il piano di controllo Traffic Director: Traffic Director esporta una metrica chiave che indica il numero di client connessi al piano di controllo Traffic Director a Monitoring. Puoi configurare una dashboard in Monitoring e visualizzare questa metrica in tempo reale per monitorare l'integrità del mesh man mano che i client si connettono e si disconnettono. In questo modo puoi anche configurare uno SLO per il tuo mesh.
  • Risolvi immediatamente i problemi: Traffic Director esporta la telemetria in Logging e Monitoring per impostazione predefinita. Non è necessaria alcuna configurazione aggiuntiva per configurare il logging e il monitoraggio, in modo da poter risolvere i problemi in qualsiasi momento, anche quando configuri il mesh per la prima volta.

Visualizza i log

Per visualizzare i log di Traffic Director, utilizza Log Explorer. La sezione seguente presenta una query di esempio per visualizzare i log di Traffic Director, ma puoi utilizzare il link precedente per creare la tua query.

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

    Vai a Esplora log

  2. Nell'elenco Risorsa:
    • Se utilizzi le API di routing dei servizi, seleziona Gateway Scope o Mesh.
    • Se utilizzi le API precedenti, seleziona GCE Network.
  3. Nell'elenco Nome log, seleziona trafficdirector.googleapis.com/events.
  4. Fai clic su Esegui query.

Campi di voce di log di Traffic Director

Campo Descrizione
node_id ID del nodo xDS-client, come fornito dal client xDS-client.
client_type Tipo di client xDS collegato a Traffic Director. Valori possibili:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip Indirizzo IP del nodo fornito dal client.
api_version La versione dell'API xDS utilizzata dai client xDS per connettersi a Traffic Director. I valori possibili sono V2 e V3.
description Descrizione testuale dell'evento con dettagli aggiuntivi.

Esempi di voci di log

Esempio della voce di log Descrizione
"Traffic Director non ha trovato alcuna configurazione per il client xDS." Questo log viene generato quando il client xDS viene rifiutato da Traffic Director perché non esiste alcuna configurazione. Ciò potrebbe essere dovuto alla configurazione incompleta delle risorse API pertinenti di Traffic Director.
"Il client si è connesso correttamente." Questo tipo di messaggio di log viene generato ogni volta che un client si connette correttamente a Traffic Director.
"Il client si è disconnesso correttamente." Questo tipo di messaggio di log viene generato ogni volta che un client stabilito viene disconnesso da Traffic Director.
La variabile metadati "TRAFFICDIRECTOR_INTERCEPTION_PORT non è impostata. La configurazione del routing per il listener di intercettazione esiste, ma verrà ignorata." Questo tipo di messaggio di log viene generato quando le risorse Traffic Director sono configurate correttamente, ma la variabile TRAFFICDIRECTOR_INTERCEPTION_PORT non è impostata nei metadati del nodo xDS-client, pertanto questa configurazione non può essere aggiunta al client.
"Il listener di intercettazione si basa sulla porta 15001 specificata, ma la sua configurazione di routing non esiste." Questo tipo di messaggio di log viene generato quando la variabile TRAFFICDIRECTOR_INTERCEPTION_PORT è impostata nei metadati del nodo xDS-client, ma non sono state configurate risorse affinché Traffic Director generi una risposta xDS completa.
"Invio della risposta ADS da Traffic Director non riuscito. L'ultima richiesta di rilevamento da parte del nodo presentava una versione e/o un nonce errati." Questo tipo di messaggio di log viene generato quando Traffic Director non è riuscito a elaborare correttamente la risposta xDS a causa di una comunicazione danneggiata dal client xDS. Questo messaggio indica un errore di implementazione nel client. Ti consigliamo di controllare i log del client.
"Client che invia traffico tra regioni al servizio di backend backend_service_id. Regione di origine: source_region Regioni di destinazione: destination_region1, destination_region2" Questo tipo di messaggio di log viene generato quando un client segnala a Traffic Director di aver inviato il traffico tra regioni da una regione di origine a una o più regioni di destinazione.

Visualizza metriche

Traffic Director esporta tre metriche in Cloud Monitoring: Flussi connessi dell'API xDS, Conteggio delle richieste e Conteggio delle richieste per zona. Stream connessi dell'API xDS indica il numero di client connessi al tuo piano di controllo; Conteggio richieste indica il numero di richieste inviate a un servizio di backend, raggruppate per regione di origine, regione di destinazione e stato della richiesta. Conteggio delle richieste per zona indica il numero di richieste inviate a un servizio di backend, raggruppate per zona di origine, zona di destinazione e stato della richiesta. Per visualizzare queste metriche, utilizza Metrics Explorer.

Per visualizzare le metriche di Traffic Director:

  1. Nella console Google Cloud, vai alla pagina Metrics Explorer.

    Vai a Metrics Explorer

  2. Nell'elenco Tipo di risorsa, seleziona una risorsa.
    • Se utilizzi le API di routing dei servizi, seleziona Gateway Scope o Mesh.
    • Se utilizzi le API precedenti, seleziona Network.
  3. Nell'elenco Metrica, seleziona connected_clients.
  4. Torna all'elenco Tipo di risorsa, quindi seleziona Compute Engine Backend Service.
  5. Nell'elenco Metrica, seleziona Request count o Request count by zone.

In alternativa, puoi utilizzare una query per visualizzare il numero di richieste tra regioni:

  1. Seleziona MQL.
  2. Nel campo, inserisci la query di esempio seguente:
    fetch gce_backend_service
    | metric 'trafficdirector.googleapis.com/xds/server/request_count'
    | filter ( ne(metric.source_region, metric.destination_region))
    | align rate(1m)
    | every 1m
    | group_by [metric.source_region, metric.destination_region, resource.backend_service_id],
    [value_request_count_aggregate: aggregate(value.request_count)]
    
  3. Fai clic su Esegui query.

Configura metriche e avvisi basati su log

I passaggi seguenti richiedono la configurazione delle metriche basate su log. Per ulteriori informazioni sulla configurazione delle metriche basate su log, consulta la panoramica.

Puoi configurare avvisi per ricevere una notifica quando i messaggi specificati dall'utente vengono visualizzati nei log inclusi. Questi avvisi possono avvisare l'operatore quando si verifica un evento imprevisto. Ad esempio, se una modifica alla configurazione di Traffic Director genera conflitti tra le risorse dell'API, puoi ricevere un avviso nel messaggio di errore. Per configurare avvisi sulle metriche basate su log, consulta Configurare grafici e avvisi.