Sommaire

Contexte

Le check CPU Stats SSH va utiliser des commandes à travers votre serveur SSH pour rechercher des informations sur votre CPU, tel que le nombre de cœurs, la fréquence, le pourcentage d'utilisation du processeur au cours de la dernière seconde et pour finir, si votre utilisation du processeur est trop importante, les X processus consommant le plus de CPU ( X étant la donnée CPU_MAX_PROCESS modifiable dans la configuration ) avec une notation "étoile" permettant de voir quels processus sont les plus consommateurs.

Le seuil choisi pour la consommation d'un processus sera la valeur du processus le plus consommateur et fera office de base pour trouver quels processus sont les plus consommateurs. En effet, nous n'affichons pas le pourcentage de CPU utilisé par chaque processus, car ceux-ci ne représentent que l'utilisation globale à un instant T.

Le nombre d’étoiles ( correspondant à la consommation du CPU ) de chaque processus sera déterminé en fonction du processus le plus consommateur au moment du check. Le processus ayant 5 étoiles n'est donc pas obligatoirement un processus qui surcharge votre CPU, il s'agit uniquement du plus consommateur au moment du check.

Si vous souhaitez voir en détail l'algorithme de calcul de consommation, rendez-vous en bas de page pour lire les schémas d'explication de l'algorithme.

Note : Le check CPU Stats SSH utilise le paquet SysStat. Si votre serveur Linux ne dispose pas de cette librairie, il faudra l'installer ( yum install sysstat )

Afin de récupérer le pourcentage d'utilisation du CPU au cours d'une seconde, le check attendra au moins une seconde, lui permettant de calculer le pourcentage au niveau de celle-ci.

Paramétrage

Le check utilise la ligne de commande suivante :

$LINUXBYSSH_SHINKEN_PLUGINSDIR$/check_linux_health_by_ssh_rust --check check_cpu_stats
    -H "$HOSTADDRESS$"
    -u "$_HOSTSSH_USER$"
    -p "$_HOSTSSH_PORT$"
    -i "$_HOSTSSH_KEY$"
    -P "$_HOSTSSH_KEY_PASSPHRASE$"
    -w "$_HOSTCPU_WARN$"
    -c "$_HOSTCPU_CRIT$"
    -m "$_HOSTCPU_MAX_PROCESS$"

Données utilisées provenant des modèles

Données communes pour les checks des modèles

Authentification

NomModifiable surUnitéDéfautValeur par défaut à l'installation de ShinkenDescription
SSH_KEY

l'Hôte

( Onglet Données )

--$SSH_KEY_KEY$    ~/.ssh/id_rsa

Chemin vers la clé SSH privé de l'utilisateur shinken, sur le serveur hébergeant le Poller qui exécutera le check. 

  • Cette clé doit être présente dans les clefs autorisées du compte utilisateur utilisé pour se connecter sur le serveur linux supervisé ( voir la donnée SSH_USER si dessous ).
SSH_KEY_PASSPHRASE

l'Hôte

( Onglet Données )

--$SSH_KEY_PASSPHRASE$''

Phrase secrète utilisée pour déchiffrer la clé privée de l'utilisateur ( si celle-ci est protégée par une passphrase ). La clé privée déchiffré est ensuite utilisée pour authentifier l'utilisateur.

SSH_PORT

l'Hôte

( Onglet Données )

--$SSH_PORT$22

Port de connexion SSH.

SSH_USER

l'Hôte

( Onglet Données )

--$SSH_USER$shinken

Nom de l'utilisateur pour se connecter sur le serveur supervisé.

Données spécifiques pour ce check

DonnéeModifiable surUnitéValeur par défautDescription
CPU_CRIT

l'Hôte

( Onglet Données )

%

90 %Définit le pourcentage d'utilisation du processeur à partir duquel le check passe en CRITIQUE.
CPU_WARN

l'Hôte

( Onglet Données )

%

80 %Définit le pourcentage d'utilisation du processeur à partir duquel le check passe en ATTENTION.
CPU_MAX_PROCESS

l'Hôte

( Onglet Données )

--

10Définit le nombre de processus alarmant à afficher au maximum.

Données DFE ( Duplicate Foreach )

Pas de données DFE pour ce check

Données utilisées provenant du check

Pas de données spécifiques pour ce check

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 :

    • CPU_CRIT
    • CPU_WARN
  • 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

  • Les charges dépassent la valeur de CPU_CRIT.

