Contexte

Le check Memory SSH va récupérer des informations concernant la mémoire vive et la mémoire swap de votre machine tel que le pourcentage utilisé et le top 5 des processus consommant le plus de mémoire.

  • Le statut de ce check possède 2 raisons de changer de statut :
    • Soit votre mémoire RAM est trop élevée,
    • Soit votre mémoire SWAP est trop élevée.
  • Le statut du check sera donc le pire état des deux.



Méthode de calcul de la mémoire consommée

La mémoire utilisée ( used ) est différente de la mémoire consommée ( consumed ) que nous utilisons pour la comparaison avec les seuils.

  • En effet, la mémoire d'un serveur Linux peut être utilisée par le système, mais pas consommée, car celle-ci sera gardée en cache par le système.
  • De cette manière, le serveur pourra piocher dans ce cache si besoin.


Bien que la mémoire utilisée soit très proche de la mémoire totale du serveur, le serveur peut toujours disposer de mémoire pour son système et les applications.

  • Nous souhaitons donc ne pas envoyer d'alerte inutile car le serveur peut sembler saturé, alors qu'il dispose encore de plusieurs Go de RAM présents dans le cache par exemple.

Il est également important de noter que la commande free utilisée lors de la récupération des informations de mémoire du serveur a changé depuis la version 3.3.9.

  • La version plus récente permet facilement de calculer la mémoire consommée réellement par le serveur via la mémoire totale moins la mémoire available ( ajoutée dans la commande mise à jour ).
  • L'ancienne version ne dispose pas de la mémoire available, il faut se baser sur la mémoire buffed et cached.

Le check calcule donc la mémoire consommée comme tel :

  • free < 3.3.9 : consumed = used - buffed - cached
  • free > 3.3.9 : consumed = total - available

La sonde saura s'adapter suivant la version de la commande free.

Paramétrage

Le check utilise la ligne de commande suivante :

$SHINKEN_LINUXBYSSH_PLUGINSDIR$/check_linux_health_by_ssh_rust --check check_memory -H "$HOSTADDRESS$" -u "$_HOSTSSH_USER$" -p "$_HOSTSSH_PORT$" -i "$_HOSTSSH_KEY$" -P "$_HOSTSSH_KEY_PASSPHRASE$" -w "$_HOSTMEMORY_WARN$" -c "$_HOSTMEMORY_CRIT$" -m -s -C "$_HOSTSWAP_CRIT_WHEN_HIGH_PHYSICAL_MEMORY$,$_HOSTSWAP_CRIT$" -W "$_HOSTSWAP_WARN_WHEN_HIGH_PHYSICAL_MEMORY$,$_HOSTSWAP_WARN$"

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
MEMORY_CRIT

l'Hôte

( Onglet Données )

%

95Définit le pourcentage de mémoire RAM utilisée à partir duquel le check passe en CRITIQUE.
MEMORY_WARN

l'Hôte

( Onglet Données )

%

90Définit le pourcentage de mémoire RAM utilisée à partir duquel le check passe en ATTENTION .
SWAP_CRIT

l'Hôte

( Onglet Données )

%

90Définit le pourcentage d'utilisation SWAP à partir duquel le check passe en CRITIQUE.
SWAP_WARN

l'Hôte

( Onglet Données )

%

70Définit le pourcentage d'utilisation SWAP à partir duquel le check passe en ATTENTION .
SWAP_CRIT_WHEN_HIGH_PHYSICAL_MEMORY

l'Hôte

( Onglet Données )

%

20Définit le pourcentage d'utilisation SWAP à partir duquel le check passe en CRITIQUE si la mémoire RAM est à plus de MEMORY_CRIT.
SWAP_WARN_WHEN_HIGH_PHYSICAL_MEMORY



l'Hôte

( Onglet Données )

%

15Définit le pourcentage d'utilisation SWAP à partir duquel le check passe en ATTENTION si la mémoire RAM est à plus de MEMORY_WARN.

Données utilisées provenant du check

Pas de données spécifiques pour ce check

Données DFE ( Duplicate Foreach )

Pas de données DFE pour ce check

Données utilisées provenant du check

Résultat

Exemple

Interprétation des données

Statut

Il peut prendre 4 valeurs différentes  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 :

    • MEMORY_CRIT
    • MEMORY_WARN
    • SWAP_CRIT
    • SWAP_WARN
    • SWAP_CRIT_WHEN_HIGH_PHYSICAL_MEMORY
    • SWAP_WARN_WHEN_HIGH_PHYSICAL_MEMORY
  • 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 pourcentage de RAM dépassent la valeur de MEMORY_CRIT.
  • Le pourcentage de SWAP dépasse la valeur de SWAP_CRIT.
  • Le pourcentage de RAM est à plus de 90% et le pourcentage de SWAP est supérieur à SWAP_CRIT_WHEN_HIGH_PHYSICAL_MEMORY.

CRITIQUE

  • Le pourcentage de RAM dépassent la valeur de MEMORY_WARN.
  • Le pourcentage de SWAP dépasse la valeur de SWAP_WARN.
  • Le pourcentage de RAM est à plus de 90% et le pourcentage de SWAP est supérieur à SWAP_WARN_WHEN_HIGH_PHYSICAL_MEMORY.

ATTENTION

Résultat

Le résultat contient un message indiquant le statut ainsi qu'une jauge pour la mémoire ram et une jauge pour la mémoire swap si elle est présente.

Résultat Long

Le résultat long contient 3 tableaux :

  • Un tableau qui indique les 5 premiers processus les plus consommateurs.
  • Un tableau qui indique les détails de la consommation de la mémoire RAM
  • Le 3eme est optionnel car il n'apparait que si la mémoire SWAP est présente
    • il indique les détails de sa consommation.

Métriques

Nom de la métriqueUnitésDescription
buffered%

Quantité de mémoire tampon utilisée

buffered_absKB

Quantité de mémoire tampon utilisée

cached%

Quantité de mémoire cache

cached_absKB

Quantité de mémoire cache

consumed%

Quantité de mémoire consommée

consumed_absKB

Quantité de mémoire consommée

free%

Quantité de mémoire non utilisée

free_absKB

Quantité de mémoire non utilisée

used%

Quantité de mémoire totale utilisée ( en prenant en compte le cache et la mémoire tampon )

used_absKB

Quantité de mémoire utilisée  ( en prenant en compte le cache et la mémoire tampon )

swap_used%

Quantité de mémoire swap utilisée 

swap_free%

Quantité de mémoire swap libre

swap_free_absKB

Quantité de mémoire swap libre

swap_totalKB

Quantité totale de mémoire swap

swap_used_absKB

Quantité de mémoire swap utilisée

total_absKB

Quantité totale de mémoire ram disponible sur le serveur