Contexte
Le check Stats CPU by SNMPv3 va récupérer les informations relatives à l'utilisation de 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 LINUX-BY-SNMP__STATS-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.
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_stats_cpu
-H "$HOSTADDRESS$"
-p "$_HOSTLINUX-BY-SNMP__PORT$"
-t "$_HOSTLINUX-BY-SNMP__TIMEOUT$"
-w "$_HOSTLINUX-BY-SNMP__STATS-CPU__WARN$"
-c "$_HOSTLINUX-BY-SNMP__STATS-CPU__CRIT$"
-m "$_HOSTLINUX-BY-SNMP__STATS-CPU__MAX-PROCESS$"
--snmp_version "3"
--user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
--level "noAuthNoPriv"
$LINUX-BY-SNMP__SHINKEN__PLUGINSDIR$/check_linux_health_by_snmp_rust --check check_stats_cpu
-H "$HOSTADDRESS$"
-p "$_HOSTLINUX-BY-SNMP__PORT$"
-t "$_HOSTLINUX-BY-SNMP__TIMEOUT$"
-w "$_HOSTLINUX-BY-SNMP__STATS-CPU__WARN$"
-c "$_HOSTLINUX-BY-SNMP__STATS-CPU__CRIT$"
-m "$_HOSTLINUX-BY-SNMP__STATS-CPU__MAX-PROCESS$"
--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_stats_cpu
-H "$HOSTADDRESS$"
-p "$_HOSTLINUX-BY-SNMP__PORT$"
-t "$_HOSTLINUX-BY-SNMP__TIMEOUT$"
-w "$_HOSTLINUX-BY-SNMP__STATS-CPU__WARN$"
-c "$_HOSTLINUX-BY-SNMP__STATS-CPU__CRIT$"
-m "$_HOSTLINUX-BY-SNMP__STATS-CPU__MAX-PROCESS$"
--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
l'Hôte ( Onglet Données ) l'Hôte ( Onglet Données ) --- l'Hôte ( Onglet Données ) Un nom d'utilisateur SNMPv3 défini sur votre linux : Pas de données communes supplémentaires pour ce type de connexion SNMPv3 l'Hôte ( Onglet Données ) l'Hôte ( Onglet Données ) l'Hôte ( Onglet Données ) l'Hôte ( Onglet Données ) l'Hôte ( Onglet Données ) Protocole utilisé pour chiffrer les données SNMPv3. l'Hôte ( Onglet Données ) Chaîne secrète utilisée pour chiffrer et déchiffrer les données SNMPv3.Commun à tout les modes de connexion
Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation de Shinken Description LINUX-BY-SNMP__TIMEOUT
seconde 5 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
161 161 Port pour la connexion SNMP. LINUX-BY-SNMP__V3-LOGIN
-- shinken shinken Mode de connexion noAuthNoPriv
Mode de connexion authNoPriv
Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation Description LINUX-BY-SNMP__V3-PROTOCOL-AUTH
-- sha sha Protocole utilisé pour vérifier l'authenticité des messages SNMPv3 LINUX-BY-SNMP__V3-PASSPHRASE-AUTH
-- shinkenpassword shinkenpassword Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3 Mode de connexion authPriv
Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation Description LINUX-BY-SNMP__V3-PROTOCOL-AUTH
-- sha sha Protocole utilisé pour vérifier l'authenticité des messages SNMPv3.
Valeurs possibles : sha, md5LINUX-BY-SNMP__V3-PASSPHRASE-AUTH
-- shinkenpassword shinkenpassword Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3. LINUX-BY-SNMP__V3-PROTOCOL-PRIV
-- aes aes
Valeurs possibles : aesLINUX-BY-SNMP__V3-PASSPHRASE-PRIV
-- shinkencryptionkey shinkencryptionkey
Données spécifiques pour ce check
| Nom | Modifiable sur | Unité | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|
LINUX-BY-SNMP__STATS-CPU__CRIT | l'Hôte ( Onglet Données ) | % | 90 % | Définit le pourcentage d'utilisation du processeur à partir duquel le check passe en CRITIQUE. |
LINUX-BY-SNMP__STATS-CPU__WARN | l'Hôte ( Onglet Données ) | % | 80 % | Définit le pourcentage d'utilisation du processeur à partir duquel le check passe en ATTENTION. |
LINUX-BY-SNMP__STATS-CPU__MAX-PROCESS | l'Hôte ( Onglet Données ) | -- | 10 | Dé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 provenant du check pour ce modèle
Non modifiable ( Sauf Admin Shinken ) Chemin absolu contenant les sondes installés par Shinken Non modifiable ( Sauf Admin Shinken ) Dossier fournit par shinken Non modifiable ( Sauf Admin Shinken ) Dossier contenant les sondes Non modifiable ( Sauf Admin Shinken ) Chemin absolu du dossier contenant les sondes du pack linux-by-SNMP__shinken ( non modifiable )Données globales
Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation Description USERPLUGINSDIR
-- /var/lib/shinken/libexec /var/lib/shinken/libexec LINUX-BY-SNMP__SHINKEN__VENDOR
-- shinken-additional-packs shinken-additional-packs LINUX-BY-SNMP__SHINKEN__PACKNAME
linux-by-SNMP__shinken linux-by-SNMP__shinken LINUX-BY-SNMP__SHINKEN__PLUGINSDIR
-- USERPLUGINSDIR/LINUX-BY-SNMP__SHINKEN__VENDOR/
LINUX-BY-SNMP__SHINKEN__PACKNAME
/var/lib/shinken-user/libexec/shinken-additional-packs/linux-by-SNMP__shinken
l'Hôte ( Onglet Général ) -- Adresse de l'hôtePropriétés de l'hôte
Nom Modifiable sur Unité Défaut Valeur par défaut Description HOSTADDRESS
Nom de l'hôte Nom 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__STATS-CPU__CRIT
- LINUX-BY-SNMP__STATS-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 |
|---|---|---|
| CRITIQUE | |
| 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 LINUX-BY-SNMP__STATS-CPU__MAX-PROCESS ), ainsi qu'une indication sur leur impact.
Métriques
Définition
| Nom de la métrique | Unité | Description | Seuil d'avertissement | Seuil 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 ). | LINUX-BY-SNMP__STATS-CPU_WARN | LINUX-BY-SNMP__STATS-CPU__CRIT |
| cpu_all_usr | % | Retourne le pourcentage de temps CPU actif en espace utilisateur (tous CPU confondus) au cours de la dernière seconde. | -- | -- |
| cpu_all_nice | % | Retourne le pourcentage de temps CPU utilisé par les processus avec priorité ajustée (nice), tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_all_sys | % | Retourne le pourcentage de temps CPU utilisé en mode noyau (système), tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_all_iowait | % | Retourne le pourcentage de temps CPU passé en attente d'opérations d'entrée/sortie (I/O), tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_all_irq | % | Retourne le pourcentage de temps CPU consacré au traitement des interruptions matérielles (IRQ), tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_all_soft | % | Retourne le pourcentage de temps CPU consacré au traitement des interruptions logicielles (softirq), tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_all_steal | % | Retourne le pourcentage de temps CPU "volé" par l'hyperviseur pour d'autres machines virtuelles, tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_all_guest | % | Retourne le pourcentage de temps CPU utilisé pour l'exécution de CPU virtuels (machines virtuelles invitées), tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_all_idle | % | Retourne le pourcentage de temps CPU inactif (sans charge), tous CPU confondus, au cours de la dernière seconde. | -- | -- |
| cpu_( NUMERO_CPU )_usr | % | Retourne le pourcentage de temps CPU utilisé par les processus en espace utilisateur au cours de la dernière seconde. | -- | -- |
| cpu_( NUMERO_CPU )_priv | % | Retourne le pourcentage de temps CPU utilisé par les processus en mode noyau au cours de la dernière seconde. | -- | -- |
| cpu_( NUMERO_CPU )_idle | % | Retourne le pourcentage de temps CPU inactif au cours de la dernière seconde. | -- | -- |
| cpu_( NUMERO_CPU )_irq | % | Retourne le pourcentage de temps CPU consacré au traitement des interruptions matérielles (périphériques physiques) au cours de la dernière seconde. | -- | -- |
| cpu_( NUMERO_CPU )_dpc | % | Retourne le pourcentage de temps CPU utilisé par les DPC (Deferred Procedure Calls) — routines différées généralement utilisées par les pilotes pour finaliser le traitement d’interruptions 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
- ...
Pré-requis et Erreurs fréquentes
Erreurs de configuration de l'hôte à superviser ( spécifique à ce check )
Ce check dépend de la commande mpstat, qui fait partie du paquet sysstat. Assurez-vous que ce paquet soit installé pour que la commande fonctionne correctement.
Les instructions suivantes sont à exécuter sur l'hôte supervisé.MONITORED HOST - BAD STATE – Command 'mpstat' not found. Please ensure that the 'sysstat' package is installed.
# Ubuntu, Debian
apt-get install sysstat
# Centos, Fedora, OpenSUSE
yum -y install sysstat
# Arch
pacman -Rs sysstat
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 : La résolution DNS de l'hôte a échoué.
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. La tentative de connexion à l'hôte a été refusé.
Cette erreur peut intervenir lorsque : L'authentification SNMP v3 a échoué.
Cette erreur peut intervenir lorsque : L'utilisateur SNMP v3 utilisé n'existe pas.
L'authentification SNMP v3 a échoué. La méthode d'authentification n'est pas authorisé.
Cette erreur peut intervenir lorsque : Les erreurs suivantes peuvent arriver sur la version SNMPv2 et SNMPv3. Deux erreurs sont possibles :
RESOLUTION : Il faut vérifier les deux étapes suivantes de la configuration :Erreurs de connexion ( communes à tous les checks )
UNKNOWN – Session error: timeout
UNKNOWN – Failed to create SNMP session. Got error: failed to lookup address information: Name or service not known
UNKNOWN – Session error: Socket receive error: host unreachable
UNKNOWN – Session error: Socket receive error: connection refused
UNKNOWN – Session error: Unexpected report: authentication failure
UNKNOWN – Session error: Unexpected report: unknown user name
UNKNOWN – Session error: Unexpected report: unsupported security level.
Erreurs de configuration de l'hôte à superviser ( communes à tous les checks )
MONITORED HOST - BAD STATE – No [ ... ] data found. This might be due to :














