Sommaire

Contexte

Le check Processes Alive Matching [ $KEY$ ] by SNMPv3  permet de vérifier si un ou plusieurs processus sont en cours d'exécution ou non.

Le check peut être configuré pour renvoyer un status ATTENTION ou CRITIQUE 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é :

Commande 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-WARN$"
    --max-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARN$"
    --min-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRIT$"
    --max-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRIT$"
    --snmp_version "3"
    --user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
    --level "noAuthNoPriv"
Commande 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-WARN$"
    --max-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARN$"
    --min-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRIT$"
    --max-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRIT$"
    --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"
Commande authPriv
$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-WARN$"
    --max-warning "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARN$"
    --min-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRIT$"
    --max-critical "$_SERVICELINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRIT$"
    --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

Commun à tout les modes de connexion


NomModifiable surUnitéDéfautValeur par défaut à l'installation de Shinken Description
LINUX-BY-SNMP__TIMEOUT

l'Hôte

( Onglet Données )

seconde5 5 Temps maximal en seconde pour réussir une connexion SNMP avant que le check ne renvoi une erreur INCONNU  ( La valeur doit être comprise entre 2 et 60 ).
LINUX-BY-SNMP__PORT

l'Hôte

( Onglet Données )

---

161161Port pour la connexion SNMP.

LINUX-BY-SNMP__V3-LOGIN

l'Hôte

( Onglet Données )

-- shinken shinken

Un nom d'utilisateur SNMPv3 défini sur votre linux :

  • Un nom unique qui identifie l'utilisateur SNMPv3






Mode de connexion noAuthNoPriv

Pas de données communes supplémentaires pour ce type de connexion SNMPv3


Mode de connexion authNoPriv
NomModifiable surUnitéDéfautValeur par défaut à l'installationDescription
LINUX-BY-SNMP__V3-PROTOCOL-AUTH

l'Hôte

( Onglet Données )

--sha sha Protocole utilisé pour vérifier l'authenticité des messages SNMPv3
LINUX-BY-SNMP__V3-PASSPHRASE-AUTH

l'Hôte

( Onglet Données )

--shinkenpassword shinkenpassword Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3
Mode de connexion authPriv
NomModifiable surUnitéDéfautValeur par défaut à l'installationDescription


LINUX-BY-SNMP__V3-PROTOCOL-AUTH

l'Hôte

( Onglet Données )

--sha sha Protocole utilisé pour vérifier l'authenticité des messages SNMPv3.
Valeurs possibles : sha, md5


LINUX-BY-SNMP__V3-PASSPHRASE-AUTH

l'Hôte

( Onglet Données )

--shinkenpassword shinkenpassword Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3.


LINUX-BY-SNMP__V3-PROTOCOL-PRIV

l'Hôte

( Onglet Données )

--aes aes

Protocole utilisé pour chiffrer les données SNMPv3.
Valeurs possibles : aes


LINUX-BY-SNMP__V3-PASSPHRASE-PRIV

l'Hôte

( Onglet Données )

--shinkencryptionkey shinkencryptionkey

Chaîne secrète utilisée pour chiffrer et déchiffrer les données SNMPv3.


Données spécifiques pour ce check

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

l'Hôte

( Onglet Données )

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

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-WARN

l'Hôte

( Onglet Données )

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

l'Hôte

( Onglet Données )

--NONESeuil 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.

Données globales

NomModifiable surUnitéDéfautValeur par défaut à l'installationDescription
USERPLUGINSDIR

Non modifiable

( Sauf Admin Shinken )

--/var/lib/shinken/libexec /var/lib/shinken/libexec

Chemin absolu contenant les sondes installés par Shinken

LINUX-BY-SNMP__SHINKEN__VENDOR

Non modifiable

( Sauf Admin Shinken )

--shinken-additional-packs shinken-additional-packs

Dossier fournit par shinken

LINUX-BY-SNMP__SHINKEN__PACKNAME

Non modifiable

( Sauf Admin Shinken )


linux-by-SNMP__shinken linux-by-SNMP__shinken

Dossier contenant les sondes 

LINUX-BY-SNMP__SHINKEN__PLUGINSDIR

Non modifiable

( Sauf Admin Shinken )

--
USERPLUGINSDIR/LINUX-BY-SNMP__SHINKEN__VENDOR/
LINUX-BY-SNMP__SHINKEN__PACKNAME
/var/lib/shinken-user/libexec/shinken-additional-packs/linux-by-SNMP__shinken

