Logging e monitoraggio del piano di controllo

Questo documento mostra come utilizzare Cloud Logging e Cloud Monitoring per visualizzare i log e le metriche per il control plane di Cloud Service Mesh.

L'utilizzo di un mesh di servizi ti consente di osservare il traffico verso e da i servizi, il che consente un monitoraggio e un debug più approfonditi senza modifiche al codice nel servizio stesso. Le voci di log possono fornire informazioni importanti per la risoluzione dei problemi del tuo mesh di servizi, inclusi i record delle connessioni e delle disconnessioni riuscite, i report di errore per i client configurati in modo errato e gli avvisi sui conflitti delle risorse 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 Cloud Service Mesh: puoi archiviare, cercare, analizzare e impostare avvisi in modo sicuro su tutti i dati e gli eventi di logging di Cloud Service Mesh utilizzando tutte le funzionalità integrate di Logging. Cloud Service Mesh esporta i log in Logging quando un client Envoy o gRPC si connette o disconnette, nonché quando rileva problemi di configurazione.
  • Cloud Monitoring per il piano di controllo di Cloud Service Mesh: Cloud Service Mesh esporta in Monitoring una metrica chiave che indica il numero di client collegati al piano di controllo di Cloud Service Mesh. Puoi configurare una dashboard in Monitoraggio e visualizzare questa metrica in tempo reale per monitorare l'integrità della mesh quando i client si connettono e si disconnettono. In questo modo puoi anche configurare un SLO per la tua mesh.
  • Risolvi immediatamente i problemi: Cloud Service Mesh 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 durante la configurazione della rete mesh per la prima volta.

Visualizza i log

Per visualizzare i log di Cloud Service Mesh, utilizza Esplora log. La sezione seguente presenta una query di esempio per visualizzare i log di Cloud Service Mesh, 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 voce di log di Cloud Service Mesh

Campo Descrizione
node_id ID del nodo xDS-client, come fornito da xDS-client.
client_type Tipo di client xDS connesso a Cloud Service Mesh. 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 Cloud Service Mesh. I valori possibili sono V2 e V3.
description Descrizione testuale dell'evento con ulteriori dettagli.

Voci di log di esempio

Esempio di voce del log Descrizione
"Cloud Service Mesh non ha trovato alcuna configurazione per il client xDS." Questo log viene generato quando il client xDS viene rifiutato da Cloud Service Mesh perché non esiste alcuna configurazione. Ciò potrebbe essere dovuto alla configurazione incompleta delle risorse API pertinenti a Cloud Service Mesh.
"Il client si è connesso correttamente." Questo tipo di messaggio di log viene generato ogni volta che un client si connette correttamente a Cloud Service Mesh.
"Il client si è disconnesso correttamente." Questo tipo di messaggio di log viene generato ogni volta che un client stabilito viene disconnesso da Cloud Service Mesh.
La variabile di metadati "TRAFFICDIRECTOR_INTERCEPTION_PORT" non è impostata. La configurazione di routing per l'intercettatore esiste, ma verrà ignorata." Questo tipo di messaggio di log viene generato quando le risorse Cloud Service Mesh 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.
"L'intercettatore è stato creato sulla porta 15001 specificata, ma non esiste una configurazione di routing per questa porta." 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 per consentire a Cloud Service Mesh di generare una risposta xDS completa.
"L'invio della risposta ADS da Cloud Service Mesh non è riuscito. L'ultima richiesta di scoperta inviata dal nodo aveva una versione e/o un nonce errati." Questo tipo di messaggio di log viene generato quando Cloud Service Mesh non riesce a elaborare correttamente la risposta xDS a causa della comunicazione danneggiata del 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 Cloud Service Mesh di aver inviato traffico tra regioni da una regione di origine a una o più regioni di destinazione.

Visualizza metriche

Cloud Service Mesh esporta tre metriche in Cloud Monitoring: Stream collegati dell'API xDS, Conteggio richieste e Conteggio richieste per zona. Stream collegati dell'API xDS indica il numero di client collegati 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 Cloud Service Mesh:

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

    Vai a Esplora metriche

  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 e 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 conteggio delle richieste tra regioni:

  1. Seleziona MQL.
  2. Nel campo, inserisci la seguente query di esempio:
    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.

Configurare metriche e avvisi basati su log

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

Puoi configurare gli avvisi per ricevere una notifica quando i messaggi specificati dall'utente vengono visualizzati nei log inclusi. Questi avvisi possono informare l'operatore quando si verifica qualcosa di imprevisto. Ad esempio, se una modifica alla configurazione di Cloud Service Mesh provoca conflitti di risorse API, puoi ricevere un avviso sul messaggio di errore. Per configurare gli avvisi sulle metriche basate su log, consulta Configurare grafici e avvisi.