Google Kubernetes Engine (GKE) include l'integrazione con Cloud Logging e Cloud Monitoring, incluso Google Cloud Managed Service per Prometheus.
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.
Questa integrazione fornisce anche una dashboard per l'osservazione dei cluster GKE.
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:
Creare un nuovo cluster e configurare Cloud Logging, Cloud Monitoring e Google Cloud Managed Service per Prometheus.
Seleziona i log e le metriche da raccogliere.
Disabilita Cloud Logging, Cloud Monitoring e Google Cloud Managed Service per Prometheus per un cluster.
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.
Scopri di più sui prezzi di Cloud Logging.
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:
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.
Scopri di più sui prezzi di Cloud Monitoring e sulle metriche non addebitabili.
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. |
Inoltre, puoi raccogliere metriche in stile Prometheus esposte da qualsiasi carico di lavoro GKE utilizzando Google Cloud Managed Service per Prometheus, che ti consente di monitorare e creare avvisi sui carichi di lavoro utilizzando Prometheus, senza dover gestire e utilizzare manualmente Prometheus su larga scala.
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à.
- Per i progetti della versione GKE Enterprise, altre metriche e log utili sono abilitati per impostazione predefinita se ti registri a un parco risorse durante la creazione del cluster. Se vuoi abilitare questi log e metriche dopo la creazione di un cluster, consulta Modificare il cluster.
Nelle tabelle seguenti, un segno di spunta () indica quali log e metriche sono abilitati per impostazione predefinita quando crei e registri un nuovo cluster in un progetto in cui è abilitato GKE Enterprise:
Log
Nome log | Autopilot | Standard |
---|---|---|
Sistema | ||
Carichi di lavoro | - |
|
Server API | ||
Scheduler | ||
Gestore del controller |
I log del piano di controllo (server API, scheduler e gestore del controller) sono soggetti agli addebiti di Cloud Logging.
Metriche
Nome metrica | Autopilot | Standard |
---|---|---|
Sistema | ||
Server API | ||
Scheduler | ||
Gestore del controller | ||
Volume permanente (archiviazione) | ||
i pod | ||
Deployment | ||
StatefulState | ||
DaemonSet | ||
HorizonalPodAutoscaler | ||
cAdvisor | ||
Kubelet |
Tutti i cluster registrati in un progetto in cui è abilitato GKE Enterprise possono utilizzare i pacchetti per le metriche del piano di controllo, le metriche di stato Kube e le metriche cAdvisor/Kubelet senza costi aggiuntivi. In caso contrario, queste metriche sono soggette ad addebiti di Cloud Monitoring.
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 Standard o Autopilot.
Per configurare manualmente il logging e il monitoraggio durante la creazione di un cluster GKE, completa questi passaggi:
Console
Per un cluster Autopilot:
Nella pagina di creazione del cluster Autopilot, nel riquadro di navigazione, fai clic su Impostazioni avanzate.
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.
Fai clic su Crea.
Per un cluster Standard:
Nella pagina di creazione del cluster Standard, nel riquadro di navigazione, in Cluster, fai clic su Funzionalità.
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.
Per disabilitare Cloud Logging (ad eccezione degli audit log), deseleziona la casella di controllo Abilita Cloud Logging.
Per disabilitare Cloud Monitoring, deseleziona la casella di controllo Abilita Cloud Monitoring.
Per disabilitare Google Cloud Managed Service per Prometheus, deseleziona la casella di controllo Abilita Google Cloud Managed Service per Prometheus.
gcloud
Per i nuovi cluster, Cloud Logging e Cloud Monitoring sono abilitati per impostazione predefinita. Per creare il cluster, esegui questo comando:
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo cluster.COMPUTE_LOCATION
: la località di Compute Engine per il cluster.
In alternativa, puoi configurare quali log vengono inviati a Cloud Logging passando un elenco di valori separati da virgole al flag
--logging
del comandocreate
. Per non raccogliere log, supera--logging=NONE
. Per raccogliere i log di sistema, server API, scheduler e gestore del controller, supera--logging=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER
. Per raccogliere i log di sistema e dei carichi di lavoro, supera--logging=SYSTEM,WORKLOAD
. Ad esempio:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=SYSTEM,WORKLOAD
Allo stesso modo, puoi configurare quali metriche vengono inviate a Cloud Monitoring passando un elenco di valori separati da virgole al flag
--monitoring
. Per non raccogliere metriche, supera--monitoring=NONE
. Per raccogliere metriche di sistema, passa--monitoring=SYSTEM
. Per raccogliere tutte le metriche, passa--monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,
DAEMONSET,HPA,CADVISOR,KUBELET
. Ad esempio:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,DAEMONSET,HPA,CADVISOR,KUBELET
Puoi abilitare separatamente Google Cloud Managed Service per Prometheus utilizzando il flag
--enable-managed-prometheus
. Ad esempio:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
Il flag
--enable-managed-prometheus
abilita il raccoglitore gestito, che deve essere configurato.
Terraform
Per configurare la raccolta di log e metriche utilizzando Terraform, consulta i blocchi
logging_config
emonitoring_config
nel registro Terraform pergoogle_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:
-
Nella console Google Cloud, vai alla pagina Cluster Kubernetes:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Kubernetes Engine.
Nel riquadro Dettagli del cluster, controlla lo stato di Cloud Logging, Cloud Monitoring e Google Cloud Managed Service per Prometheus.
Modifica il cluster
Per modificare le impostazioni di integrazione di Cloud Logging o Cloud Monitoring per un cluster esistente, segui questi passaggi:
Console
-
Nella console Google Cloud, vai alla pagina Cluster Kubernetes:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Kubernetes Engine.
Fai clic sul nome del cluster.
Per modificare quali log vengono inviati a Cloud Logging, quali metriche vengono inviate a Cloud Monitoring o se Google Cloud Managed Service per Prometheus è abilitato, fai clic su Modifica edit accanto a Cloud Logging, Cloud Monitoring o Google Cloud Managed Service per Prometheus.
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
.
Configura quali log vengono inviati a Cloud Logging passando un elenco di valori separati da virgole al flag
--logging
del comandogcloud container clusters update
. Consulta un elenco completo delle origini di log disponibili. Ad esempio, per raccogliere i log di sistema e dei carichi di lavoro, passa--logging=SYSTEM,WORKLOAD
. Per raccogliere solo i log di sistema, supera--logging=SYSTEM
. In alternativa, per non raccogliere log, supera--logging=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=NONE
Configura le metriche che vengono inviate a Cloud Monitoring passando un elenco di valori separati da virgole al flag
--monitoring
del comandogcloud container clusters update
. Consulta un elenco completo delle origini delle metriche disponibili. Ad esempio, per raccogliere metriche di sistema, passa--monitoring=SYSTEM
. In alternativa, per non raccogliere metriche, trasmetti--monitoring=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=NONE
Configura se Google Cloud Managed Service per Prometheus è abilitato utilizzando i flag
--enable-managed-prometheus
o--disable-managed-prometheus
. Ad esempio:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
Terraform
Per configurare la raccolta di log e metriche utilizzando Terraform, consulta i blocchi
logging_config
emonitoring_config
nel registro Terraform pergoogle_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.
Parametri di configurazione deprecati
Se in precedenza utilizzavi i vecchi parametri di configurazione per configurare il supporto di logging e monitoraggio per il tuo cluster GKE, questi parametri saranno ritirati. La seguente tabella mostra i parametri di configurazione equivalenti per sostituire i flag deprecati.
Configurazione precedente | Argomenti create precedenti |
Argomenti update precedenti |
Nuovi argomenti create e
update |
---|---|---|---|
Disabilitata | --no-enable-stackdriver-kubernetes |
--no-enable-stackdriver-kubernetes |
--logging=NONE --monitoring=NONE |
Solo monitoraggio del sistema (logging disabilitato) | --enable-stackdriver-kubernetes --no-enable-cloud-logging |
--logging-service=none --monitoring-service=monitoring.googleapis.com/kubernetes |
--logging=NONE --monitoring=SYSTEM |
Solo logging del sistema e del carico di lavoro (monitoraggio disabilitato) | --enable-stackdriver-kubernetes --no-enable-cloud-monitoring |
--logging-service=logging.googleapis.com/kubernetes --monitoring-service=none |
--logging=SYSTEM,WORKLOAD --monitoring=NONE |
Solo logging e monitoraggio del sistema (beta) | --enable-logging-monitoring-system-only |
--enable-logging-monitoring-system-only |
--logging=SYSTEM --monitoring=SYSTEM |
Logging e monitoraggio del sistema e del carico di lavoro | --enable-stackdriver-kubernetes |
--enable-stackdriver-kubernetes |
--logging=SYSTEM,WORKLOAD --monitoring=SYSTEM |
Passaggi successivi
- Per saperne di più sui costi associati a Cloud Logging, Cloud Monitoring e Google Cloud Managed Service per Prometheus, leggi la pagina Prezzi.
- Scopri di più sulla visualizzazione dei log GKE in Cloud Logging.