Configura il logging e il monitoraggio per GKE

Google Kubernetes Engine (GKE) include l'integrazione con Cloud Logging e Cloud Monitoring.

Questa integrazione ti consente di monitorare i cluster GKE in esecuzione, gestire i log di sistema e debug e analizzare le prestazioni del sistema utilizzando funzionalità di profilazione e tracciamento avanzate.

I log di sicurezza, inclusi gli audit log di base, sono disponibili per GKE e la maggior parte degli altri servizi Google Cloud, anche quando Cloud Logging non è abilitato per un cluster GKE. Per ulteriori informazioni, consulta Audit log di Cloud.

In questa pagina viene descritto come effettuare le seguenti operazioni:

  • Crea un nuovo cluster e configura Cloud Logging e Cloud Monitoring

  • Seleziona i log e le metriche da raccogliere.

Per i cluster GKE Autopilot, non puoi disabilitare l'integrazione di Cloud Logging e Cloud Monitoring.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e quindi initialize gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo gcloud components update.
  • Assicurati di essere un proprietario del progetto che contiene il cluster.

  • Assicurati di aver abilitato l'API Cloud Logging. Puoi controllare lo stato dell'API Cloud Logging nella pagina Panoramica.

Log e metriche

Puoi scegliere se inviare o meno log e metriche dal cluster GKE a Cloud Logging e Cloud Monitoring. Le seguenti sezioni descrivono quali log e metriche sono disponibili e quali sono abilitati per impostazione predefinita al momento della creazione del cluster.

Log disponibili

Se scegli di inviare i log a Cloud Logging, devi inviare i log di sistema e, facoltativamente, puoi inviarli da origini aggiuntive.

La seguente tabella indica i valori supportati per il flag --logging per i comandi create e update.

Sorgente log Valore --logging Log raccolti
Nessuna NONE Nessun log inviato a Cloud Logging; nessun agente di raccolta dei log installato nel cluster. Questo valore non è supportato per i cluster GKE Autopilot.
Sistema SYSTEM Raccoglie i log da quanto segue:
  • Tutti i pod in esecuzione negli spazi dei nomi kube-system, istio-system, knative-serving, gke-system e config-management-system.
  • Servizi chiavi non containerizzati, tra cui runtime docker/containerd, kubelet, kubelet-monitor, node-problem-detector e kube-container-runtime-monitor.
  • L'output delle porte seriali del nodo, se i metadati dell'istanza VM serial-port-logging-enable sono impostati su true.

Inoltre, raccoglie gli eventi Kubernetes. Questo valore è obbligatorio per tutti i tipi di cluster.

Carichi di lavoro WORKLOAD Tutti i log generati da container non di sistema in esecuzione su nodi utente. Questo valore è attivo per impostazione predefinita, ma facoltativo per tutti i tipi di cluster.
Server API API_SERVER Tutti i log generati da kube-apiserver. Questo valore è facoltativo per tutti i tipi di cluster.
Scheduler SCHEDULER Tutti i log generati da kube-scheduler. Questo valore è facoltativo per tutti i tipi di cluster.
Gestore del controller CONTROLLER_MANAGER Tutti i log generati da kube-controller-manager. Questo valore è facoltativo per tutti i tipi di cluster.

Metriche disponibili

Se scegli di inviare le metriche a Cloud Monitoring, devi inviarne le metriche di sistema e, facoltativamente, puoi inviarne altre.

La seguente tabella indica i valori supportati per il flag --monitoring per i comandi create e update.

Origine Valore --monitoring Metriche raccolte
Nessuna NONE Nessuna metrica inviata a Cloud Monitoring; nessun agente di raccolta delle metriche installato nel cluster. Questo valore non è supportato per i cluster GKE Autopilot.
Sistema SYSTEM Metriche dei componenti di sistema essenziali richiesti per Kubernetes. Per un elenco completo delle metriche, consulta Metriche Kubernetes.
Server API API_SERVER Metriche di kube-apiserver. Per un elenco completo delle metriche, consulta le metriche del server API.
Scheduler SCHEDULER Metriche di kube-scheduler. Per un elenco completo delle metriche, consulta Metriche dello scheduler.
Gestore del titolare CONTROLLER_MANAGER Metriche di kube-controller-manager. Per un elenco completo delle metriche, consulta Metriche del gestore del controller.
Volume permanente (archiviazione) STORAGE Metriche di archiviazione di kube-state-metrics. Include le metriche per le attestazioni di volumi permanenti e di volumi permanenti. Per un elenco completo delle metriche, consulta Metriche di archiviazione.
Pod POD Metriche pod da kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche dei pod.
Deployment DEPLOYMENT Metriche di deployment da kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche di deployment.
StatefulSet STATEFULSET Metriche StatefulSet di kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche StatefulSet.
DaemonSet DAEMONSET Metriche DaemonSet di kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche DaemonSet.
HorizonalPodAutoscaler HPA Metriche HPA di kube-state-metrics. Consulta un elenco completo delle metriche di HorizonalPodAutoscaler.
cAdvisor CADVISOR Metriche di cAdvisor del pacchetto di metriche cAdvisor/Kubelet. Per un elenco completo delle metriche, consulta Metriche di cAdvisor.
kubelet KUBELET Metriche kubelet di cAdvisor/Kubelet Per un elenco completo delle metriche, consulta il pacchetto delle metriche. Metriche kubelet.

