Logging e monitoraggio

Cluster Anthos su VMware (GKE On-Prem) include più opzioni per il logging e il monitoraggio dei cluster, inclusi i servizi gestiti basati su cloud, gli strumenti open source e la compatibilità convalidata con soluzioni commerciali di terze parti. In questa pagina sono illustrate queste opzioni e alcune indicazioni di base per la selezione della soluzione appropriata per il tuo ambiente.

Opzioni per Cluster Anthos su VMware

Sono disponibili diverse opzioni di logging e monitoraggio per i tuoi cluster Anthos su VMware:

  • Cloud Logging e Cloud Monitoring, abilitati dagli agenti in-cluster di cui è stato eseguito il deployment con Cluster Anthos su VMware.
  • Prometheus e Grafana, disattivato per impostazione predefinita.
  • Configurazioni convalidate con soluzioni di terze parti.

Cloud Logging e Cloud Monitoring

La suite operativa di Google Cloud è la soluzione integrata di osservabilità per Google Cloud. Offre una soluzione di logging completamente gestita, raccolta di metriche, monitoraggio, creazione di dashboard e avvisi. Cloud Monitoring monitora i cluster Anthos su cluster VMware in modo simile ai cluster GKE basati su cloud.

Gli agenti in-cluster possono essere configurati per l'ambito di monitoraggio e logging, nonché per il livello di metriche raccolte:

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

Per ulteriori informazioni, consulta Configurazione degli agenti Stackdriver per Anthos clusters on VMware in questa pagina.

Logging e Monitoring rappresentano una soluzione ideale per i clienti che desiderano un'unica soluzione di osservabilità basata su cloud, potente e facile da configurare. Consigliamo vivamente il logging e il monitoraggio durante l'esecuzione di carichi di lavoro solo su Cluster Anthos su VMware o su carichi di lavoro GKE e Cluster Anthos su VMware. Per le applicazioni con componenti in esecuzione su Cluster Anthos su VMware e l'infrastruttura tradizionale on-premise, potresti prendere in considerazione altre soluzioni per una visione end-to-end di queste applicazioni.

Prometheus e Grafana

Prometheus e Grafana sono due popolari prodotti di monitoraggio open source:

  • Prometheus raccoglie le metriche di applicazione e di sistema.

  • Alertmanager consente di inviare avvisi con diversi meccanismi di avviso.

  • Grafana è uno strumento di controllo.

Prometheus e Grafana possono essere attivati su ogni cluster di amministrazione e cluster utente. Prometheus e Grafana sono consigliati per i team applicativi con precedenti esperienze con questi prodotti o per i team operativi che preferiscono conservare le metriche delle applicazioni all'interno del cluster e per risolvere i problemi in caso di interruzione della connettività di rete.

Soluzioni di terze parti

Google ha collaborato con diversi provider di soluzioni di monitoraggio e logging di terze parti per aiutare i propri prodotti a funzionare al meglio con Cluster Anthos su VMware. inclusi Datadog, Elastic e Splunk. In futuro verranno aggiunte altre terze parti convalidate.

Per utilizzare soluzioni di terze parti con Cluster Anthos su VMware, sono disponibili le seguenti guide delle soluzioni:

Come funzionano Logging e Monitoring per i cluster Anthos su VMware

Gli agenti di logging e metriche vengono installati e attivati in ogni cluster quando crei un nuovo cluster di amministrazione o utente.

