Surveiller le nombre de processus sur une VM

Ce document explique comment utiliser la console Google Cloud pour créer une règle d'alerte qui surveille le nombre de processus exécutés sur vos machines virtuelles (VM) répondant aux conditions que vous avez spécifiées. Ce type de règle d'alerte est parfois appelé règle d'alerte process-health. Par exemple, vous pouvez compter le nombre de processus lancés par l'utilisateur racine. Vous pouvez également compter le nombre de processus dont la commande d'appel contient une chaîne spécifique. Une règle d'alerte peut vous avertir lorsque le nombre de processus est supérieur ou inférieur à un seuil. Pour en savoir plus sur les processus pouvant être surveillés, consultez la section Processus surveillés.

Ce contenu ne concerne pas les règles d'alerte basées sur les journaux. Pour en savoir plus sur les règles d'alerte basées sur les journaux, qui vous envoient une notification lorsqu'un message particulier s'affiche dans les journaux, consultez la page Surveiller vos journaux.

Avant de commencer

  1. Pour obtenir les autorisations dont vous avez besoin pour créer et modifier des règles d'alerte à l'aide de la console Google Cloud, demandez à votre administrateur de vous attribuer le rôle IAM Éditeur Monitoring (roles/monitoring.editor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

    Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

    Pour en savoir plus sur les rôles Cloud Monitoring, consultez la page Contrôler les accès avec Identity and Access Management.

  2. Assurez-vous de bien connaître les concepts généraux liés aux règles d'alerte. Pour en savoir plus sur ces sujets, consultez la page Présentation des alertes.

  3. Configurez les canaux de notification que vous souhaitez utiliser pour recevoir des alertes. À des fins de redondance, nous vous recommandons également de créer plusieurs types de canaux de notification. Pour en savoir plus sur ces étapes, consultez Créer et gérer des canaux de notification.

  4. Assurez-vous d'avoir installé l'agent Ops sur les VM que vous souhaitez surveiller. Pour en savoir plus, consultez la page Agents d'observabilité Google Cloud.

Créer une règle d'alerte

Pour créer une règle d'alerte qui surveille le nombre de processus exécutés sur une VM à l'aide de l'API Cloud Monitoring, l'expression de filtre doit spécifier un sélecteur de série temporelle. Pour obtenir un exemple de fichier JSON spécifiant ce sélecteur, consultez la section Règle relative à l'état de processus.

Pour créer une règle d'alerte qui surveille le nombre de processus exécutés sur une VM, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

    Accéder à l'interface des alertes

  2. Sélectionnez Créer une règle.
  3. Sélectionnez ? dans l'en-tête de la section Sélectionner une métrique, puis sélectionnez Mode de filtrage direct dans l'info-bulle.

  4. Saisissez un filtre Monitoring.

    Par exemple, pour compter le nombre de processus exécutés sur des instances de VM Compute Engine dont le nom inclut nginx, saisissez la commande suivante :

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    Pour en savoir plus sur la syntaxe, consultez les ressources suivantes :

  5. Complétez la règle d'alerte. Vous devez configurer le déclencheur de la condition, les notifications, la documentation et le nom de la règle, puis cliquer sur Créer une règle.

    Pour en savoir plus, consultez la page Créer des règles d'alerte de seuil de métrique.

Processus surveillés

Les processus qui s'exécutent dans votre système ne peuvent pas tous être surveillés par une condition d'état de processus. Cette condition sélectionne les processus à surveiller à l'aide d'une expression régulière appliquée à la ligne de commande qui a appelé le processus. Lorsque le champ de ligne de commande n'est pas disponible, le processus ne peut pas être surveillé.

Pour déterminer si un processus peut être surveillé par une condition d'état de processus, vous pouvez examiner les processus actifs. Par exemple, sur un système Linux, vous pouvez utiliser la commande ps:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

Lorsqu'une entrée COMMAND est encapsulée entre crochets, par exemple [nfsd], les informations de ligne de commande pour le processus ne sont pas disponibles. Dans ce cas, vous ne pouvez pas surveiller le processus à l'aide de Cloud Monitoring.