Logging e monitoraggio

Google Distributed Cloud (solo software) per VMware include più opzioni per il logging e il monitoraggio dei cluster, tra cui servizi gestiti basati sul cloud, strumenti open source e compatibilità con soluzioni commerciali di terze parti convalidate. Questo documento spiega queste opzioni e fornisce alcune indicazioni di base su come selezionare la soluzione più adatta al tuo ambiente.

Opzioni per Google Distributed Cloud

Hai a disposizione diverse opzioni di logging e monitoraggio per Google Distributed Cloud:

Cloud Logging e Cloud Monitoring

Google Cloud Observability (in precedenza Stackdriver) è la soluzione di osservabilità integrata per Google Cloud. Offre una soluzione di logging, raccolta di metriche, monitoraggio, dashboard e avvisi completamente gestita. Cloud Monitoring monitora i cluster Google Distributed Cloud in modo simile ai cluster GKE basati sul cloud.

Puoi configurare gli agenti in-cluster per l'ambito di monitoraggio e logging, nonché il livello di metriche raccolte:

  • L'ambito del logging e del monitoraggio può essere impostato solo sui componenti di sistema (impostazione predefinita) o sui componenti di sistema e sulle applicazioni.
  • Il livello di metriche raccolte può essere configurato per un insieme ottimizzato di metriche o per le metriche complete

Per ulteriori informazioni, consulta la sezione Configurazione degli agenti di logging e monitoraggio per Google Distributed Cloud di questo documento.

Cloud Logging e Cloud Monitoring forniscono una soluzione ideale per i clienti che desiderano un'unica soluzione di osservabilità basata su cloud, potente e facile da configurare. Consigliamo vivamente Logging e Monitoring quando esegui i workload solo su Google Distributed Cloud o i workload su GKE e Google Distributed Cloud. Per le applicazioni con componenti in esecuzione su Google Distributed Cloud e l'infrastruttura on-premise tradizionale, potresti prendere in considerazione altre soluzioni per una visualizzazione end-to-end di queste applicazioni.

Soluzioni di terze parti

Google ha collaborato con diversi fornitori di soluzioni di logging e monitoraggio di terze parti per fare in modo che i loro prodotti funzionino bene con Google Distributed Cloud. Tra questi vi sono Datadog, Elastic e Splunk. In futuro verranno aggiunte altre terze parti convalidate.

Per ulteriori informazioni sull'utilizzo di soluzioni di terze parti con Google Distributed Cloud, consulta quanto segue:

Come funzionano il logging e il monitoraggio per Google Distributed Cloud

Gli agenti di logging e monitoraggio vengono installati e attivati in ogni cluster quando crei un nuovo cluster di amministrazione o utente. Gli agenti raccolgono dati sui componenti di sistema, il cui ambito puoi configurare.

Per visualizzare i dati raccolti nella console Google Cloud , devi configurare il progetto Google Cloud che archivia i log e le metriche che vuoi visualizzare.

Gli agenti di logging e monitoraggio su ogni cluster includono:

  • Agente delle metriche GKE (gke-metrics-agent). Un DaemonSet che invia le metriche all'API Cloud Monitoring.

  • Log forwarder (stackdriver-log-forwarder). Un DaemonSet Fluent Bit che inoltra i log da ogni macchina a Cloud Logging. Il log forwarder memorizza nel buffer le voci di log sul nodo localmente e le invia di nuovo per un massimo di quattro ore. Se il buffer si riempie o se l'inoltro dei log non riesce a raggiungere l'API Cloud Logging per più di quattro ore, i log vengono eliminati.

  • Agente metriche GKE globale (gke-metrics-agent-global). Un deployment che invia metriche all'API Cloud Monitoring.

  • Agente di metadati (stackdriver-metadata-agent). Un deployment che invia metadati per risorse Kubernetes come pod, deployment o nodi all'API Stackdriver Resource Metadata. Questi dati vengono utilizzati per arricchire le query sulle metriche consentendoti di eseguire query in base al nome del deployment, al nome del nodo o persino al nome del servizio Kubernetes.

  • kube-state-metrics: un deployment che ascolta il server API e genera metriche sugli stati degli oggetti.

  • node-exporter: un DaemonSet che genera metriche hardware e del sistema operativo.

Puoi visualizzare tutti gli agenti di deployment eseguendo questo comando:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get deployments -l "managed-by=stackdriver" --all-namespaces

dove CLUSTER_KUBECONFIG è il percorso del file kubeconfig per il cluster.

L'output di questo comando è simile al seguente:

