Monitora i deployment

Scopri come monitorare l'integrità, l'uptime e gli upgrade dei tuoi deployment Google Distributed Cloud connessi, inclusi i workload supportati. Per saperne di più sulla configurazione del monitoraggio e sulle metriche disponibili, consulta Log e metriche.

Monitora l'integrità e l'uptime del workload

Sei responsabile del monitoraggio dell'integrità e dell'uptime dei tuoi workload (container e macchine virtuali) in esecuzione sul tuo deployment connesso a Distributed Cloud.

Carichi di lavoro con container

Per monitorare l'integrità e l'uptime dei workload containerizzati di cui esegui il deployment, ti consigliamo di utilizzare la soluzione di metriche Prometheus. Puoi configurare Prometheus per eseguire lo scraping delle metriche dai tuoi pod e servizi. I servizi di sistema gestiti da Google vengono monitorati e gestiti automaticamente da Google. Per saperne di più sulla configurazione di Prometheus, consulta Raccogli metriche con Prometheus.

Utilizza le seguenti metriche chiave per monitorare i workload dei container. Se utilizzi Prometheus, sei responsabile del deployment e della gestione di Kube State Metrics per esporre queste metriche specifiche per i tuoi workload:

  • kube_pod_status_phase: monitora i pod nelle fasi Failed o Unknown.
  • kube_pod_container_status_waiting_reason: identifica i pod bloccati in CrashLoopBackOff o ImagePullBackOff.
  • container_cpu_usage_seconds_total e container_memory_working_set_bytes (da cAdvisor): monitora il consumo delle risorse per evitare problemi di esaurimento della memoria (OOM).

Workload delle macchine virtuali

In Distributed Cloud connesso, le macchine virtuali (VM) vengono eseguite all'interno di pod Kubernetes standard, in genere con il prefisso virt-launcher-. Monitora l'integrità e lo stato della VM principalmente controllando lo stato della risorsa personalizzata VirtualMachine o monitorando le metriche dell'applicazione dall'interno della VM.

Utilizza le metriche dei pod virt-launcher sottostanti come indicatori secondari per i seguenti dettagli:

  • Utilizzo delle risorse: monitora il consumo di CPU e memoria dei pod di avvio per assicurarti che le VM dispongano di risorse sufficienti.
  • Fase del pod: monitora le fasi del pod di avvio per identificare le VM che non si avviano o che si arrestano in modo anomalo.

Per regolare le risorse assegnate a una VM, modifica la specifica della risorsa personalizzata della VM. Non modificare direttamente i file YAML dei pod virt-launcher sottostanti, perché sono gestiti dalla piattaforma. Eventuali modifiche dirette verranno sovrascritte o causeranno errori di riconciliazione.

Per risolvere i problemi relativi alle VM bloccate in uno stato In attesa, consulta Risolvi i problemi relativi alle macchine virtuali bloccate nello stato In attesa.

Monitora gli upgrade di Distributed Cloud connesso

Monitora l'avanzamento e lo stato degli upgrade del software Distributed Cloud Connected utilizzando le metriche di Cloud Monitoring e i comandi gcloud. Gli upgrade sono pianificati ed eseguiti da Google. Il monitoraggio serve esclusivamente per la visibilità e la pianificazione della migrazione dei workload.

Per istruzioni dettagliate su come verificare se è in corso un upgrade, monitorarne lo stato e risolvere i problemi relativi agli upgrade non riusciti, consulta Risolvi i problemi relativi agli upgrade del software.

Monitora lo stato dello spazio di archiviazione locale

Distributed Cloud connesso monitora costantemente l'integrità dei dispositivi di archiviazione e avvisa Google quando è necessario sostituire un'unità fisica. Google collabora con te per programmare una visita e sostituire l'unità guasta. Puoi monitorare l'integrità dello spazio di archiviazione utilizzando gli avvisi relativi alle condizioni di Kubernetes, ad esempio DiskPressure.

Monitora l'integrità dello spazio di archiviazione del sistema