Chemin absolu du dossier contenant les sondes du pack linux-by-SNMP__shinken ( non modifiable )

Propriétés de l'hôte

NomModifiable surUnitéDéfautValeur par défautDescription
HOSTADDRESS

l'Hôte

( Onglet Général )

--

Nom de l'hôte Nom de l'hôte

Adresse de l'hôte

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-WARN
      • LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRIT
      • LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-WARN
      • LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MAX-CRIT
  • 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-CRIT

CRITIQUE

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

ATTENTION

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

CRITIQUE

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

ATTENTION

  • Aucun processus correspondant aux filtres n'a été trouvé et LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRIT est supérieure à 0

CRITIQUE

  • Aucun processus correspondant aux filtres n'a été trouvé et LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARN est supérieure à 0

ATTENTION

  • Aucun processus correspondant aux filtres n'a été trouvé et LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-WARN ET LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRIT équivaut a NONE. ou 0

OK

Résultat

Le résultat contient un message indiquant le status, le nombre de processus trouvés, ainsi que si ça dépasse les seuils. Le nombre maximum ou minimum du seuil dépassait selon le status.

Résultat Long

Le résultat long affiche un tableau avec les noms des processus correspondant à la donnée indique.

Le tableau regroupe chaque processus ayant le même nom dans des groupes et affiche le nombre de processus étant dans ce groupe.

Le tableau affiche à côté de chaque groupe, les processus trouvés avec leur PID.

Métriques

Définition

Nom de la métriqueUnitéDescriptionSeuil d'avertissementSeuil critique
--_PROCESS_COUNT_----

Somme des processus trouvée

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

LINUX-BY-SNMP__PROCESSES-ALIVE-MATCHING__MIN-CRIT.
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

--

--

Remarque

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

Erreurs de connexion ( communes à tous les checks )

UNKNOWN – Session error: timeout

La connexion SNMP est configuré par défaut pour se couper si aucune réponse n'est perçu après cinq secondes ( paramétrable avec LINUX-BY-SNMP__TIMEOUT ).


Cette erreur peut intervenir lorsque :

  • Aucun accès réseau n'est disponible vers l'hôte.
  • En SNMP v1 ou v2, la communauté utilisée est incorrecte.
  • En SNMP v3, la clef privée ( LINUX-BY-SNMP__V3-PASSPHRASE-PRIV ) utilisée est incorrecte.

UNKNOWN – Failed to create SNMP session. Got error: failed to lookup address information: Name or service not known

La résolution DNS de l'hôte a échoué.

UNKNOWN – Session error: Socket receive error: host unreachable

La tentative de connexion à l'hôte a échoué à atteindre l'hôte.

Cette erreur peut être générée à cause d'une mauvaise configuration de pare-feu.

UNKNOWN – Session error: Socket receive error: connection refused


La tentative de connexion à l'hôte a été refusé.

Cette erreur peut intervenir lorsque :

  • Un pare-feu bloque la requête
  • Le service SNMP du serveur à supervisé n'est pas démarré.

UNKNOWN – Session error: Unexpected report: authentication failure

L'authentification SNMP v3 a échoué.

Cette erreur peut intervenir lorsque :

  • En SNMP v3, le mot de passe ( LINUX-BY-SNMP__V3-PASSPHRASE-AUTH ) utilisée est incorrecte.
  • En SNMP v3, la méthode de hachage ( LINUX-BY-SNMP__V3-PROTOCOL-AUTH ) utilisée est incorrecte.

UNKNOWN – Session error: Unexpected report: unknown user name

L'utilisateur SNMP v3 utilisé n'existe pas.


UNKNOWN – Session error: Unexpected report: unsupported security level.


L'authentification SNMP v3 a échoué. La méthode d'authentification n'est pas authorisé.



Cette erreur peut intervenir lorsque :

Erreurs de configuration de l'hôte à superviser ( communes à tous les checks )

Les erreurs suivantes peuvent arriver sur la version SNMPv2 et SNMPv3.

MONITORED HOST - BAD STATE – No [ ... ] data found. This might be due to :


Deux erreurs sont possibles :

  • La vue SNMP configuré n'a pas les droits suffisants.
  • La configuration SNMP n'inclus pas les options "extend" nécessaires au bon fonctionnement des checks.



RESOLUTION :

Il faut vérifier les deux étapes suivantes de la configuration :