Découvrez comment surveiller l'état, la disponibilité et les mises à niveau de vos charges de travail Google Distributed Cloud connecté. 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 de la disponibilité de vos charges de travail (conteneurs et machines virtuelles) exécutées sur Distributed Cloud connecté.
Charges de travail de conteneur
Pour surveiller l'état et la disponibilité 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 scaper 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 êtes responsable du déploiement et de la gestion de Kube State Metrics pour exposer ces métriques spécifiques pour vos charges de travail :
kube_pod_status_phase: surveillez les pods dans les phasesFailedouUnknown.kube_pod_container_status_waiting_reason: identifiez les pods bloqués dansCrashLoopBackOffouImagePullBackOff.container_cpu_usage_seconds_totaletcontainer_memory_working_set_bytes(à partir de cAdvisor) : surveillez la consommation de ressources pour éviter les problèmes de mémoire insuffisante.
Charges de travail de machine virtuelle
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 et l'état de la VM principalement en vérifiant l'état de la ressource personnalisée VirtualMachine ou en surveillant les métriques d'application à partir de 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 processeur et de mémoire des pods de lancement pour vous assurer que les VM disposent de suffisamment de ressources.
- Phase de pod : suivez les phases de 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 de pod 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 dans un état en attente, consultez Résoudre les problèmes liés aux machines virtuelles bloquées dans 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 est strictement destinée à 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 liés aux mises à niveau ayant échoué, consultez Résoudre les problèmes liés aux mises à niveau logicielles.
Surveillance multicluster
Si vous gérez de nombreux clusters Distributed Cloud connecté, 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 libellés disponibles dépendent du type de ressource :
Pour les métriques de cluster et de conteneur, telles que
k8s_container, les libellés clés incluent les valeurs suivantes :project_id: le Google Cloud projet hébergeant le cluster.location: Larégion dans laquelle le cluster est enregistré. Google Cloudcluster_name: nom du cluster.
Pour les métriques matérielles, telles que
edgecontainer.googleapis.com/machine, les libellés clés incluent les valeurs suivantes :resource_container: le Google Cloud projet associé au matériel.location: Larégion dans laquelle la zone Distributed Cloud connecté est enregistrée. Google Cloudmachine_id: identifiant de la machine.
Les métriques matérielles n'incluent pas directement de libellé
cluster_name.
Créer des tableaux de bord personnalisés : créez des tableaux de bord qui affichent les indicateurs clés de l'état de santé de l'ensemble de votre parc. Les indicateurs clés de l'état de santé 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 multicluster : 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 sa connectivité.
Stratégie d'alerte
La surveillance et la maintenance de Distributed Cloud connecté sont une responsabilité partagée. Cette section explique les alertes de Google et comment configurer vos propres règles d'alerte.
Alertes de Google
Google surveille en permanence l'infrastructure sous-jacente. Il prend des mesures et vous avertit si nécessaire dans les situations suivantes :
- Défaillances matérielles : défaillances de l'alimentation, défaillances du ventilateur, surchauffe, ou défaillances de disque, par exemple lorsqu'un disque atteint son seuil de rechange ou sa fin de vie utile.
- Problèmes de connectivité : perte totale de connexion entre la zone Distributed Cloud connecté et Google Cloud.
- État du plan de contrôle : défaillances dans le plan de contrôle Kubernetes ou dans les 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 Google Cloud console 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 décrites 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 afin de détecter les pods dans les phases Failed ou Unknown. Vous pouvez également générer une alerte sur kube_pod_container_status_waiting_reason lorsqu'elle est égale à 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 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) afin d'identifier les pods approchant leurs limites de ressources. |
| Cloud Monitoring | Pour le stockage de la machine, surveillez la métrique d'utilisation du disque de la machine edgecontainer.googleapis.com/machine/disk/utilization afin de détecter quand le stockage du nœud approche de sa capacité maximale. |
||
| Problèmes de réseau local | Perte d'interface réseau sur les machines | Cloud Monitoring | Surveillez si la métrique d'activité du réseau de la machine edgecontainer.googleapis.com/machine/network/up est false.
|
| Perte de connectivité Internet | Cloud Monitoring | Surveillez 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 edgecontainer.googleapis.com/machine/restart_count. Pour en savoir plus, consultez Résoudre les problèmes liés aux redémarrages de la machine. |
Le matériel Distributed Cloud connecté est géré par Google. Vous n'avez pas accès SSH aux machines ni au contrôle du 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 sont limitées à la vérification de l'alimentation physique, du câblage et des configurations du réseau local et du pare-feu, ou à l'escalade du problème auprès de l'assistance Google.