Monitorare Distributed Cloud connesso

Scopri come monitorare l'integrità, l'uptime e gli upgrade dei carichi di lavoro di Google Distributed Cloud connected. Per saperne di più sulla configurazione del monitoraggio e sulle metriche disponibili, consulta Log e metriche.

Monitorare l'integrità e l'uptime dei carichi di lavoro

È tua responsabilità monitorare l'integrità e l'uptime dei carichi di lavoro (container e macchine virtuali) in esecuzione su Distributed Cloud connected.

Carichi di lavoro con container

Per monitorare l'integrità e l'uptime dei carichi di lavoro 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 pod e dai servizi. I servizi di sistema gestiti da Google vengono monitorati e gestiti automaticamente da Google. Per saperne di più sulla configurazione di Prometheus, consulta Raccogliere metriche con Prometheus.

Utilizza le seguenti metriche chiave per monitorare i carichi di lavoro con container. Se utilizzi Prometheus, è tua responsabilità eseguire il deployment e la gestione delle metriche di stato kube per esporre queste metriche specifiche per i tuoi carichi di lavoro:

  • 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 di risorse per evitare problemi di esaurimento della memoria (OOM).

Carichi di lavoro delle macchine virtuali

In Distributed Cloud connected, 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 delle VM principalmente controllando lo stato della risorsa personalizzata VirtualMachine o monitorando le metriche delle applicazioni 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 dei pod di avvio per identificare le VM che non vengono avviate o che si arrestano in modo anomalo.

Per modificare 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 genereranno errori di riconciliazione.

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

Monitorare gli upgrade di Distributed Cloud connected

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 vengono pianificati ed eseguiti da Google. Il monitoraggio è strettamente finalizzato alla visibilità e alla pianificazione della migrazione dei carichi di lavoro.

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

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, come k8s_container, le etichette chiave includono i seguenti valori:

      • project_id: il Google Cloud progetto che ospita il cluster.
      • location: La Google Cloud regione 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 Google Cloud progetto associato all' hardware.
      • location: la regione in cui è registrata la zona Distributed Cloud connected. Google Cloud
      • machine_id: l'identificatore della macchina.

      Le metriche hardware non includono direttamente un'etichetta cluster_name.

  • Crea dashboard personalizzate: crea dashboard che mostrino gli indicatori di integrità chiave per l'intero parco risorse. Gli indicatori di integrità chiave includono connettività, stato della VM e utilizzo delle risorse. Per mostrare i dati di più cluster in un singolo 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 connected sono una responsabilità condivisa. Questa sezione spiega su cosa Google invia avvisi e come puoi configurare le tue policy di avviso.

Su cosa Google invia avvisi

Google monitora continuamente l'infrastruttura sottostante. Interviene e ti invia una notifica, se necessario, nelle seguenti situazioni:

  • Errori hardware: guasti all'alimentatore, guasti alle ventole, surriscaldamento, o guasti al disco, ad esempio un disco che raggiunge la soglia di riserva o la fine della vita utile.
  • Problemi di connettività: perdita completa della connessione tra la zona Distributed Cloud connected e Google Cloud.
  • Integrità del piano di controllo: errori nel piano di controllo Kubernetes o nei servizi di sistema gestiti da Google.
  • Errori di upgrade: processi di upgrade automatici che si bloccano o non riescono.

Configura avvisi

Configura le tue policy di avviso in Cloud Monitoring o in Prometheus per i problemi che interessano i tuoi carichi di lavoro o il tuo ambiente locale.

Puoi configurare gli avvisi per i seguenti problemi:

Problema Descrizione Sistema di monitoraggio Dettagli
Tempi di inattività dei carichi di lavoro Pod o VM che non vengono avviati o che si arrestano in modo anomalo Prometheus Per i carichi di lavoro con container, crea avvisi su kube_pod_status_phase per rilevare i pod nelle fasi Failed o Unknown. Puoi anche inviare avvisi su kube_pod_container_status_waiting_reason quando è uguale a CrashLoopBackOff o ImagePullBackOff.
Cloud Monitoring Per i carichi di lavoro 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 dei carichi di lavoro Utilizzo del disco che si avvicina alla capacità o utilizzo elevato di memoria o CPU sui carichi di lavoro Prometheus Per i carichi di lavoro con container, imposta gli 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 l'archiviazione delle macchine, monitora la metrica di utilizzo del disco della macchina edgecontainer.googleapis.com/machine/disk/utilization per rilevare quando l'archiviazione dei nodi si avvicina alla capacità.
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 connettività internet Cloud Monitoring Monitora se la metrica di connettività di rete edgecontainer.googleapis.com/machine/network/connectivity è false.
Riavvii delle macchine Riavvii o arresti imprevisti delle macchine Cloud Monitoring Configura gli avvisi con le metriche edgecontainer.googleapis.com/machine/uptime e edgecontainer.googleapis.com/machine/restart_count. Per saperne di più, consulta Risolvere i problemi relativi ai riavvii delle macchine.

L'hardware di Distributed Cloud connected è gestito da Google. Non hai accesso SSH alle macchine né 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 azioni che puoi intraprendere sono limitate al controllo dell'alimentazione fisica, dei cavi e delle configurazioni di rete locale e firewall oppure all'escalation del problema all'assistenza Google.