Log e metriche abilitati per impostazione predefinita

Quando crei un nuovo cluster GKE su Google Cloud, alcuni log e metriche vengono abilitati per impostazione predefinita durante la creazione del cluster.

  • Le metriche e i log di sistema sono abilitati per tutti i tipi di cluster e non possono essere disabilitati.
  • I log del carico di lavoro sono abilitati per impostazione predefinita per tutti i cluster Autopilot, ma possono essere disabilitati. Sconsigliamo di disabilitare i log dei carichi di lavoro a causa dell'impatto sulla supportabilità.

Puoi scegliere di disabilitare i log e le metriche predefiniti durante la creazione del cluster o dopo la creazione del cluster.

Configura il monitoraggio e il logging per un nuovo cluster

Le istruzioni per la creazione dei cluster in questa sezione riguardano solo le opzioni relative a Cloud Logging e Cloud Monitoring. Per istruzioni complete sulla creazione di un cluster GKE, consulta la documentazione per la creazione di un cluster Autopilot.

Per configurare manualmente il logging e il monitoraggio durante la creazione di un cluster GKE, completa questi passaggi:

Console

Per un cluster Autopilot:

  1. Nella pagina di creazione del cluster Autopilot, nel riquadro di navigazione, fai clic su Impostazioni avanzate.

    Crea un cluster Autopilot

  2. Nell'elenco Operazioni, seleziona i log e le metriche che vuoi raccogliere.

    • Nell'elenco Componenti per Cloud Logging, seleziona i componenti da cui vuoi raccogliere i log.

    • Nell'elenco Componenti per Cloud Monitoring, seleziona i componenti da cui vuoi raccogliere le metriche.

    I cluster Autopilot utilizzano sempre le best practice di Google per la raccolta dei dati di telemetria, il che significa che il logging del sistema e dei carichi di lavoro è sempre abilitato e il monitoraggio del sistema è sempre abilitato.

  3. Fai clic su Crea.

Terraform

  • Per configurare la raccolta di log e metriche utilizzando Terraform, consulta i blocchi logging_config e monitoring_config nel registro Terraform per google_container_cluster. Per abilitare la raccolta dei log dal server API, dallo scheduler e dal gestore del controller, è richiesto il provider Google Cloud Terraform versione 4.44.0 o successiva.

  • Per informazioni generali sull'utilizzo di Google Cloud con Terraform, consulta Terraform with Google Cloud.

Configura il monitoraggio e il logging per un cluster esistente

La seguente sezione descrive in dettaglio come modificare l'integrazione di Cloud Logging e Cloud Monitoring per un cluster GKE esistente.

La modifica del supporto per il monitoraggio e il logging e la modifica della versione Kubernetes del cluster sono azioni distinte. La modifica della versione di Kubernetes del tuo cluster non cambia il supporto configurato per il monitoraggio e il logging.

Quale supporto per il monitoraggio e il logging utilizza il mio cluster?

Per vedere le impostazioni di integrazione di Cloud Logging e Cloud Monitoring per il tuo cluster, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Cluster Kubernetes:

    Vai a Cluster Kubernetes

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Kubernetes Engine.

  2. Nel riquadro Dettagli del cluster, controlla lo stato di Cloud Logging e Cloud Monitoring.

Modifica il cluster

Per modificare le impostazioni di integrazione di Cloud Logging o Cloud Monitoring per un cluster esistente, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Cluster Kubernetes:

    Vai a Cluster Kubernetes

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Kubernetes Engine.

  2. Fai clic sul nome del cluster.

  3. Per modificare quali log vengono inviati a Cloud Logging o quali metriche vengono inviate a Cloud Monitoring, fai clic su Modifica accanto a Cloud Logging o Cloud Monitoring.

  4. Fai clic su Salva.

gcloud

Le seguenti istruzioni di gcloud riguardano l'upgrade del supporto del monitoraggio e del logging del tuo cluster tramite il comando gcloud container clusters update. Tieni presente che utilizzi il comando update, non il comando upgrade.

Terraform

  • Per configurare la raccolta di log e metriche utilizzando Terraform, consulta i blocchi logging_config e monitoring_config nel registro Terraform per google_container_cluster. Per abilitare la raccolta dei log dal server API, dallo scheduler e dal gestore del controller, è richiesto il provider Google Cloud Terraform versione 4.44.0 o successiva.

  • Per informazioni generali sull'utilizzo di Google Cloud con Terraform, consulta Terraform with Google Cloud.

Passaggi successivi