Découvrez comment surveiller l'état, le temps d'activité et les mises à niveau de vos déploiements Google Distributed Cloud connecté, y compris les charges de travail compatibles. Pour en savoir plus sur la configuration de la surveillance et sur les métriques disponibles, consultez Journaux et métriques.
Surveiller l'état et la disponibilité des charges de travail
Vous êtes responsable de la surveillance de l'état et du temps d'activité de vos charges de travail (conteneurs et machines virtuelles) exécutées sur votre déploiement connecté Distributed Cloud.
Charges de travail de conteneur
Pour surveiller l'état et le temps d'activité des charges de travail conteneurisées que vous déployez, nous vous recommandons d'utiliser la solution de métriques Prometheus. Vous pouvez configurer Prometheus pour extraire les métriques de vos pods et services. Les services système gérés par Google sont surveillés et gérés automatiquement par Google. Pour en savoir plus sur la configuration de Prometheus, consultez Collecter des métriques avec Prometheus.
Utilisez les métriques clés suivantes pour surveiller les charges de travail de conteneur. Si vous utilisez Prometheus, vous devez déployer et gérer Kube State Metrics pour exposer ces métriques spécifiques pour vos charges de travail :
kube_pod_status_phase: surveille les pods en phaseFailedouUnknown.kube_pod_container_status_waiting_reason: identifiez les pods bloqués dans l'étatCrashLoopBackOffouImagePullBackOff.container_cpu_usage_seconds_totaletcontainer_memory_working_set_bytes(de cAdvisor) : surveillez la consommation de ressources pour éviter les problèmes de mémoire insuffisante (OOM).
Charges de travail de machines virtuelles
Dans Distributed Cloud connecté, les machines virtuelles (VM) s'exécutent dans des pods Kubernetes standards, généralement précédés du préfixe virt-launcher-. Surveillez l'état de fonctionnement et l'état de la VM principalement en vérifiant l'état de la ressource personnalisée VirtualMachine ou en surveillant les métriques de l'application depuis la VM.
Utilisez les métriques de pod virt-launcher sous-jacentes comme indicateurs secondaires pour les détails suivants :
- Utilisation des ressources : surveillez la consommation de CPU et de mémoire des pods de lancement pour vous assurer que les VM disposent de ressources suffisantes.
- Phase du pod : suivez les phases du pod de lancement pour identifier les VM qui ne démarrent pas ou qui plantent.
Pour ajuster les ressources attribuées à une VM, modifiez la spécification de la ressource personnalisée de la VM. Ne modifiez pas directement les fichiers YAML des pods virt-launcher sous-jacents, car ils sont gérés par la plate-forme. Toute modification directe sera écrasée ou entraînera des erreurs de rapprochement.
Pour résoudre les problèmes liés aux VM bloquées à l'état "En attente", consultez Résoudre les problèmes liés aux machines virtuelles bloquées à l'état "En attente".
Surveiller les mises à niveau de Distributed Cloud connecté
Surveillez la progression et l'état des mises à niveau logicielles de Distributed Cloud connecté à l'aide des métriques Cloud Monitoring et des commandes gcloud.
Les mises à niveau sont planifiées et exécutées par Google. La surveillance sert uniquement à la visibilité et à la planification de la migration des charges de travail.
Pour obtenir des instructions détaillées sur la façon de vérifier si une mise à niveau est en cours, de surveiller son état et de résoudre les problèmes de mise à niveau, consultez Résoudre les problèmes de mise à niveau logicielle.
Surveiller l'état du stockage local
Distributed Cloud connecté surveille en permanence l'état de ses périphériques de stockage et alerte Google lorsqu'un disque physique doit être remplacé. Google planifie une visite avec vous pour remplacer le disque défaillant. Vous pouvez surveiller l'état de votre stockage à l'aide d'alertes de condition Kubernetes, telles que DiskPressure.
Surveiller l'état de l'espace de stockage du système
Vous pouvez surveiller l'état du stockage système de Distributed Cloud connecté à l'aide de l'une des méthodes suivantes :
Prometheus avec Kube State Metrics (PromQL). Déployez et gérez Kube State Metrics dans votre cluster pour exposer les métriques d'état Kubernetes.
Métriques Cloud Monitoring. Créez des règles d'alerte basées sur les métriques au niveau de l'hôte exportées vers Cloud Monitoring.
Surveiller l'état de l'espace de stockage système avec Prometheus
Pour surveiller l'état de l'espace de stockage système avec Prometheus et Kube State Metrics (PromQL), configurez les alertes suivantes :
Alerter immédiatement lorsqu'une condition de nœud passe à l'état
DiskPressure:kube_node_status_condition{condition="DiskPressure",status="true"} == 1Envoyez une alerte de manière proactive avant que les seuils d'éviction ne soient dépassés en vérifiant quand l'utilisation du disque dépasse un seuil opérationnel :
(1 - (node_filesystem_avail_bytes{mountpoint="/mnt/shared_lpvs"} / node_filesystem_size_bytes{mountpoint="/mnt/shared_lpvs"})) > THRESHOLDRemplacez
THRESHOLDpar le seuil opérationnel cible dans la plage0.00~1.00. Google recommande de définir cette valeur sur0.85.
Surveiller l'état du stockage système avec Cloud Monitoring
Pour surveiller l'état de l'espace de stockage système à l'aide des métriques Cloud Monitoring, créez une règle d'alerte avec les paramètres suivants :
- Métrique :
edgecontainer.googleapis.com/machine/disk/utilization - Champ d'application : cette métrique indique spécifiquement l'utilisation du disque du système de fichiers de la partition système locale du nœud (
/dev/mapper/shared_lpvs_encrypted). - Seuil : configurez un seuil d'alerte lorsque l'utilisation du disque est supérieure à 85%. Cela permettra de détecter la saturation du disque système avant qu'un événement
DiskPressurede nœud dur ne se produise.
Surveiller l'état du stockage des charges de travail
Vous pouvez surveiller l'état du stockage des charges de travail à l'aide des métriques de volume Kubelet ou directement à l'aide de la télémétrie au niveau de l'application, en fonction du mode de volume utilisé par la charge de travail.
Mode de volume
Filesystem. Vous pouvez surveiller les volumes du système de fichiers à l'aide de Prometheus en récupérant les métriques de volume Kubelet suivantes :kubelet_volume_stats_capacity_byteskubelet_volume_stats_available_byteskubelet_volume_stats_used_byteskubelet_volume_stats_inodes_usedkubelet_volume_stats_inodes_free
Mode de volume
Block. Les volumes de blocs bruts sont invisibles pour Kubelet. Pour surveiller leur état, vous devez utiliser des métriques au niveau de l'application ou de Symcloud Storage.
Surveillance multicluster
Si vous gérez de nombreux clusters connectés Distributed Cloud, nous vous recommandons d'utiliser Cloud Monitoring pour agréger et filtrer les métriques.
Utiliser des libellés de ressources : les métriques exportées vers Cloud Monitoring incluent des libellés qui identifient la source. Les étiquettes disponibles dépendent du type de ressource :
Pour les métriques de cluster et de conteneur, telles que
k8s_container, les libellés de clé incluent les valeurs suivantes :project_id: projet Google Cloud hébergeant le cluster.location: région Google Cloud dans laquelle le cluster est enregistré.cluster_name: nom du cluster.
Pour les métriques matérielles, telles que
edgecontainer.googleapis.com/machine, les étiquettes de clé incluent les valeurs suivantes :resource_container: projet Google Cloud associé au matériel.location: région Google Cloud dans laquelle la zone connectée Distributed Cloud est enregistrée.machine_id: identifiant de la machine.
Les métriques matérielles n'incluent pas directement d'étiquette
cluster_name.
Créer des tableaux de bord personnalisés : créez des tableaux de bord qui affichent les indicateurs d'état clés de l'ensemble de votre parc. Les principaux indicateurs d'état incluent la connectivité, l'état des VM et l'utilisation des ressources. Pour afficher les données de plusieurs clusters dans un seul graphique, utilisez des caractères génériques ou des opérations de regroupement.
Configurer des alertes multiclusters : configurez des règles d'alerte qui s'appliquent à plusieurs clusters. Par exemple, vous pouvez créer une alerte qui se déclenche si une machine d'un cluster perd la connectivité.
Stratégie d'alerte
La surveillance et la maintenance de Distributed Cloud connecté sont une responsabilité partagée. Cette section explique ce que Google alerte et comment vous pouvez configurer vos propres règles d'alerte.
Ce sur quoi Google envoie des alertes
Google surveille en permanence l'infrastructure sous-jacente. Il prend des mesures et vous en informe si nécessaire dans les situations suivantes :
- Défaillances matérielles : défaillances de l'alimentation, défaillances du ventilateur, surchauffe ou défaillances du disque, par exemple un disque atteignant son seuil de réserve ou sa fin de vie. Google surveille en permanence l'état de ses périphériques de stockage internes et déclenche un remplacement automatique en cas de défaillance d'un périphérique de stockage.
- Problèmes de connectivité : perte totale de connexion entre la zone connectée Distributed Cloud et Google Cloud.
- État du plan de contrôle : défaillances du plan de contrôle Kubernetes ou des services système gérés par Google.
- Échecs de mise à niveau : processus de mise à niveau automatisés qui se bloquent ou échouent.
Configurer des alertes
Configurez vos propres règles d'alerte dans Cloud Monitoring ou dans Prometheus pour les problèmes affectant vos charges de travail ou votre environnement local.
Pour configurer des alertes dans Cloud Monitoring, utilisez la console Google Cloud ou l'API Cloud Monitoring. Pour obtenir des instructions détaillées, consultez Créer des règles d'alerte. Vous pouvez créer des règles d'alerte basées sur les métriques documentées dans Journaux et métriques.
Si vous utilisez Prometheus pour collecter des métriques, définissez des règles d'alerte Prometheus standards dans votre configuration Prometheus.
Vous pouvez configurer des alertes pour les problèmes suivants :
| Problème | Description | Système de surveillance | Détails |
|---|---|---|---|
| Temps d'arrêt de la charge de travail | Échec du démarrage des pods ou des VM, ou boucle de plantage | Prometheus | Pour les charges de travail de conteneur, créez des alertes sur kube_pod_status_phase pour détecter les pods en phase Failed ou Unknown. Vous pouvez également déclencher une alerte sur kube_pod_container_status_waiting_reason lorsqu'il est égal à CrashLoopBackOff ou ImagePullBackOff. |
| Cloud Monitoring | Pour les charges de travail de VM exécutées dans des pods, configurez des alertes à l'aide des métriques de conteneur Kubernetes standards dans Cloud Monitoring afin de suivre l'état des pods virt-launcher. |
||
| Épuisement des ressources de la charge de travail | Utilisation du disque approchant de la capacité maximale, ou utilisation élevée de la mémoire ou du processeur sur les charges de travail | Prometheus | Pour les charges de travail de conteneur, définissez des alertes de seuil sur container_cpu_usage_seconds_total et container_memory_working_set_bytes (à partir de cAdvisor) pour identifier les pods qui approchent de leurs limites de ressources. |
| Cloud Monitoring | Pour le stockage des machines, surveillez la métrique d'utilisation du disque de la machine edgecontainer.googleapis.com/machine/disk/utilization pour détecter quand le stockage des nœuds approche de sa capacité maximale. |
||
| Problèmes de réseau local | Chutes de l'interface réseau sur les machines | Cloud Monitoring | Vérifiez si la métrique de disponibilité du réseau de la machine edgecontainer.googleapis.com/machine/network/up est définie sur false.
|
| Perte de la connexion Internet | Cloud Monitoring | Vérifiez si la métrique de connectivité réseau edgecontainer.googleapis.com/machine/network/connectivity est false.
|
|
| Redémarrages de la machine | Redémarrages ou arrêts inattendus de la machine | Cloud Monitoring | Configurez des alertes avec les métriques edgecontainer.googleapis.com/machine/uptime et edg/1.13.0/docs/ogleapis.com/machine/restart_count. Pour en savoir plus, consultez Résoudre les problèmes de redémarrage de la machine. |
| Épuisement de l'espace de stockage du système | L'espace de stockage système est saturé | Cloud Monitoring | Configurez des alertes avec edgecontainer.googleapis.com/machine/disk/utilization/1.13.0/docs/more information, see Monitor system storage health. |
Le matériel Distributed Cloud connecté est géré par Google. Vous n'avez pas d'accès SSH aux machines ni de contrôle sur le système d'exploitation hôte. Si des alertes basées sur des métriques au niveau de la machine se déclenchent, telles que la connectivité réseau ou les redémarrages, vos actions se limitent à vérifier l'alimentation physique, le câblage, ainsi que les configurations du réseau local et du pare-feu, ou à transmettre le problème à l'assistance Google.