Contexte

Le check Processes Alive Matching [ $KEY$ ] by SNMPv3  permet de vérifier le nombre de processus actif d'un service.

Le check peut être configuré pour renvoyer un status WARNING ou CRITICAL si un nombre de processus trouvés minimum ou maximum est dépassé.

Le check utilise une donnée Duplicate Foreach qui permet de générer plusieurs fois le check pour chaque processus ou ensemble de processus à superviser.


Paramétrage

Le check utilise une des lignes de commandes suivantes selon le modèle d'hôte utilisé :

$LINUX-BY-SNMP__SHINKEN__PLUGINSDIR$/check_linux_health_by_snmp_rust --check check_processes_alive_matching
    -H "$HOSTADDRESS$"
    -p "$_HOSTLINUX-BY-SNMP__PORT$"
    -t "$_HOSTLINUX-BY-SNMP__TIMEOUT$"
    -C "$ARG1$"
    -X "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__HIDE-ALL$"
    -r "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__USE-REGEX-TO-MATCH-PROCESS$"
    -x "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__PROCESS-MATCH-X-WORDS$"
    --min-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARNING$"
    --max-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARNING$"
    --min-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRITICAL$"
    --max-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRITICAL$"
    --snmp_version "3"
    --user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
    --level "noAuthNoPriv"
$LINUX-BY-SNMP__SHINKEN__PLUGINSDIR$/check_linux_health_by_snmp_rust --check check_processes_alive_matching
    -H "$HOSTADDRESS$"
    -p "$_HOSTLINUX-BY-SNMP__PORT$"
    -t "$_HOSTLINUX-BY-SNMP__TIMEOUT$"
    -C "$ARG1$"
    -X "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__HIDE-ALL$"
    -r "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__USE-REGEX-TO-MATCH-PROCESS$"
    -x "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__PROCESS-MATCH-X-WORDS$"
    --min-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARNING$"
    --max-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARNING$"
    --min-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRITICAL$"
    --max-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRITICAL$"
    --snmp_version "3"
    --user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
    --auth_password "$_HOSTLINUX-BY-SNMP__V3-PASSPHRASE-AUTH$"
    --auth_protocol "$_HOSTLINUX-BY-SNMP__V3-PROTOCOL-AUTH$"
    --level "authNoPriv"
$LINUX-BY-SNMP__SHINKEN__PLUGINSDIR$/check_linux_health_by_snmp_rust --check check_processes_alive_matching
    -H "$HOSTADDRESS$"
    -p "$_HOSTLINUX-BY-SNMP__PORT$"
    -t "$_HOSTLINUX-BY-SNMP__TIMEOUT$"
    -C "$ARG1$"
    -X "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__HIDE-ALL$"
    -r "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__USE-REGEX-TO-MATCH-PROCESS$"
    -x "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__PROCESS-MATCH-X-WORDS$"
    --min-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARNING$"
    --max-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARNING$"
    --min-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRITICAL$"
    --max-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRITICAL$"
    --snmp_version "3"
    --user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
    --auth_password "$_HOSTLINUX-BY-SNMP__V3-PASSPHRASE-AUTH$"
    --priv_passphrase "$_HOSTLINUX-BY-SNMP__V3-PASSPHRASE-PRIV$"
    --auth_protocol "$_HOSTLINUX-BY-SNMP__V3-PROTOCOL-AUTH$"
    --priv_protocol "$_HOSTLINUX-BY-SNMP__V3-PROTOCOL-PRIV$"
    --level "authPriv"

Données utilisées provenant des modèles

Données communes pour les checks des modèles

Données spécifiques pour ce check

NomModifiable surUnitéValeur par défautDescription
LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARNING

l'Hôte

( Onglet Données )

--2Seuil minimum de processus trouvé en dessous duquel un status ATTENTION est déclenché
LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRITICAL

l'Hôte

( Onglet Données )

--1Seuil minimum de processus trouvé en dessous duquel un status CRITIQUE est déclenché 
LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARNING

l'Hôte

( Onglet Données )

--8Seuil maximum de processus trouvé au-dessus duquel un status ATTENTION est déclenché 
LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRITICAL

l'Hôte

( Onglet Données )

--10Seuil maximum de processus trouvé au-dessus duquel un status CRITIQUE est déclenché 
LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__HIDE-ALL

l'Hôte

( Onglet Données )

-- false Active/désactive l'affichage des métriques de ce check
LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__PROCESS-MATCH-X-WORDS

