Configurazione della raccolta di metriche

Questo documento descrive come configurare Google Kubernetes Engine (GKE) per inviare metriche a Cloud Monitoring. Le metriche in Cloud Monitoring possono popolare dashboard personalizzate, generare avvisi, creare obiettivi del livello di servizio, o essere recuperate da servizi di monitoraggio di terze parti utilizzando l' API Cloud Monitoring.

GKE fornisce diverse origini di metriche:

Puoi anche configurare il monitoraggio automatico delle applicazioni per determinati carichi di lavoro.

Metriche di sistema

Quando viene creato un cluster, GKE raccoglie per impostazione predefinita determinate metriche emesse dai componenti di sistema.

Puoi scegliere se inviare o meno le metriche dal cluster GKE a Cloud Monitoring. Se scegli di inviare le metriche a Cloud Monitoring, devi inviare le metriche di sistema.

Tutte le metriche di sistema di GKE vengono importate in Cloud Monitoring con il prefisso kubernetes.io.

Prezzi

Cloud Monitoring non addebita alcun costo per l'importazione delle metriche di sistema di GKE. Per maggiori informazioni, consulta Prezzi di Cloud Monitoring.

Configurazione della raccolta delle metriche di sistema

Per abilitare la raccolta delle metriche di sistema, passa il SYSTEM valore al --monitoring flag dei gcloud container clusters create o gcloud container clusters update comandi.

Per disabilitare la raccolta delle metriche di sistema, utilizza il NONE valore per il --monitoring flag. Se la raccolta delle metriche di sistema è disabilitata, le informazioni di base come l'utilizzo della CPU, la memoria utilizzata e l'utilizzo del disco non sono disponibili per un cluster quando visualizzi le metriche di osservabilità.

Per i cluster GKE Autopilot, non puoi disabilitare la raccolta delle metriche di sistema.

Per maggiori dettagli sull'integrazione di Cloud Monitoring con GKE, consulta Osservabilità per GKE.

Per configurare la raccolta delle metriche di sistema utilizzando Terraform, consulta il blocco monitoring_config nel registro Terraform per google_container_cluster. Per informazioni generali sull'utilizzo di Google Cloud Terraform con, consulta Terraform con Google Cloud.

Elenco delle metriche di sistema

Le metriche di sistema includono le metriche dei componenti di sistema essenziali per Kubernetes. Per un elenco di queste metriche, consulta Metriche di sistema di GKE.

Se abiliti Cloud Monitoring per il cluster, non puoi disabilitare il monitoraggio del sistema (--monitoring=SYSTEM).

Risoluzione dei problemi relativi alle metriche di sistema

Se le metriche di sistema non sono disponibili in Cloud Monitoring come previsto, consulta Risolvere i problemi relativi alle metriche di sistema.

Pacchetto: metriche del piano di controllo

Puoi configurare un cluster GKE per inviare a Cloud Monitoring determinate metriche emesse dal server API Kubernetes, dallo scheduler e dal gestore del controller.

Per maggiori informazioni, consulta Raccogliere e visualizzare le metriche del piano di controllo.

Pacchetto: metriche di stato kube

Puoi configurare un cluster GKE per inviare a Cloud Monitoring un set selezionato di metriche di stato kube in formato Prometheus. Questo pacchetto di metriche di stato kube include metriche per pod, deployment, StatefulSet, DaemonSet, risorse HorizontalPodAutoscaler, volumi permanenti, PersistentVolumeClaim e JobSet.

Per maggiori informazioni, consulta Raccogliere e visualizzare le metriche di stato kube.

Pacchetto: metriche cAdvisor/Kubelet

Puoi configurare un cluster GKE per inviare a Cloud Monitoring un set selezionato di metriche cAdvisor/Kubelet in formato Prometheus. Il set selezionato di metriche è un sottoinsieme del set di metriche cAdvisor/Kubelet integrato per impostazione predefinita in ogni deployment Kubernetes. Il set selezionato di metriche cAdvisor/Kubelet è progettato per fornire le metriche più utili, riducendo il volume di importazione e i costi associati.

Per maggiori informazioni, consulta Raccogliere e visualizzare le metriche cAdvisor/Kubelet.

