Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Panel
titleSommaire

Table of Contents
stylenone

Contexte

Le check Stats CPU by SNMPv1v2  va utiliser des commandes à travers votre serveur SNMP 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.

Panel

Info

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

Info

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 :

Code Block
languagebash
themeEmacs
$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 "2"
	--community "$_HOSTLINUX-BY-SNMP__V1V2-COMMUNITY$"

Données utilisées provenant des modèles

Données communes pour les checks des modèles

Excerpt Include
NEW_PAGE - 02.00.00 - SPAC-25 - Modèle linux-by-SNMPv1v2NEW_PAGE - 02.00.00 - SPAC-25 -
Modèle linux-by-SNMPv1v2
nopaneltrue

Données spécifiques pour ce check

DonnéeModifiable surUnitéValeur par défautDescription
No Format
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.
No Format
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.
No Format
LINUX-BY-SNMP__STATS-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

Excerpt Include
NEW_PAGE - 02.00.00 - SPAC-25 - Disks Usage by SNMPv3 ( pour les modèles linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv ))
NEW_PAGE - 02.00.00 - SPAC-25 - Disks Usage by SNMPv3 ( pour les modèles linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv ))
nopaneltrue

Excerpt Include
NEW_PAGE - 02.00.00 - SPAC-25 - Memory by SNMPv3 ( pour les modèles linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv ))
NEW_PAGE - 02.00.00 - SPAC-25 - Memory by SNMPv3 ( pour les modèles linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv ))
nopaneltrue

Résultat

Exemple

Panel

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 :

    • 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 :

Info

Le texte de la colonne  "Affichage des seuils" montre les paramètres utilisés et leur valeur définie sur l'équipement supervisé.

Panel

 

Situation

Statut

Exemple

  • Les charges dépassent la valeur de LINUX-BY-SNMP__STATS-CPU__CRIT

CRITIQUE

Panel

  • Les charges dépassent la valeur de LINUX-BY-SNMP__STATS-CPU_WARN.

ATTENTION

Panel

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

Nom de la métriqueUnitéDescription
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_(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.
Info

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

Détails de l'algorithme

Pré-requis et Erreurs fréquentes

SNMP agent is not configured with extended exec [ ... ]

Le check demande une configuration supplémentaire afin d'exécuter des commandes via des requêtes SNMP. Sans cette configuration, les erreurs suivantes pourront être générées :

Panel

Panel

Panel

Panel

Résolution :
Info

Les instructions suivantes sont à exécuter sur l'hôte supervisé.

Ouvrez le fichier de configuration SNMP. ( "/etc/snmp/shinken/linux-by-SNMP__shinken.conf" ou "/etc/snmp/snmpd.conf" selon votre configuration ).

Code Block
themeEmacs
vim /etc/snmp/shinken/linux-by-SNMP__shinken.conf
# vim /etc/snmp/snmpd.conf

Rajoutez ces lignes si elles n'y sont pas :

Code Block
themeConfluence
# check : Stats CPU by SNMP
extend shinken__linux-by-snmp__stats-cpu__processes-cpu-time /bin/sh -c "export LC_LANG=C && unset LANG && awk '{ut[\$1]=\$14; st[\$1]=\$15} END { system(\"sleep 1\"); for (p in ut) { getline < (\"/proc/\" p \"/stat\"); split(\$0, d, \" \"); printf \"%s %d %d %d %d\\n\", p, ut[p], st[p], d[14], d[15] } }' /proc/[0-9]*/stat"
extend shinken__linux-by-snmp__stats-cpu__processes-cpu /bin/sh -c "export LC_LANG=C && unset LANG && ps -eo pcpu,pid,args --sort=-pcpu --no-headers"
extend shinken__linux-by-snmp__stats-cpu__frequency /bin/sh -c "export LC_LANG=C && unset LANG && cat /proc/cpuinfo | grep 'cpu MHz' | uniq | cut -d ' ' -f 3"
extend shinken__linux-by-snmp__stats-cpu__mpstat /bin/sh -c "export LC_LANG=C && unset LANG && mpstat -P ALL 1 1"