l'Hôte

( Onglet Données )

--

1

Lors de la récupération des lignes de commandes de processus, définit le nombre de mots à utiliser pour la comparaison aux filtres et la génération des métriques.

  • Identifier les mots est basé sur les espaces.
  • Dès que la sonde trouve un espace, elle compte un mot.

Il permet de tronquer une partie ou l'ensemble des arguments des lignes de commandes. Il est utilisé pour :

  • Éviter que des arguments sensibles des lignes ( mots de passe, token de connexion ... ) soient récupérés et affichés dans les résultats du check.
  • Éviter que des arguments variables ( token, date, uid ... ) soient utilisés pour générer des métriques uniques.
    Sans cela, pour chaque nouvelle valeur d'un argument, une nouvelle métrique sera générée pour le même groupe de processus, rendant difficile de suivre les métriques d'un même groupe de processus.


Valeurs possibles :

  • "ALL" : L'ensemble de la ligne de commande de chaque processus va être utilisé.
  • nombre positif : Uniquement les X premiers mots de la ligne de commande de chaque processus va être utilisé.

Données DFE ( Duplicate Foreach )

Pour utiliser ce check il vous faudra tout d'abord définir une paire KEY$(VALUE)$ dans la donnée LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__PROCESSES-TO-CHECK. Cette donnée est une donnée DFE (Duplicate Foreach), on peut donc chainer plusieurs paires KEY$(VALUE)$.


DonnéeDescriptionExemple
LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__PROCESSES-TO-CHECK


Définit une paire KEY$(VALUE)$, la KEY correspond à la description du processus à vérifier et la VALUE au nom du processus.

SYSTEMD$(systemd)$

Si vous avez des difficultés à trouver les processus à superviser, essayez en premier lieu de les trouver sur la machine supervisée avec la commande ps et grep :

ps ax -o user,pid,command --columns 10000 | grep NOM_DE_PROCESS

Données utilisées provenant du check

Pour éviter de modifier globalement les données de l'hôte, activez la surcharge : cela vous permet d'ajuster les paramètres d'un seul check sans répercussion sur les autres.

Modifier les données accrochées à l'hôte affectera l'ensemble des checks dupliqués.
Afin de paramétrer individuellement chaque checks, il est possible de surcharger les données des checks.

Résultat

Exemple

Interprétation

Statut

  • Il peut prendre quatre valeurs    OK  /  CRITIQUE  /  ATTENTION   /   INCONNU  

    • Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :

      • LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARNING
      • LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRITICAL
      • LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARNING
      • LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRITICAL
  • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :

Le texte de la colonne  "Affichage des seuils" montre les paramètres utilisés et leur valeur définie sur l'équipement supervisé.

 

Situation

Statut

Exemple

  • Le nombre de processus trouvés correspondant aux filtres est inférieure à LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRITICAL

CRITIQUE

  • Le nombre de processus trouvés correspondant aux filtres est inférieure à LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARNING

ATTENTION

  • Le nombre de processus trouvés correspondant aux filtres est superieur à LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRITICAL

CRITIQUE

  • Le nombre de processus trouvés correspondant aux filtres est superieur à LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARNING

ATTENTION

  • Aucun processus correspondant aux filtres n'a été trouvé

INCONNU

Résultat

Le résultat contient un message indiquant le status, si le ou les processus ont été trouvés, si la somme, les groupe ou les processus ne dépassent pas les limites de consommation mémoire fixés et si assez ou trop peu de processus trouvés correspondent aux filtres.

Résultat Long

Le résultat long affiche un tableau de la consommation mémoire des processus trouvés correspondant aux filtres.

Le tableau regroupe chaque processus ayant le même nom dans des groupes numérotés, ainsi que la somme de leur mémoire privée.

Le tableau affiche sous chaque groupe, les processus trouvés avec leur consommation de mémoire privée, partagée ainsi que leur PID.

Métriques

Définition

Nom de la métriqueUnitéDescriptionSeuil d'avertissementSeuil critique
process alive count--

Somme des processus trouvée

LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARNING.
Généré si le nombre de processus trouve est inférieur au seuil warning minimum.

LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRITICAL.
Généré si le nombre de processus trouve est inférieur au seuil critical minimum. 

( nom_du_groupe_de_processus / nom_du_processus )--Nombre de processus trouvés par nom de commande



Il est possible de ne retourner aucune métrique en configurant l'option LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__HIDE-ALL du check.

Exemple

Erreurs et pré-requis