Puoi monitorare l'integrità dello spazio di archiviazione del sistema Distributed Cloud Connected utilizzando uno dei seguenti metodi:

  • Prometheus con Kube State Metrics (PromQL). Esegui il deployment e gestisci Kube State Metrics nel tuo cluster per esporre le metriche delle condizioni di Kubernetes.

  • Metriche di Cloud Monitoring. Crea policy di avviso basate su metriche a livello di host esportate in Cloud Monitoring.

Monitora l'integrità dello spazio di archiviazione del sistema con Prometheus

Per monitorare l'integrità dello spazio di archiviazione del sistema con Prometheus con Kube State Metrics (PromQL), configura i seguenti avvisi:

  1. Invia un avviso immediato quando una condizione del nodo entra nello stato DiskPressure:

    kube_node_status_condition{condition="DiskPressure",status="true"} == 1
    
  2. Invia un avviso proattivo prima che vengano superate le soglie di espulsione controllando quando l'utilizzo del disco supera una soglia operativa:

    (1 - (node_filesystem_avail_bytes{mountpoint="/mnt/shared_lpvs"} / node_filesystem_size_bytes{mountpoint="/mnt/shared_lpvs"})) > THRESHOLD
    

    Sostituisci THRESHOLD con la soglia operativa target nell'intervallo 0.00 ~ 1.00. Google consiglia di impostare questo valore su 0.85.

Monitora l'integrità dello spazio di archiviazione del sistema con Cloud Monitoring

Per monitorare l'integrità dello spazio di archiviazione del sistema con le metriche di Cloud Monitoring, crea una criterio di avviso con i seguenti parametri:

  • Metrica: edgecontainer.googleapis.com/machine/disk/utilization
  • Ambito: questa metrica segnala in modo specifico l'utilizzo del disco del file system della partizione di sistema locale del nodo (/dev/mapper/shared_lpvs_encrypted).
  • Soglia: configura una soglia di avviso quando l'utilizzo del disco è superiore all'85%. In questo modo, verrà rilevata la saturazione del disco di sistema prima che si verifichi un evento di arresto forzato del nodo DiskPressure.

Monitora l'integrità dello spazio di archiviazione dei workload

Puoi monitorare l'integrità dello spazio di archiviazione dei workload utilizzando le metriche dei volumi Kubelet o direttamente la telemetria a livello di applicazione, a seconda della modalità del volume utilizzata dal workload.

  • Modalità volume Filesystem. Puoi monitorare i volumi del file system utilizzando Prometheus tramite lo scraping delle seguenti metriche del volume Kubelet:

    • kubelet_volume_stats_capacity_bytes
    • kubelet_volume_stats_available_bytes
    • kubelet_volume_stats_used_bytes
    • kubelet_volume_stats_inodes_used
    • kubelet_volume_stats_inodes_free
  • Modalità volume Block. I volumi a blocchi non elaborati sono invisibili a Kubelet. Per monitorarne l'integrità, devi utilizzare le metriche a livello di applicazione o di Symcloud Storage.

Monitoraggio multi-cluster

Se gestisci molti cluster Distributed Cloud Connected, ti consigliamo di utilizzare Cloud Monitoring per aggregare e filtrare le metriche.

  • Utilizza le etichette delle risorse: le metriche esportate in Cloud Monitoring includono etichette che identificano l'origine. Le etichette disponibili dipendono dal tipo di risorsa:

    • Per le metriche di cluster e container, ad esempio k8s_container, le etichette chiave includono i seguenti valori:

      • project_id: il progetto Google Cloud che ospita il cluster.
      • location: la regione Google Cloud in cui è registrato il cluster.
      • cluster_name: il nome del cluster.
    • Per le metriche hardware, come edgecontainer.googleapis.com/machine, le etichette chiave includono i seguenti valori:

      • resource_container: il progetto Google Cloud associato all'hardware.
      • location: la regione Google Cloud in cui è registrata la zona Distributed Cloud connessa.
      • machine_id: l'identificatore della macchina.

      Le metriche hardware non includono direttamente un'etichetta cluster_name.

  • Crea dashboard personalizzate: crea dashboard che mostrano gli indicatori di integrità chiave per l'intero parco risorse. Gli indicatori chiave di integrità includono connettività, stato della VM e utilizzo delle risorse. Per visualizzare i dati di più cluster in un unico grafico, utilizza i caratteri jolly o le operazioni di raggruppamento.

  • Configura avvisi multi-cluster: configura policy di avviso che si applicano a più cluster. Ad esempio, puoi creare un avviso che si attiva se una macchina in un cluster perde la connettività.