Pacchetto: metriche NVIDIA Data Center GPU Manager (DCGM)

Puoi monitorare l'utilizzo, il rendimento e lo stato delle GPU configurando GKE in modo da inviare le metriche NVIDIA Data Center GPU Manager (DCGM) a Cloud Monitoring.

Per maggiori informazioni, consulta Raccogliere e visualizzare le metriche NVIDIA Data Center GPU Manager (DCGM).

Disabilitare i pacchetti di metriche

Puoi disabilitare l'utilizzo dei pacchetti di metriche nel cluster. Potresti voler disabilitare determinati pacchetti per ridurre i costi o se utilizzi un meccanismo alternativo per la raccolta delle metriche, come Google Cloud Managed Service per Prometheus e un esportatore.

Console

Per disabilitare la raccolta delle metriche dalla scheda Dettagli del cluster:

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

    Vai a Cluster Kubernetes

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

  2. Fai clic sul nome del cluster.

  3. Nella riga Funzionalità con l'etichetta Cloud Monitoring, fai clic sull'icona Modifica.

  4. Nel menu a discesa Componenti, deseleziona i componenti delle metriche che vuoi disabilitare.

  5. Fai clic su OK.

  6. Fai clic su Salva modifiche.

gcloud

  1. Apri una finestra del terminale con Google Cloud SDK e Google Cloud CLI installati. Un modo per farlo è utilizzare Cloud Shell.

  2. Nella Google Cloud console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della Google Cloud console viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già inclusa e installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  3. Chiama il gcloud container clusters update comando e passa un set di valori aggiornato al --monitoring flag. Il set di valori fornito al --monitoring flag sostituisce qualsiasi impostazione precedente.

    Ad esempio, per disattivare la raccolta di tutte le metriche tranne le metriche di sistema, esegui questo comando:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM
    

    Questo comando disabilita la raccolta di tutti i pacchetti di metriche configurati in precedenza.

Terraform

Per configurare la raccolta delle metriche utilizzando Terraform, consulta il monitoring_config blocco nel registro Terraform per google_container_cluster. Per informazioni generali sull'utilizzo di Google Cloud Terraform con, consulta Terraform con Google Cloud.

Informazioni sulla fattura di Monitoring

Puoi utilizzare Cloud Monitoring per identificare le metriche del piano di controllo o di stato kube che scrivono il maggior numero di campioni. Queste metriche contribuiscono maggiormente ai costi. Dopo aver identificato le metriche più costose, puoi modificare le configurazioni di scraping per filtrare queste metriche in modo appropriato.

La pagina Gestione metriche di Cloud Monitoring fornisce informazioni che possono aiutarti a controllare l'importo speso per le metriche fatturabili senza influire sull'osservabilità. La pagina Gestione metriche riporta le seguenti informazioni:

  • Volumi di importazione per la fatturazione basata su byte e campioni, per domini di metriche e per singole metriche.
  • Dati su etichette e cardinalità delle metriche.
  • Numero di letture per ogni metrica.
  • Utilizzo delle metriche nelle policy di avviso e nelle dashboard personalizzate.
  • Frequenza degli errori di scrittura delle metriche.

Puoi anche utilizzare la pagina Gestione metriche per escludere le metriche non necessarie, eliminando il costo della loro importazione.

Per visualizzare la pagina Gestione metriche:

  1. Nella Google Cloud console, vai alla pagina  Gestione metriche:

    Vai a Gestione metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti, seleziona la finestra temporale. Per impostazione predefinita, la Gestione metriche pagina mostra informazioni sulle metriche raccolte nel giorno precedente.

Per maggiori informazioni sulla pagina Gestione metriche, consulta Visualizzare e gestire l'utilizzo delle metriche.