CRITIQUE

  • Les charges dépassent la valeur de CPU_WARN.

ATTENTION

Résultat

Le résultat contient un message indiquant le statut ainsi que l'utilisation du CPU en pourcentage, valeur correspondant à la métrique cpu__all_usage.

Résultat Long

Le résultat long contient un tableau qui liste les X processus les plus consommateurs ( le X correspond à la donnée CPU_MAX_PROCESS ), ainsi qu'une indication sur leur impact.

Métriques

Définition

Nom de la métriqueUnitéDescriptionSeuil d'avertissementSeuil critique
cpu__all_usage%Retourne le pourcentage de temps CPU actif au cours de la dernière seconde ( Correspond au % afficher dans le résultat du check ).

CPU_WARN

CPU_CRIT

cpu_(numerocpu)_sys%Retourne le pourcentage de temps CPU utilisé par le noyau Linux au cours de la dernière seconde.----
cpu_(numerocpu)_usr%Retourne le pourcentage de temps CPU utilisé par les processus en espace utilisateur au cours de la dernière seconde.----
cpu_(numerocpu)_soft%Retourne le pourcentage de temps CPU utilisé par les interruptions logicielles au cours de la dernière seconde.----
cpu_(numerocpu)_guest%Retourne le pourcentage de temps CPU utilisé par les processeurs virtuels au cours de la dernière seconde.----
cpu_(numerocpu)_idle%Retourne le pourcentage de temps CPU inactif au cours de la dernière seconde.----
cpu_(numerocpu)_irq%Retourne le pourcentage de temps CPU utilisé par les interruptions matérielles au cours de la dernière seconde.----
cpu_(numerocpu)_nice%Retourne le pourcentage de temps CPU utilisé par les processus en espace utilisateur dont le nice a été changé au cours de la dernière seconde.----
cpu_(numerocpu)_iowait%Retourne le pourcentage de temps CPU utilisé pour effectuer des attentes d'entrées/sorties au cours de la dernière seconde.----
cpu_(numerocpu)_steal%Retourne le pourcentage de temps CPU utilisé par une attente involontaire imposée par un hyperviseur au cours de la dernière seconde.----

Toutes les métriques contenant le mot (numerocpu) dans le tableau ci-dessus seront dupliquées en fonction du nombre de CPUs présents sur le serveur supervisé.

Exemple ( pour 2 CPUs ) :

  • cpu_0_sys
  • cpu_0_usr
  • ...
  • cpu_1_sys
  • cpu_1_usr
  • ...

Exemple

Les Erreurs

Erreurs spécifiques à ce check

MONITORED HOST - BAD STATE – Command 'mpstat' not found.



La commande 'mpstat' n'est pas installé sur l'hôte à superviser.



Résolution


Installer le packet 'sysstat' sur sa distribution, selon son gestionnaire de packet.

# Alma, Rocky, Centos, Fedora, OpenSUSE
yum install sysstat

dnf install sysstat

# Ubuntu, Debian
apt install sysstat

# Arch, Manjaro
pacman -Syu sysstat

Erreurs de connexion ( communes à tous les checks )

UNKNOWN – Username/PublicKey combination invalid

La connexion a échoué, car la paire utilisateur / clef public n'est pas reconnu par l'hôte supervisée.


Résolution :


Possibles raisons :

  • L'utilisateur utilisé n'existe pas
  • La paire utilisateur / clef public n'est pas autorisé pour se connecter sur la machine supervisée.

UNKNOWN – Unable to extract public key from private key file : Unable to open private key file


La clef privée configurée par la donnée SSH_KEY n'existe pas.


UNKNOWN – Unable to extract public key from private key file : Wrong passphrase or invalid/unrecognized private key file format


Le mot de passe pour déchiffrer la clef privé n'est pas correct.


Résolution :


Vérifier la donnée SSH_KEY_PASSPHRASE.

UNKNOWN – Connection refused (os error 111)

La résolution DNS a échoué.


Résolution :


Vérifier l'adresse ou le nom utilisé pour se connecter à l'hôte

UNKNOWN – Name or service not known

La résolution DNS a échoué.


Résolution :


Vérifier l'adresse ou le nom utilisé pour se connecter à l'hôte

Détails de l'algorithme

Votre essai Premium est terminé