Strategia di avviso

Il monitoraggio e la manutenzione di Distributed Cloud connesso sono una responsabilità condivisa. Questa sezione spiega quali sono gli avvisi di Google e come puoi configurare le tue policy di avviso.

Cosa segnala Google

Google monitora costantemente l'infrastruttura sottostante. Interviene e ti invia una notifica, se necessario, per le seguenti situazioni:

  • Guasti hardware: guasti dell'alimentatore, guasti della ventola, surriscaldamento o guasti del disco, ad esempio un disco che raggiunge la soglia di riserva o la fine della vita utile. Google monitora continuamente l'integrità dei propri dispositivi di archiviazione interni e attiva una sostituzione automatica in caso di guasto di un dispositivo di archiviazione.
  • Problemi di connettività: perdita completa della connessione tra la zona Distributed Cloud Connected e Google Cloud.
  • Integrità del control plane: errori nel control plane di Kubernetes o nei servizi di sistema gestiti da Google.
  • Errori di upgrade: processi di upgrade automatici che si bloccano o non vanno a buon fine.

Configura avvisi

Configura le tue policy di avviso in Cloud Monitoring o in Prometheus per i problemi che interessano i tuoi workload o l'ambiente locale.

Puoi configurare gli avvisi per i seguenti problemi:

Problema Descrizione Sistema di monitoraggio Dettagli
Tempo di inattività del workload Pod o VM che non si avviano o che entrano in un loop di arresto anomalo Prometheus Per i workload dei container, crea avvisi su kube_pod_status_phase per rilevare i pod nelle fasi Failed o Unknown. Puoi anche impostare un avviso su kube_pod_container_status_waiting_reason quando è uguale a CrashLoopBackOff o ImagePullBackOff.
Cloud Monitoring Per i workload delle VM in esecuzione nei pod, configura gli avvisi utilizzando le metriche dei container Kubernetes standard in Cloud Monitoring per monitorare lo stato dei pod virt-launcher.
Esaurimento delle risorse del workload Utilizzo del disco vicino alla capacità o utilizzo elevato della memoria o della CPU sui workload Prometheus Per i workload dei container, imposta avvisi di soglia su container_cpu_usage_seconds_total e container_memory_working_set_bytes (da cAdvisor) per identificare i pod che si avvicinano ai limiti delle risorse.
Cloud Monitoring Per lo spazio di archiviazione della macchina, monitora la metrica di utilizzo del disco della macchina edgecontainer.googleapis.com/machine/disk/utilization per rilevare quando lo spazio di archiviazione del nodo sta per esaurirsi.
Problemi di rete locale Interruzioni dell'interfaccia di rete sulle macchine Cloud Monitoring Monitora se la metrica di rete della macchina edgecontainer.googleapis.com/machine/network/up è false.
Perdita della connessione a internet Cloud Monitoring Monitora se la metrica di connettività di rete edgecontainer.googleapis.com/machine/network/connectivity è false.
Riavvi della macchina Riavvii o arresti imprevisti della macchina Cloud Monitoring Configura gli avvisi con le metriche edgecontainer.googleapis.com/machine/uptime e edg/1.13.0/docs/ogleapis.com/machine/restart_count. Per saperne di più, consulta Risolvi i problemi relativi ai riavvii della macchina.
Esaurimento dello spazio di archiviazione del sistema Lo spazio di archiviazione di sistema è esaurito Cloud Monitoring Configura gli avvisi con edgecontainer.googleapis.com/machine/disk/utilization/1.13.0/docs/Per saperne di più, consulta Monitora l'integrità dello spazio di archiviazione del sistema.

L'hardware connesso a Distributed Cloud è gestito da Google. Non hai accesso SSH alle macchine o il controllo sul sistema operativo host. Se vengono attivati avvisi basati su metriche a livello di macchina, come la connettività di rete o i riavvii, le tue attività si limitano al controllo dell'alimentazione fisica, del cablaggio e delle configurazioni di rete locale e firewall o all'escalation del problema all'Assistenza Google.