Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=merge_page
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmldocbookfalsetrue
scroll-docbookeclipsehelptrue
scroll-eclipsehelpepubtrue
scroll-epubhtmltruefalse
Panel
titleSommaire

Table of Contents
stylenone

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 jaugée "étoile" permettant de voir quels processus sont les plus consommateurs.

Les processus sont accompagnés leur consommation CPU, ainsi que d’indicateurs en pourcentage ainsi qu'une jauge graphique pour facilement visualiser l'Average CPU % :

  • Total CPU % : utilisation cumulée du temps CPU sur l’ensemble des processeurs logiques. Cette valeur peut aller jusqu’à 100 % × nombre de processeurs logiques.
  • Average CPU % : moyenne de consommation CPU par cœur logique. Calculée ainsi : Average CPU % = Total CPU % / nombre de processeurs logiques. Elle correspond à la valeur affichée dans le Gestionnaire des tâches de Windows

La somme des mesures individuelles de l'Average CPU% de chaque processus peuvent différer de CPU usage, car ces mesures ne peuvent pas être prises à un seul instant T. Comme ces mesures sont volatiles, on peut alors parfois observer des différences.

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

Image Added

Panel

Image Removed

Paramétrage

Le check utilise une des lignes de commandes suivantes selon le modèle d'hôte utilisé :

Code Block
languagebash
themeEmacs
titleCommande 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$"
    --level "noAuthNoPriv"
Code Block
languagebash
themeEmacs
titleCommande 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$"
    --auth_protocol "$_HOSTLINUX-BY-SNMP__V3-PROTOCOL-AUTH$"
    --level "authNoPriv"
Code Block
languagebash
themeEmacs
titleCommande authPriv
$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

Excerpt Include
Load Average by SNMPv3 ( pour les modèles linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv ))
Load Average by SNMPv3 ( pour les modèles linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv ))
nopaneltrue

Données spécifiques pour ce check

DescriptionCRITIQUE
NomModifiable surUnitéValeur par défaut à l'installation de ShinkenValeur par défaut à l'installation de ShinkenDescription
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__CRIT
WARN

l'Hôte

( Onglet Données )

%90 80 %Définit le pourcentage d'utilisation du processeur à partir duquel le check passe en ATTENTION.
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 provenant du check pour ce modèle

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 provenant du check pour ce modèle

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

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

Résultat

Exemple

Panel

Image Removed

Interprétation

Statut

Il peut prendre quatre valeurs  OK / CRITIQUE / ATTENTION / INCONNU .

nopaneltrue

Résultat

Exemple

Panel

Image Added

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

Image Added 

Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :

Situation

Statut

Exemple

  • Le pourcentage d'utilisation du ou des CPU dépasse
  • LINUX-BY-SNMP__STATS-CPU__CRIT

CRITIQUE

Panel
Image Added
  • Le pourcentage d'utilisation du ou des CPU dépasse LINUX-BY-SNMP__STATS-CPU__WARN
    • Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :
Info

ATTENTION

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

Panel
Image Removed 
Le pourcentage d'utilisation du ou des CPU dépasse

Image Added

Situation

Statut

Exemple

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__

CRIT

CRITIQUE

Image Removed

  • Le pourcentage d'utilisation du ou des CPU dépasse LINUX-BY-SNMP__STATS-CPU__WARN

ATTENTION

Image Removed

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

MAX-PROCESS ), ainsi qu'une indication sur leur impact.

Métriques

Définition

Le résultat long contient un tableau qui liste les X processus les plus consommateurs ( le X correspond à la donnée
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 ).

LINUX-BY-SNMP__STATS-CPU_WARN

LINUX-BY-SNMP__STATS-CPU__

MAX-PROCESS ), ainsi qu'une indication sur leur impact.

Métriques

--

CRIT

cpu_all_usr%Retourne le pourcentage de temps CPU actif en espace utilisateur (tous CPU confondus) au cours de la dernière seconde.

--

--

