Contexte

Le check checkProcessMemory SSH permet de vérifier la consommation de la mémoire d'un seul ou plusieurs processus. Il permet donc de garder un œil sur le ou les processus de votre choix.

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 la ligne de commande suivante :

$LINUXBYSSH_SHINKEN_PLUGINSDIR$/check_linux_health_by_ssh_rust --check check_process
    -H "$HOSTADDRESS$"
    -u "$_HOSTSSH_USER$"
    -p "$_HOSTSSH_PORT$"
    -i "$_HOSTSSH_KEY$"
    -P "$_HOSTSSH_KEY_PASSPHRASE$"
    -w "$_SERVICEPROCESS_WARNING$"
    -c "$_SERVICEPROCESS_CRITICAL$"
    -C "$ARG1$"
    -X "$_SERVICEPROCESS_HIDE_ALL$"
    -S "$_SERVICEPROCESS_SUM_ALL$"
    -r "$_SERVICEUSE_REGEX_TO_MATCH_PROCESS$"
    -x "$_SERVICEPROCESS_MATCH_X_WORDS$"
    -T "$_SERVICEUSE_MEMORY_THRESHOLD_ON$"
    --min-count "$_SERVICEMIN_PROCESS_COUNT$"
    --max-count "$_SERVICEMAX_PROCESS_COUNT$"

Données DFE ( Duplicate Foreach )

DonnéeDescriptionExemple
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.

SYSTEM$(/usr/lib/systemd/systemd)$, DATABASE$(mongod)$


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


Plus d'information sont disponibles, concernant le mécanisme de Duplicate Foreach, sur la page Dupliquer des checks en fonction d'une liste de valeurs présentes dans la Donnée d'un hôte (duplicate_foreach)


Données utilisées provenant du modèle

Données communes pour les checks des modèles

Authentification

Données spécifiques pour ce check

DonnéeModifiable surUnitéValeur par défautDescription
PROCESS_WARNING

l'Hôte

( Onglet Données )

MB100MBSeuil de consommation mémoire au-dessus duquel un ATTENTION est déclenché
PROCESS_CRITICAL

l'Hôte

( Onglet Données )

MB200MB

Seuil de consommation mémoire au-dessus duquel un  CRITIQUE est déclenché

PROCESS_HIDE_ALL

l'Hôte

( Onglet Données )

boolFalseActive/désactive l'affichage des métriques de ce check
USE_REGEX_TO_MATCH_PROCESS

l'Hôte

( Onglet Données )

boolFalse
Active ou désactive l'utilisation de regex


Voici des exemple de regex si USE_REGEX_TO_MATCH_PROCESS est à True :

  • (wsgi:graphite) => \([a-z]+:graphite\)?$$
  • /usr/sbin/httpd => /[^/]?+/httpd$$
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é.


USE_MEMORY_THRESHOLD_ON

l'Hôte

( Onglet Données )

--group

Définit comment sont utilisés les seuils PROCESS_WARNING et PROCESS_CRITICAL.


Valeurs possibles :

  • sum : Les seuils vont être comparés à la somme de la consommation mémoire des processus.
  • group : Les seuils vont être comparés à la consommation mémoire de chaque groupe de processus.
    La consommation mémoire d'un groupe de processus est la somme de la consommation mémoire des processus qui le composent
    Les processus aillant le même nom sont regroupés au sein d'un même groupe.
  • process : Les seuils vont être comparés à la consommation mémoire de chaque processus.



MIN_PROCESS_COUNT

l'Hôte

( Onglet Données )

--1

Nombre minimum de processus à correspondre.
Si trop peu de processus correspondent aux filtres, un statut INCONNU sera déclenché.
Les erreurs générées par les seuils PROCESS_WARNING et PROCESS_CRITICAL sont prioritaires sur le retour de la sonde.

MAX_PROCESS_COUNT

l'Hôte

( Onglet Données )

--NONE

Nombre maximum de processus à correspondre.
Si trop de processus correspondent aux filtres, un statut INCONNU sera déclenché.
Les erreurs générées par les seuils PROCESS_WARNING et PROCESS_CRITICAL sont prioritaires sur le retour de la sonde.
Valeurs possibles :

  • "NONE" : Aucune vérification ne sera effectuée.
  • Entier positif : Vérification.
PROCESS_SUM_ALL

l'Hôte

( Onglet Données )

boolFalse

Active/désactive le calcul de la consommation de la mémoire sur un ensemble de processus.

Paramètre déprécié : Utilisez USE_MEMORY_THRESHOLD_ON : sum.
Si configuré à "True", la donnée sera utilisée à la place de USE_MEMORY_THRESHOLD_ON pour déterminer comment les seuils sont utilisés. Cela permet de ne pas casser sa configuration des checks lors de la mise à jour du pack.

Données utilisées provenant du check

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


Exemple

Résultat


Exemple

Interprétation des données

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 :

    • PROCESS_CRITICAL
    • PROCESS_WARNING
    • MIN_PROCESS_COUNT
    • MAX_PROCESS_COUNT
  • 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

  • USE_MEMORY_THRESHOLD_ON vaut "group", et la consommation mémoire d'un ou plusieurs groupes de processus dépasse PROCESS_CRITICAL

CRITIQUE

  • USE_MEMORY_THRESHOLD_ON vaut "group", et la consommation mémoire d'un ou plusieurs groupes de processus dépasse PROCESS_WARNING

ATTENTION



  • USE_MEMORY_THRESHOLD_ON vaut "sum" et la somme de la consommation mémoire des processus dépasse PROCESS_CRITICAL
CRITIQUE

  • USE_MEMORY_THRESHOLD_ON vaut "sum" et la somme de la consommation mémoire des processus dépasse PROCESS_WARNING

 ATTENTION

  • USE_MEMORY_THRESHOLD_ON vaut "process" et la consommation mémoire d'un ou plusieurs processus dépasse PROCESS_CRITICAL

CRITIQUE


  • USE_MEMORY_THRESHOLD_ON vaut "process" et la consommation mémoire d'un ou plusieurs processus dépasse PROCESS_WARNING

ATTENTION

  • Le nombre de processus trouvés correspondant aux filtres est inférieur à MIN_PROCESS_COUNT

INCONNU

  • Le nombre de processus trouvés correspondant aux filtres est supérieur à MAX_PROCESS_COUNT

INCONNU

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

INCONNU

  • Le nombre de processus trouvés correspondant aux filtres est supérieur à MAX_PROCESS_COUNT et le seuil PROCESS_CRITICAL est dépassé. ( Le seuil de mémoire est prioritaire sur le retour de la sonde ).

CRITIQUE

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 nom des processus trouvés dépend de PROCESS_MATCH_X_WORDS qui définit le nombre de mots que contient le nom du processus à afficher.

Le tableau affiche également des groupes de processus, qui sont un ensemble de processus aillant le même nom.

Métriques

Définition

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

Somme de la consommation mémoire des processus surveillés en MB.

Métrique uniquement générée lorsque USE_MEMORY_THRESHOLD_ON vaut "sum", ou que la donnée dépréciée PROCESS_SUM_ALL vaut "True" si vous ne l'avez pas encore migré vers USE_MEMORY_THRESHOLD_ON .



( nom_du_groupe_de_processus )

Consommation mémoire d'un groupe de processus en MB.

Calculé à partir de la somme de la mémoire RSS de chaque processus au sein du groupe.

Généré pour chaque groupe de processus trouvé.



Il est possible de ne retourner aucune métrique en configurant l'option PROCESS_HIDE_ALL du check.

Exemple