Surveiller l'intégrité du système avec le détecteur de problèmes de nœuds

À partir de la version de jalon 77, Container-Optimized OS inclut l'agent Node Problem Detector (détecteur de problèmes de nœuds). Vous pouvez utiliser cette fonctionnalité pour surveiller l'intégrité du système des instances COS. Le détecteur de problèmes de nœuds surveille l'état des instances et transmet les métriques liées à l'état à Cloud Monitoring, y compris des métriques de capacité et d'erreur que vous pouvez ensuite visualiser dans les tableaux de bord d'observabilité de Google Cloud. Les métriques collectées à partir de la configuration par défaut sont gratuites. Google utilise des métriques agrégées pour comprendre les problèmes liés aux nœuds et améliorer la fiabilité de Container-Optimized OS.

Le détecteur de problèmes de nœuds est préconfiguré avec l'ensemble de métriques à exporter. Il n'est actuellement pas possible de personnaliser les métriques signalées pour le détecteur intégré. Node Problem Detector est un logiciel Open Source. Vous pouvez consulter son code source et ses configurations dans les dépôts sources respectifs.

Activer la surveillance de l'intégrité

L'agent du détecteur de problèmes de nœuds est désactivé par défaut au démarrage. Vous pouvez activer cette fonctionnalité à l'aide des éléments suivants :

Utiliser un script de démarrage

Vous pouvez activer le détecteur de problèmes de nœuds à l'aide d'un script de démarrage.

Utiliser cloud-init

L'exemple cloud-init explique les bases de la configuration d'une instance Container-Optimized OS. Vous pouvez utiliser cloud-init pour activer la surveillance de l'état avec l'exemple cloud-config suivant :

#cloud-config

runcmd:
- systemctl start node-problem-detector

Utiliser des métadonnées

Dans Container-Optimized OS version de jalon 88 et ultérieure, le détecteur de problèmes de nœuds peut également être activé en définissant la valeur de google-monitoring-enabled sur true dans la section des métadonnées personnalisées.

Pour activer la surveillance lors de la création d'une instance, procédez comme suit :

gcloud compute instances create instance-name \
    --image-family cos-stable \
    --image-project cos-cloud \
    --metadata google-monitoring-enabled=true

Pour activer la surveillance dans une instance existante, procédez comme suit :

gcloud compute instances add-metadata instance-name \
    --metadata google-monitoring-enabled=true

À partir du jalon 97, la surveillance peut être activée dans les métadonnées du projet:

gcloud compute project-info add-metadata \
    --metadata google-monitoring-enabled=true

Après l'exécution, le service de détection de problèmes de nœuds sera activé.

Utiliser des règles d'invités définies par l'utilisateur

Container-Optimized OS inclut un agent OS Config qui se sert d'utilitaires du système d'exploitation pour conserver l'état de la VM spécifiée dans la règle d'invité. Pour plus d'informations sur les règles d'invité, consultez les sections Activer l'agent OS Config et Créer une règle d'invité. La règle d'invité suivante active l'agent Node Problem Detector (détecteur de problèmes de nœuds).

recipes:
- name: recipe-enable-npd
  desiredState: INSTALLED
  installSteps:
  - scriptRun:
      interpreter: SHELL
      script: |-
        #!/bin/bash
        systemctl start node-problem-detector

Afficher les métriques collectées

Le détecteur de problèmes de nœuds présente une liste de métriques associées à une ressource surveillée par une instance Compute Engine. Les métriques sont documentées dans la liste des métriques Monitoring, précédées de compute.googleapis.com/guest/. Vous pouvez afficher les métriques collectées à l'aide de l'explorateur de métriques de Monitoring :

  1. Dans Cloud Console, accédez à Monitoring ou cliquez sur le bouton suivant :

    Accéder à Monitoring

  2. Dans le volet de navigation "Surveillance", cliquez sur Explorateur de métriques.

  3. Pour le type de ressource, sélectionnez Instance de VM Compute Engine.

  4. Sélectionnez une métrique (par exemple : "Nombre de problèmes").

  5. Des graphiques et des statistiques doivent s'afficher sur le côté droit. Pour afficher le résultat d'une instance Container-Optimized OS spécifique, définissez le filtre sur "instance_id=[INSTANCE_ID]", en remplaçant [INSTANCE_ID] par l'ID de l'instance souhaitée.

Désactiver la surveillance de l'état

Pour désactiver le service déjà activé via votre cloud-config ou votre script de démarrage, supprimez l'étape systemctl start node-problem-detector, puis redémarrez l'instance Container-Optimized OS. Si cette option est activée par les métadonnées, assurez-vous que la clé google-monitoring-enabled est définie sur false.