Nom de la métriqueUnitéDescriptionSeuil d'avertissementSeuil critique
cpu_all_usagenice%Retourne le pourcentage de temps CPU actif temps CPU utilisé par les processus avec priorité ajustée (nice), tous CPU confondus, 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_usrsys%Retourne le pourcentage de temps CPU actif utilisé en espace utilisateur ( mode noyau (système), tous CPU confondus) , au cours de la dernière seconde. 

--

--

cpu_all_niceiowait%Retourne le pourcentage de temps CPU utilisé par les processus avec priorité ajustée (nicetemps 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_sysirq%Retourne le pourcentage de temps CPU utilisé en mode noyau (systèmeconsacré au traitement des interruptions matérielles (IRQ), tous CPU confondus, au cours de la dernière seconde. 

--

--

cpu_all_iowaitsoft%Retourne le pourcentage de temps CPU passé en attente d'opérations d'entrée/sortie (I/Oconsacré au traitement des interruptions logicielles (softirq), tous CPU confondus, au cours de la dernière seconde. 

--

--

cpu_all_irqsteal%Retourne le pourcentage de temps CPU consacré au traitement des interruptions matérielles (IRQ) "volé" par l'hyperviseur pour d'autres machines virtuelles, tous CPU confondus, au cours de la dernière seconde. 

--

--

cpu_all_softguest%Retourne le pourcentage de temps CPU consacré au traitement des interruptions logicielles (softirqCPU utilisé pour l'exécution de CPU virtuels (machines virtuelles invitées), tous CPU confondus, au cours de la dernière seconde. 

--

--

cpu_all_stealidle%Retourne le pourcentage de temps CPU "volé" par l'hyperviseur pour d'autres machines virtuelles inactif (sans charge), tous CPU confondus, au cours de la dernière seconde. 

--

--

cpu_all_guest( NUMERO_CPU )_usr%Retourne le pourcentage de temps CPU utilisé pour l'exécution de CPU virtuels (machines virtuelles invitées), tous CPU confondus, par les processus en espace utilisateur au cours de la dernière seconde. ----
cpu_( NUMERO_allCPU )_idlepriv%Retourne le pourcentage de temps CPU inactif (sans charge), tous CPU confondus, utilisé par les processus en mode noyau au cours de la dernière seconde. ----
cpu_( NUMERO_CPU )_usridle%Retourne le pourcentage de temps CPU utilisé par les processus en espace utilisateur inactif au cours de la dernière seconde.----
cpu_( NUMERO_CPU )_privirq%Retourne le pourcentage de temps CPU utilisé par les processus en mode noyau consacré au traitement des interruptions matérielles (périphériques physiques) au cours de la dernière seconde.----
cpu_( NUMERO_CPU )_idledpc%Retourne le pourcentage de temps CPU inactif 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.

--

--

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.

--

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

Image Added

Pré-requis et Erreurs fréquentes

Erreurs de configuration de l'hôte à superviser ( spécifique à ce check )

Excerpt
Section

Command 'mpstat' not found. Please ensure that the 'sysstat' package is installed.

Section

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.

Panel

Image RemovedImage Added

Section
RESOLUTION :
Section
Info

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

Section
Code Block
languagetextbash
themeEmacs
# Ubuntu, Debian
apt-get install sysstat

# Centos, Fedora, OpenSUSE
yum -y install sysstat

# Arch
pacman -Rs sysstat
Section

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

Section

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

Image RemovedImage Added

Panel

Image RemovedImage Added

Panel

Image RemovedImage Added

Panel

Image RemovedImage Added

Section
RESOLUTION :
Section
Info

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

Section

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

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

Rajoutez ces lignes si elles n'y sont pas :

Code Block
languagetextbash
themeEmacs
# 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"

Section

Il faudra ensuite redémarrer le serveur SNMP ( snmpd )

Code Block
languagetextbash
themeEmacs
service snmpd restart
# Ou bien en utilisant systemctl
systemctl restart snmpd

Excerpt Include
Erreurs du pack linux-by-SNMP__shinken
Erreurs du pack linux-by-SNMP__shinken
nopaneltrue

...