Google Kubernetes Engine (GKE) include l'integrazione con Cloud Logging e Cloud Monitoring, tra cui Google Cloud Managed Service per Prometheus.
Questa integrazione consente di monitorare i cluster GKE in esecuzione, gestire i log di sistema e di debug e analizzare le prestazioni del sistema utilizzando funzionalità avanzate di profilazione e tracciamento.
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 per 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:
Crea un nuovo cluster e configura 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 initialize gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo
gcloud components update
.
Assicurati di essere un proprietario del progetto contenente il cluster.
Assicurati di aver abilitato l'API Cloud Logging. Puoi controllare lo stato dell'API Cloud Logging nella relativa pagina Panoramica.
Log e metriche
Puoi scegliere se inviare o meno log e metriche dal tuo cluster GKE a Cloud Logging e Cloud Monitoring. Le seguenti sezioni descrivono quali log e metriche sono disponibili e quali log e metriche 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, se vuoi, 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 |
---|---|---|
Nessun valore | NONE |
Nessun log inviato a Cloud Logging; nessun agente per la raccolta dei log installato nel cluster. Questo valore non è supportato per i cluster GKE Autopilot. |
Sistema | SYSTEM |
Raccoglie i log dai seguenti elementi:
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 sui nodi degli utenti. 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 inviare metriche di sistema e, se vuoi, puoi inviare metriche aggiuntive.
Scopri di più sui prezzi di Cloud Monitoring, incluse le 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 |
---|---|---|
Nessun valore | NONE |
Nessuna metrica inviata a Cloud Monitoring; nessun agente per la raccolta delle metriche installato nel cluster. Questo valore non è supportato per i cluster GKE Autopilot. |
Sistema | SYSTEM |
Metriche dei componenti di sistema essenziali necessari per Kubernetes. Consulta un elenco completo di queste metriche Kubernetes. |
Server API | API_SERVER |
Metriche di kube-apiserver . Consulta un elenco completo delle
metriche del server API. |
Scheduler | SCHEDULER |
Metriche di kube-scheduler . Consulta un elenco completo delle
metriche dello scheduler. |
Gestore del controller | CONTROLLER_MANAGER |
Metriche di kube-controller-manager . Consulta un elenco completo delle
metriche del gestore del controller. |
Volume permanente (archiviazione) | STORAGE |
Metriche relative allo spazio di archiviazione di kube-state-metrics . Include metriche per volumi permanenti e attestazioni di volumi permanenti. Consulta un elenco completo delle
metriche di archiviazione.
|
Pod | POD |
Metriche relative ai pod di kube-state-metrics .
Consulta un elenco completo delle
metriche dei pod.
|
Deployment | DEPLOYMENT |
Metriche di deployment da kube-state-metrics .
Consulta un elenco completo delle
metriche di deployment.
|
StatefulSet | STATEFULSET |
Metriche StatefulSet da kube-state-metrics .
Consulta un elenco completo delle
metriche StatefulSet. |
DaemonSet | DAEMONSET |
Metriche DaemonSet da kube-state-metrics .
Consulta un elenco completo delle
metriche DaemonSet.
|
HorizonalPodAutoscaler | HPA |
Metriche HPA di kube-state-metrics . Consulta un elenco completo delle
metriche di HorizonalPodAutoscaler.
|
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 con 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.
- I log di sistema e le metriche sono abilitati per tutti i tipi di cluster e non possono essere disabilitati.
- I log dei carichi 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, ulteriori log e metriche utili sono abilitati per impostazione predefinita se ti registri a un parco risorse durante la creazione del cluster. Se vuoi abilitare questi log e queste 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 |
Tutti i cluster registrati in un progetto in cui è abilitato GKE Enterprise possono utilizzare le metriche del piano di controllo e le metriche di stato Kube 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 monitoraggio e logging per un nuovo cluster
Le istruzioni per la creazione del cluster in questa sezione riguardano solo le opzioni pertinenti 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 logging e monitoraggio durante la creazione di un cluster GKE, completa questi passaggi:
Console
Per un cluster Autopilot:
Nel riquadro di navigazione della pagina di creazione del cluster Autopilot, 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 di telemetria, il che significa che il logging del sistema e del carico 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, del server API, dello scheduler e del gestore del controller, passa--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
Analogamente, puoi configurare le metriche da inviare a Cloud Monitoring passando un elenco di valori separati da virgole al flag
--monitoring
. Per non raccogliere metriche, supera--monitoring=NONE
. Per raccogliere le metriche di sistema, supera--monitoring=SYSTEM
. Per raccogliere tutte le metriche, trasmetti--monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,
DAEMONSET,HPA
. Ad esempio:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,DAEMONSET,HPA
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
consente 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 è necessario il provider Terraform Google Cloud versione 4.44.0 o successiva.Per informazioni generali sull'utilizzo di Google Cloud con Terraform, consulta Terraform con Google Cloud.
Configura monitoraggio e logging per un cluster esistente
La seguente sezione descrive come modificare l'integrazione di Cloud Logging e Cloud Monitoring per un cluster GKE esistente.
Modificare il supporto di monitoraggio e logging e cambiare la versione di Kubernetes del cluster sono azioni distinte. La modifica della versione Kubernetes del tuo cluster non influisce sul supporto configurato per il monitoraggio e il logging.
Quale supporto di monitoraggio e logging utilizza il mio cluster?
Per visualizzare le impostazioni di integrazione di Cloud Logging e Cloud Monitoring per il tuo cluster, segui questi passaggi:
-
Nel pannello di navigazione della console Google Cloud, seleziona Kubernetes Engine e poi Cluster:
Nel riquadro Dettagli del tuo cluster, visualizza 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
-
Nel pannello di navigazione della console Google Cloud, seleziona Kubernetes Engine e poi Cluster:
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 gcloud
riguardano l'upgrade del supporto del monitoraggio e del logging del cluster utilizzando 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 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, passa--logging=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=NONE
Configura le metriche da inviare 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 è necessario il provider Google Cloud Terraform 4.44.0 o versioni successive.Per informazioni generali sull'utilizzo di Google Cloud con Terraform, consulta Terraform con Google Cloud.
Parametri di configurazione deprecati
Se in precedenza utilizzavi i parametri di configurazione precedenti per configurare il supporto per il logging e il monitoraggio per il tuo cluster GKE, questi parametri sono deprecati. La seguente tabella mostra i parametri di configurazione equivalenti per sostituire i flag deprecati.
Configurazione precedente | Vecchi argomenti create |
Vecchi argomenti update |
Nuovi argomenti create e
update |
---|---|---|---|
Disabilitato | --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, consulta la pagina Prezzi.
- Scopri di più sulla visualizzazione dei log GKE in Cloud Logging.