Logging e monitoraggio

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

Opzioni per Google Distributed Cloud

Sono disponibili 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 in Google Cloud. Offre una soluzione di logging completamente gestita, metriche raccolta, monitoraggio, creazione di dashboard e avvisi. Cloud Monitoring monitora i cluster Google Distributed Cloud in modo simile a quelli basati su cloud cluster GKE.

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

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

Consulta: Configurazione degli agenti di logging e monitoraggio per Anthos clusters on VMware in questo documento.

Cloud Logging e Cloud Monitoring rappresentano la soluzione ideale per i clienti che desiderano un'unica soluzione di osservabilità basata su cloud, potente e facile da configurare. Consigliamo vivamente di utilizzare la registrazione e il monitoraggio quando esegui carichi di lavoro solo su Google Distributed Cloud o su GKE e Google Distributed Cloud. Per le applicazioni con componenti in esecuzione su Google Distributed Cloud e sull'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 diverse soluzioni di logging e monitoraggio di terze parti in modo che i loro prodotti funzionino bene con Google Distributed Cloud. tra cui Datadog, Elastic e Splunk. Altre terze parti convalidate verranno aggiunte in futuro.

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

Come funzionano il logging e il monitoraggio per Google Distributed Cloud

Gli agenti di monitoraggio e di generazione di log 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 in cui sono archiviati 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 forwarding (stackdriver-log-forwarder). Un DaemonSet Fluent Bit che inoltra i log da ogni macchina a Cloud Logging. Il server di inoltro log memorizza il log sul nodo in locale e le invia di nuovo per un massimo di quattro ore. Se il buffer si riempie o se il forwarder dei log non riesce a raggiungere l'API Cloud Logging per più di quattro ore, i log vengono eliminati.

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

  • Agente di metadati (stackdriver-metadata-agent). Un deployment che invia i metadati delle risorse Kubernetes, come pod, deployment o nodi, all'API Stackdriver Resource Metadata. Questi dati vengono utilizzati per arricchire le query sulle metriche consentendo 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 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 il seguente 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 tue impostazioni e configurazioni, per la manutenzi one e la risoluzione dei problemi relativi ai tuoi cluster.

Solo componenti di sistema (ambito predefinito)

Al momento dell'installazione, gli agenti raccolgono log e metriche, inclusi dettagli sulle prestazioni (ad esempio l'utilizzo della CPU e della memoria) e metadati simili per i componenti di sistema forniti da Google. Sono inclusi 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 attivare il logging e il monitoraggio delle applicazioni, consulta Attivare il logging e il monitoraggio per le applicazioni utente.

Metriche ottimizzate (metriche predefinite)

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

Sono necessarie meno risorse per raccogliere questo dato un insieme ottimizzato di metriche, che migliora le prestazioni e la scalabilità complessive. Questo è particolarmente importante per le metriche a livello di contenitore e kube, a causa della grande quantità di oggetti da monitorare.

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

Abilita e disabilita Stackdriver

Puoi attivare o disattivare completamente gli agenti di logging e monitoraggio attivando o disattivando la risorsa personalizzata di Stackdriver. Questa funzionalità è in anteprima.

Prima di disabilitare gli agenti di logging e monitoraggio, consulta l'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 inviati dagli agenti di logging e monitoraggio a Cloud Logging e Cloud Monitoring. Per ulteriori informazioni, vedi documentazione di Cloud Monitoring.

Requisiti di configurazione per il logging e il monitoraggio

Per visualizzare i dati di Cloud Logging e Cloud Monitoring, devi configurare il progetto Google Cloud in cui sono archiviati i log e le metriche che vuoi visualizzare. Questo progetto Google Cloud è chiamato progetto di monitoraggio e generazione di log.

  1. Abilita le seguenti API nel tuo progetto di monitoraggio dei log:

  2. Concedi i seguenti ruoli IAM al tuo account di servizio di monitoraggio e generazione di log nel progetto di monitoraggio e generazione di log.

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

Prezzi

Non sono previsti costi per i log di sistema e le metriche di GKE Enterprise. I log e le metriche del piano di controllo un sottoinsieme selezionato di metriche di stato Kube sono attivata per impostazione predefinita per cluster GKE su Google Cloud registrati al momento della creazione del cluster in un progetto abilitato per GKE Enterprise. I log del control plane comportano addebiti di Cloud Logging, mentre le metriche attive per impostazione predefinita sono incluse senza costi aggiuntivi.

Per l'elenco dei log e delle metriche di GKE inclusi, consulta Quali log vengono raccolti e Metriche disponibili.

In un cluster Google Distributed Cloud, i log e le metriche di sistema GKE Enterprise includono:

  • Log e metriche di tutti i componenti in un cluster di amministrazione
  • Log e metriche dei componenti nei seguenti spazi dei nomi di un cluster utente: kube-system, gke-system, gke-connect, knative-serving, istio-system, monitoring-system, config-management-system, gatekeeper-system, cnrm-system

Per ulteriori informazioni, consulta la pagina Prezzi di Google Cloud Observability.

Per saperne di più sul merito delle metriche di Cloud Logging, contatta il team di vendita per i prezzi.

Passaggi successivi