Gli agenti Stackdriver includono diversi componenti in ogni cluster:

  • Operatore Stackdriver (stackdriver-operator-*). Gestisce il ciclo di vita di tutti gli altri agenti Stackdriver di cui è stato eseguito il deployment nel cluster.

  • Risorsa personalizzata di Stackdriver. Una risorsa creata automaticamente durante il processo di installazione di Cluster Anthos su VMware; gli utenti possono modificare la risorsa personalizzata in qualsiasi momento per aggiornare valori come ID progetto, nome del cluster e località del cluster.

  • Aggregatore di log Stackdriver (stackdriver-log-aggregator-*). Un StatefulSet Fluentd che invia i log all'API Cloud Logging; se non è possibile inviare log, l'aggregatore di log esegue il buffer delle voci di log fino a 200 GB e tenta di inviarli di nuovo per un massimo di 24 ore. Se il buffer si esaurisce o se l'aggregatore di log non riesce a raggiungere l'API Logging per più di 24 ore, i log vengono eliminati.

  • Stackdriver Log Forwarder (stackdriver-log-forwarder-*). Un daemonset Flubebit che inoltra i log da ogni macchina all'aggregatore di log Stackdriver.

  • Raccoglitore Stackdriver Metrics (stackdriver-prometheus-k8s-). Un Prometheus e Sidecar StatefulSet di Stackdriver Prometheus che invia metriche Prometheus all'API Cloud Logging.

  • Stackdriver Metadata Collector (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 delle metriche consentendo di eseguire query in base al nome del deployment, al nome del nodo o anche al nome del servizio Kubernetes.

Per visualizzare tutti gli agenti installati da Stackdriver, esegui questo comando:

  kubectl -n kube-system get pods | grep stackdriver

L'output di questo comando è simile al seguente:

stackdriver-log-aggregator-0                  1/1     Running   0   4h31m
stackdriver-log-aggregator-1                  1/1     Running   0   4h28m
stackdriver-log-forwarder-bpf8g               1/1     Running   0   4h31m
stackdriver-log-forwarder-cht4m               1/1     Running   0   4h31m
stackdriver-log-forwarder-fth5s               1/1     Running   0   4h31m
stackdriver-log-forwarder-kw4j2               1/1     Running   0   4h29m
stackdriver-metadata-agent-cluster-level...   1/1     Running   0   4h31m
stackdriver-operator-76ddb64d57-4tcj9         1/1     Running   0   4h37m
stackdriver-prometheus-k8s-0                  2/2     Running   0   4h31m

Configurazione degli agenti Stackdriver per Cluster Anthos su VMware

Gli agenti Stackdriver installati con Cluster Anthos su VMware raccolgono dati sui componenti di sistema, in base alle impostazioni e alla configurazione, allo scopo di gestire e risolvere i problemi con i tuoi cluster.

Solo componenti di sistema (ambito predefinito)

Al momento dell'installazione, gli agenti Stackdriver raccolgono log e metriche, inclusi dettagli sulle prestazioni (ad esempio utilizzo della CPU e memoria), e metadati simili, per i componenti di sistema forniti da Google. 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. Gli agenti Stackdriver possono essere configurati o disabilitati come descritto nelle seguenti sezioni.

L'ambito dei log e delle metriche raccolti può essere esteso per includere anche le applicazioni. Per istruzioni su come abilitare il logging e il monitoraggio delle applicazioni, consulta 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 e kubelet alla suite operativa di Google Cloud (in precedenza Stackdriver). Per raccogliere questo insieme di metriche ottimizzate sono necessarie meno risorse, migliorando le prestazioni e la scalabilità in generale. Ciò è particolarmente importante per le metriche a livello di container, a causa dell'elevata quantità di oggetti da monitorare.

Per disabilitare le metriche 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 Cluster Anthos su VMware, incluse quelle escluse per impostazione predefinita, sono descritte nelle metriche di Anthos.

Stackdriver disabilitato

Gli agenti Stackdriver possono essere disattivati completamente eliminando la risorsa personalizzata Stackdriver. Prima di disattivare Stackdriver, consulta la pagina di assistenza per i dettagli sull'impatto degli SLA dell'assistenza Google Cloud.

Per disabilitare i cluster Stackdriver per Anthos su VMware:

kubectl -n kube-system delete stackdriver stackdriver

Gli agenti Stackdriver acquisiscono i dati archiviati localmente e sono soggetti alla configurazione di archiviazione e conservazione. I dati vengono replicati nel progetto Google Cloud specificato al momento dell'installazione utilizzando un account di servizio autorizzato a scrivere dati nel progetto. Gli agenti Stackdriver possono essere disabilitati in qualsiasi momento, come descritto in precedenza. I dati raccolti dagli agenti Stackdriver possono essere gestiti ed eliminati come qualsiasi altro dato di metrica e log, come descritto nella documentazione di Cloud Monitoring.

Requisiti di configurazione per Logging e Monitoring

Per utilizzare Logging e Monitoring con un cluster, devi configurare il progetto Google Cloud in cui vuoi visualizzare i log e le metriche. Questo progetto Google Cloud è chiamato progetto di monitoraggio del logging.

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

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

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

Prezzi

Non sono previsti costi per i log di sistema e le metriche di Anthos.

In un cluster Anthos su un cluster VMware, i log e le metriche di sistema Anthos 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 Prezzi per la suite operativa di Google Cloud.

Per scoprire di più sul credito per le metriche di Cloud Logging, contatta il team di vendita per i prezzi.

Come funzionano Prometheus e Grafana per Cluster Anthos su VMware

Ogni Cluster Anthos su VMware è creato con Prometheus e Grafana disabilitati per impostazione predefinita. Puoi seguire la guida all'installazione per abilitarle.

Il server Prometheus è configurato in una configurazione a disponibilità elevata con due repliche in esecuzione su due nodi separati. I requisiti delle risorse vengono adeguati per supportare i cluster che eseguono fino a cinque nodi e ciascuno gestisce fino a 30 pod che gestiscono metriche personalizzate. Prometheus ha un PersistentVolume dedicato con spazio su disco preallocato per adattarsi ai dati per un periodo di conservazione di quattro giorni più un buffer di sicurezza aggiuntivo.

Il piano di controllo dell'amministratore, così come ogni cluster utente, dispone di uno stack di monitoraggio dedicato che puoi configurare in modo indipendente. Ogni amministratore e cluster utente include uno stack di monitoraggio che offre un set completo di funzionalità: Prometheus Server per il monitoraggio, Grafana per l'osservabilità e Prometheus Alertmanager per gli avvisi.

Tutti gli endpoint di monitoraggio, i dati delle metriche trasferiti e le API di monitoraggio sono protetti con i componenti Istio utilizzando le regole mTLS e RBAC. L'accesso ai dati di monitoraggio è limitato solo agli amministratori del cluster.

Metriche raccolte da Prometheus

Prometheus raccoglie le seguenti metriche e metadati dal piano di controllo dell'amministratore e dai cluster utente:

  • Utilizzo delle risorse, come l'utilizzo della CPU su pod e nodi.
  • le metriche del piano di controllo Kubernetes.
  • Metriche dei componenti aggiuntivi e dei componenti di sistema di Kubernetes in esecuzione su nodi, come kubelet.
  • Stato del cluster, ad esempio l'integrità dei pod in un deployment.
  • Metriche dell'applicazione.
  • Metriche delle macchine, come rete, entropia e inodi.

Monitoraggio multi-cluster

L'istanza Prometheus e Grafana installata sul cluster di amministrazione è appositamente configurata per fornire insight sull'intera istanza di Cluster Anthos su VMware, inclusi il cluster di amministrazione e ogni cluster utente. In questo modo, puoi:

  • Utilizza una dashboard Grafana per accedere alle metriche di tutti i cluster utente e dei cluster di amministrazione.
  • Visualizzare le metriche dei singoli cluster utente nelle dashboard di Grafana; le metriche sono disponibili per le query dirette alla massima risoluzione.
  • Accedi alle metriche dei carichi di lavoro e a livello di nodo dei cluster utente per query, dashboard e avvisi aggregati (le metriche del carico di lavoro sono limitate ai carichi di lavoro in esecuzione nello spazio dei nomi di kube-system).
  • Configurare avvisi per cluster specifici.

Passaggi successivi