Per identificare quali metriche del piano di controllo o di Kube State Metrics hanno il maggior numero di campioni importati, procedi come segue:

  1. Nella Google Cloud console, vai alla pagina  Gestione metriche:

    Vai a Gestione metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella scheda punteggio Campioni fatturabili importati , fai clic su Visualizza grafici.

  3. Individua il grafico Importazione del volume dello spazio dei nomi, quindi fai clic su  Altre opzioni del grafico.

  4. Nel campo Metrica, verifica che siano selezionate le seguenti risorse e metriche:
    Metric Ingestion Attribution e Samples written by attribution id.

  5. Nella pagina Filtri, esegui le seguenti operazioni:

    1. Nel campo Etichetta, verifica che il valore sia attribution_dimension.

    2. Nel campo Confronto, verifica che il valore sia = (equals).

    3. Nel campo Valore, seleziona cluster.

  6. Deseleziona l'impostazione Raggruppa per.

  7. Facoltativamente, filtra solo per determinate metriche. Ad esempio, tutte le metriche del server API del piano di controllo includono "apiserver" nel nome della metrica e tutte le metriche dei pod di stato kube includono "kube_pod" nel nome della metrica, quindi puoi filtrare le metriche contenenti queste stringhe:

    • Fai clic su Aggiungi filtro.

    • Nel campo Etichetta, seleziona metric_type.

    • Nel campo Confronto, seleziona =~ (equals regex).

    • Nel campo Valore, inserisci .*apiserver.* o .*kube_pod.*.

  8. Facoltativamente, raggruppa il numero di campioni importati per regione o progetto GKE:

    • Fai clic su Raggruppa per.

    • Assicurati che sia selezionato metric_type.

    • Per raggruppare per regione GKE, seleziona location.

    • Per raggruppare per progetto, seleziona project_id.

    • Fai clic su OK.

  9. Facoltativamente, raggruppa il numero di campioni importati per nome del cluster GKE:

    • Fai clic su Raggruppa per.

    • Per raggruppare per nome del cluster GKE, assicurati che siano selezionati sia attribution_dimension sia attribution_id.

    • Fai clic su OK.

  10. Per visualizzare il volume di importazione di ciascuna metrica, nel pulsante di attivazione/disattivazione con l'etichetta Grafico Tabella Entrambi, seleziona Entrambi. La tabella mostra il volume importato per ogni metrica nella colonna Valore.

    Fai clic due volte sull'intestazione della colonna Valore per ordinare le metriche in base al volume di importazione in ordine decrescente.

Questi passaggi mostrano le metriche con la frequenza di campioni importati più elevata in Cloud Monitoring. Poiché le metriche nei pacchetti di osservabilità vengono addebitate in base al numero di campioni importati, presta attenzione alle metriche con la frequenza di campioni importati più elevata.

Altre metriche

Oltre alle metriche di sistema e ai pacchetti di metriche descritti in questo documento, per i cluster GKE sono disponibili anche le metriche Istio. Per informazioni sui prezzi, consulta Prezzi di Cloud Monitoring.

Metriche disponibili

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

Origine --monitoring valore 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 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 Metriche del server API.
Scheduler SCHEDULER Metriche di kube-scheduler. Per un elenco completo delle metriche, consulta Metriche dello scheduler.
Gestore del controller 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 il volume permanente e PersistentVolumeClaim. Per un elenco completo delle metriche, consulta Metriche di archiviazione.
Pod POD Metriche dei pod di kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche dei pod.
Deployment DEPLOYMENT Metriche di deployment di kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche di deployment.
StatefulSet STATEFULSET Metriche di StatefulSet di kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche di StatefulSet.
DaemonSet DAEMONSET Metriche di DaemonSet di kube-state-metrics. Per un elenco completo delle metriche, consulta Metriche di DaemonSet.
HorizonalPodAutoscaler HPA Metriche HPA di kube-state-metrics. Consulta un elenco completo delle metriche HorizonalPodAutoscaler.
cAdvisor CADVISOR Metriche cAdvisor del pacchetto di metriche cAdvisor/Kubelet Per un elenco completo delle metriche, consulta Metriche cAdvisor.
Kubelet KUBELET Metriche Kubelet del pacchetto di metriche cAdvisor/Kubelet Per un elenco completo delle metriche, consulta Metriche Kubelet.
Metriche NVIDIA Data Center GPU Manager (DCGM) DCGM Metriche di NVIDIA Data Center GPU Manager (DCGM).

Puoi anche raccogliere le 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 tuoi carichi di lavoro utilizzando Prometheus, senza dover gestire e utilizzare manualmente Prometheus su larga scala.

Passaggi successivi