gke-metrics-agent-global                      1/1     Running   0   4h31m
stackdriver-metadata-agent-cluster-level      1/1     Running   0   4h31m

Puoi visualizzare tutti gli agenti DaemonSet eseguendo questo comando:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get daemonsets -l "managed-by=stackdriver" --all-namespaces

L'output di questo comando è simile al seguente:

gke-metrics-agent                             1/1     Running   0   4h31m
stackdriver-log-forwarder                     1/1     Running   0   4h31m

Configurazione degli agenti di logging e monitoraggio per Google Distributed Cloud

Gli agenti installati con Google Distributed Cloud raccolgono dati sui componenti di sistema, in base alle impostazioni e alla configurazione, per scopi di manutenzione e risoluzione dei problemi relativi ai cluster.

Solo componenti di sistema (ambito predefinito)

Al momento dell'installazione, gli agenti raccolgono log e metriche, inclusi dettagli sulle prestazioni (ad esempio, utilizzo di CPU e memoria) e metadati simili, per i componenti di sistema forniti da Google. Questi includono tutti i carichi di lavoro nel cluster di amministrazione e, per i cluster utente, i carichi di lavoro negli spazi dei nomi kube-system, gke-system, gke-connect, istio-system e config-management-system. Puoi configurare o disattivare gli agenti come descritto nelle sezioni seguenti.

L'ambito dei log e delle metriche raccolti può essere esteso per includere anche le applicazioni. Per istruzioni su come abilitare la registrazione e il monitoraggio delle applicazioni, vedi Abilitazione di Logging e Monitoring per le applicazioni utente.

Metriche ottimizzate (metriche predefinite)

Per impostazione predefinita, gli agenti delle metriche in esecuzione nel cluster raccolgono e segnalano un insieme ottimizzato di metriche di container, kubelet e kube-state-metrics a Google Cloud Observability (precedentemente Stackdriver).

Per raccogliere questo set ottimizzato di metriche sono necessarie meno risorse, il che migliora le prestazioni e la scalabilità complessive. Ciò è particolarmente importante per le metriche a livello di container e kube, a causa della grande quantità di oggetti da monitorare.

Per disabilitare le metriche kube-state-metrics ottimizzate (non consigliato), imposta il campo optimizedMetrics su false nella risorsa personalizzata Stackdriver. Per ulteriori informazioni sulla modifica della risorsa personalizzata Stackdriver, consulta Configurazione delle risorse dei componenti Stackdriver. Tutte le metriche di Google Distributed Cloud, incluse quelle escluse per impostazione predefinita, sono descritte in Metriche di Google Distributed Cloud.

Attivare e disattivare Stackdriver

Puoi abilitare o disabilitare completamente gli agenti di logging e monitoraggio abilitando o disabilitando la risorsa personalizzata Stackdriver. Questa funzionalità è in anteprima.

Prima di disattivare gli agenti di registrazione e monitoraggio, consulta la pagina di assistenza per informazioni dettagliate su come questo influisce sugli SLA dell'assistenza Google Cloud .

Gli agenti di logging e monitoraggio acquisiscono i dati memorizzati localmente, in base alla configurazione di archiviazione e conservazione. I dati vengono replicati nel progetto Google Cloud specificato durante l'installazione utilizzando un account di servizio autorizzato a scrivere dati in quel progetto. Puoi disattivare questi agenti in qualsiasi momento, come descritto in precedenza.

Puoi anche gestire ed eliminare i dati che gli agenti di logging e monitoraggio hanno inviato a Cloud Logging e Cloud Monitoring. Per saperne di più, consulta la documentazione di Cloud Monitoring.

Requisiti di configurazione per logging e monitoraggio

Per visualizzare i dati di Cloud Logging e Cloud Monitoring, devi configurare il progetto Google Cloud che archivia i log e le metriche che vuoi visualizzare. Questo Google Cloud progetto è chiamato progetto logging-monitoring.

  1. Abilita le seguenti API nel tuo progetto di logging e monitoraggio:

  2. Concedi i seguenti ruoli IAM al tuo service account logging-monitoring nel tuo progetto logging-monitoring.

    • logging.logWriter
    • monitoring.metricWriter
    • stackdriver.resourceMetadata.writer
    • monitoring.dashboardEditor
    • opsconfigmonitoring.resourceMetadata.writer

Tag log

Molti log di Google Distributed Cloud hanno un tag F:

logtag: "F"

Questo tag indica che la voce di log è completa o full. Per saperne di più su questo tag, consulta Formato log nelle proposte di progettazione di Kubernetes su GitHub.

Passaggi successivi