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
maxLevel4
stylenone

Contexte

Cette page a pour but de décrire la mise en place d'une configuration minimale SNMP pour un hôte supervisé par le pack linux-by-SNMP__shinken.

Procédure de configuration

La supervision d'un hôte par un Poller Shinken se fait par requête/réponse SNMP.

  • Sur le Poller shinken, la sonde SNMP installé est responsable d'envoyer les requêtes et de traiter les réponses.
  • Sur les Serveurs Linux à superviser, c'est l'agent SNMP qui est responsable de répondre aux requêtes.


Panel




Il est donc essentiel de correctement installer et configurer l'agent SNMP.

Installation de l'agent SNMP
Anchor
InstallationAgentSNMP
InstallationAgentSNMP

L'agent SNMP sous linux à installer provient du paquet net-snmp.

Il s'installe de la façon suivante :

Code Block
themeEmacs
# Ubuntu, Debian
apt-get install snmpd

# RHEL, Alma, Rocky, Centos, Fedora, OpenSUSE
yum -y install net-snmp

# Arch, Manjaro
pacman -Syy net-snmp

Vous pouvez également installer le paquet net-snmp-utils ( Utilitaires de gestion de réseau utilisant SNMP, issus du projet NET-SNMP ). L'installation de ce paquet est optionnelle pour le fonctionnement du pack.

Code Block
themeEmacs
# Ubuntu, Debian
apt-get install snmp

# RHEL, Alma, Rocky, Centos, Fedora, OpenSUSE
yum -y install net-snmp-utils


Une fois installé, vous pouvez activer le service snmpd :

Code Block
themeEmacs
systemctl enable snmpd
systemctl start snmpd


Configuration du firewall


Sur certains systèmes, le firewall peut bloquer SNMP.

  • Il faut donc autoriser le trafic sur le port 161/UDP utilisé par SNMP ( ici le port par défaut est utilisé, si vous avez configuré votre propre port, remplacez 161 par le vôtre ).

Info

Ces commandes sont à effectuer avec un utilisateur ayant les droits root.


Sur les systèmes utilisant ufw ( Ubuntu / Debian ) :

Code Block
themeEmacs
ufw allow 161/udp
ufw reload


Sur les systèmes utilisant firewalld ( RHEL, Alma, Rocky, Centos, Fedora, OpenSUSE ) :

Code Block
themeEmacs
firewall-cmd --permanent --add-service=snmp
firewall-cmd --reload

Configuration par script de l'agent

Le fichier principal de configuration SNMP est : "/etc/snmp/snmpd.conf".

Par précaution, faîtes une copie puis éditez le fichier de configuration :

Code Block
themeEmacs
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
vim /etc/snmp/snmpd.conf

Si vous n'avez pas déjà de configuration SNMP,

Configuration d'exemple  Anchorconfiguration_d_exempleconfiguration_d_exemple

Si vous n'avez jamais configuré le serveur SNMP ( vous avez le fichier par défaut ), vous pouvez utiliser la configuration suivante.

  • Copiez la configuration et coller là dans "/etc/snmp/snmpd.conf", en écrasant la configuration de base.
  • IMPORTANT : Cette configuration minimale pour un accès en lecture à l'agent SNMP supportant le v1, v2 ( v2c ) et v3 ( v3 ).
Code Block
themeEmacs
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
vim /etc/snmp/snmpd.conf
Code Block
themeConfluence
#       sec.name        source        community
com2sec notConfigUser   default       public
 
#       groupName       securityModel  securityName
group   notConfigGroup  v1             notConfigUser
group   notConfigGroup  v2c            notConfigUser
group   notConfigGroup  usm            shinken

#       name          incl/excl      subtree         mask(optional)
view    shinken       included       .1.3.6.1
 
#        group           context  sec.model  sec.level  prefix  read        write  notif
access   notConfigGroup  ""       any        noauth     exact   shinken      none   none

rouser shinken

# Inclus la configuration necessaire pour le bon fonctionnement des checks.
includeDir /etc/snmp/shinken

Cette configuration définit :

  • une communauté "public" à utiliser pour la connexion SNMP v1 et v2
  • un utilisateur "shinken" à utiliser pour la connexion SNMP v3
Warning

Ensuite, il est NÉCESSAIRE de suivre :

Configuration pas à pas Anchor ConfigurationPasAPas ConfigurationPasAPasSi vous avez déjà votre propre configuration SNMP personnalisée, ou que vous avez des besoins spécifiques, vous pouvez suivre la configuration pas à pas.
Vous trouverez également la documentation de la configuration snmpd ici.
Connexion SNMP v1 et v2

Pour éviter de faire manuellement la configuration, le pack met à disposition un script afin de configurer une hôte à superviser.

  • Le script permet d'écraser la configuration existante pour une configuration minimale en SNMP, v1, v2 et v3, et de faire fonctionner les checks du pack.
  • Le script est livré dans le dossier "supervised-host" dans le pack.

Info

Le script est à exécuter en local sur l'hôte à superviser.

  • Il faut alors télécharger le dossier "supervised-host" sur l'hôte, puis exécuter le script depuis l'hôte.
  • L'outil ne permet donc pas de déployer sur votre parc de machines.
    • Pour automatiser le déploiement, vous devez intégrer notre dossier "supervised-host" dans vos solutions de déploiement ( Virtual Box, Docker , Ansible, Terraform, AWS EC2, ... ).
Prérequis avant d'exécuter le script

Avant d'exécuter le script, veuillez

  • installer l'agent SNMP et ouvrir les ports SNMP en suivant ce chapitre
  • installer les dépendances sur les hôtes à superviser en suivant ce chapitre.


Warning

Avant de déployer le script de configuration sur plusieurs hôtes, il est fortement conseillé de :

  • Faire une installation manuelle sur UN hôte.
  • Appliquer le script de configuration sur UN hôte.
Exécuter le script

Le script va ÉCRASER ("/etc/snmp/snmpd.conf") pour la remplacer par la configuration minimale SNMP livré avec le pack.
Un fichier de sauvegarde ("/etc/snmp/snmpd.conf.bak") sera généré avant d'écraser la configuration par défaut.

Code Block
themeEmacs
./configure-host.sh --override-default-conf


N'hésitez pas à vous approprier la configuration avant d'exécuter le script, en modifiant le fichier "snmpd-template.conf" dans le dossier "supervised-host" afin que la configuration s'adapte à vos besoins.

Info

Vous pouvez ajouter les options suivantes en ligne de commande afin de configurer les paramètres de connexion SNMP v1 v2 et v3 :

optiondescriptionPour version SNMPValeur par défautVariable de modèle d'hôte correspondant
-cCommunautéV1 V2publicLINUX-BY-SNMP__V1V2-COMMUNITY
-aProtocole pour l'identificationV3SHALINUX-BY-SNMP__V3-PROTOCOL-AUTH
-AMot de passeV3shinkenpasswordLINUX-BY-SNMP__V3-PASSPHRASE-AUTH
-xProtocole de confidentialitéV3AESLINUX-BY-SNMP__V3-PROTOCOL-PRIV
-XClef de chiffrementV3shinkenencryptionkeyLINUX-BY-SNMP__V3-PASSPHRASE-PRIV
-uNom d'utilisateurV3shinkenLINUX-BY-SNMP__V3-LOGIN


Toutes les valeurs par défaut sont celles utilisées par les modèles de supervisions du pack.


Exemple :

Code Block
languagebash
themeEmacs
./configure-host.sh --override-default-conf -u my_new_user -a SHA -A my_new_password -c my_community
Configuration pour SELinux

Il est possible que votre hôte supervisée soit configuré avec SELinux et que certains checks du pack n'aient pas les permissions d'accéder aux ressources nécessaires.

Le script peut également être exécuté avec l'option '--configure-selinux' afin d'ajouter des règles de lecture au service SNMP ( snmpd ).

Code Block
languagebash
themeEmacs
./configure-host.sh --configure-selinux

Configuration manuelle de l'agent

Le fichier principal de configuration SNMP est : "/etc/snmp/snmpd.conf".

Par précaution, faîtes une copie puis éditez le fichier de configuration :

Code Block
themeEmacs
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
vim /etc/snmp/snmpd.conf


Si vous n'avez pas déjà de configuration SNMP,

Configuration d'exemple 
Anchor
configuration_d_exemple
configuration_d_exemple

Si vous n'avez jamais configuré le serveur SNMP ( vous avez le fichier par défaut ), vous pouvez utiliser la configuration suivante.

  • Copiez la configuration et coller là dans "/etc/snmp/snmpd.conf", en écrasant la configuration de base.
  • IMPORTANT : Cette configuration minimale pour un accès en lecture à l'agent SNMP supportant le v1, v2 ( v2c ) et v3 ( v3 ).

Code Block
themeEmacs
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
vim /etc/snmp/snmpd.conf
Code Block
themeConfluence
#       sec.name        source        community
com2sec notConfigUser   default       public
 
#       groupName       securityModel  securityName
group   notConfigGroup  v1 

La ligne suivante permet de créer une communauté, ici "public" et de l'associer à un nouveau nom de sécurité.

Code Block
themeConfluence
####
# First, map the community name "public" into a "security name"

#       sec.name       source        community
com2sec notConfigUser  default       public
Info

Par défaut, la communauté est définie à public dans les modèles de supervisions du pack.

  • Si vous modifiez vos paramètres, il faudra donc les modifier dans l'interface de configuration.
Info

Il est possible de changer le champ "source" pour restreindre l'accès à la communauté définit, pour une adresse ou une plage d'adresse.

Code Block
themeConfluence
#       sec.name       source                    	community
com2sec notConfigUser  my.host.com	  		        public    # Hostname
com2sec notConfigUser  192.0.0.123	  		        public	  # Address
com2sec notConfigUser  10.10.10.0/255.255.255.0		public    # IP/MASK

Ensuite, il est nécessaire de rattacher le nom de sécurité crée à un groupe, et à un modèle de sécurité.

Code Block
themeConfluence
#       groupName       securityModel  securityName
group   notConfigGroup  v1             notConfigUser
group   notConfigGroup  v2c            notConfigUser
Connexion SNMP v3 AnchorConnexionSNMPv3ConnexionSNMPv3

La connexion SNMP v3 nécessite la mise en place d'un utilisateur qui sera utilisé pour se connecter sur les hôtes supervisés.

Voici un exemple de création d'un utilisateur sur la machine supervisée qui sera interrogée par le pack en SNMP v3. 

Arrêtez le service SNMP pour pouvoir lancer la commande de création d'un utilisateur :

Code Block
themeEmacs
service snmpd stop

Créez vote utilisateur avec ses informations d'identification :

Code Block
themeEmacs
net-snmp-create-v3-user -ro -A shinkenpassword -a SHA -X shinkenencryptionkey -x AES shinken

Redémarrez le service SNMP :

Code Block
themeEmacs
service snmpd start

Test de connexion en local :

Code Block
themeEmacs
snmpwalk -u shinken -A shinkenpassword -a SHA -X shinkenencryptionkey -x AES -l authPriv 127.0.0.1 -v3

À noter qu'ici, nous avons défini :

  • shinken: nom de l'utilisateur côté serveur SNMPv3
  • shinkenpassword: mot de passe de l'utilisateur. Attention : il ne peut pas être plus petit que 8 caractères.
  • shinkenencryptionkey: clé de chiffrement pour cet utilisateur
  • AES: protocole de chiffrement de l'utilisateur
  • SHA: méthode de hashage des informations de l'utilisateur
Info

Ces paramètres sont par défaut dans le pack et seront utilisés dans les modèles de supervisions pour interroger les équipements supervisés. Si vous créez vos propres paramètres, il faudra donc les modifier dans l'interface de configuration.

Ensuite, il est nécessaire de rattacher l'utilisateur crée à un groupe, et à un modèle de sécurité.

Code Block
themeConfluence
#     groupName      securityModel securityName
group notConfigGroup usm           shinken
Info

usm signifie User Security Model et a été introduit et utilisé pour SNMP v3

Autorisations d'accès aux données

group   notConfigGroup  v2c            notConfigUser
group   notConfigGroup  usm            shinken

#       name          incl/excl      subtree         mask(optional)
view    shinken       included       .1.3.6.1
 
#        group           context  sec.model  sec.level  prefix  read        write  notif
access   notConfigGroup  ""       any        noauth     exact   shinken      none   none

rouser shinken

# Inclus la configuration necessaire pour le bon fonctionnement des checks.
includeDir /etc/snmp/shinken


Cette configuration définit :

  • une communauté "public" à utiliser pour la connexion SNMP v1 et v2
  • un utilisateur "shinken" à utiliser pour la connexion SNMP v3


Warning

Ensuite, il est NÉCESSAIRE de suivre :

Configuration pas à pas
Anchor
ConfigurationPasAPas
ConfigurationPasAPas

Si vous avez déjà votre propre configuration SNMP personnalisée, ou que vous avez des besoins spécifiques, vous pouvez suivre la configuration pas à pas.

Vous trouverez également la documentation de la configuration snmpd ici.

Connexion SNMP v1 et v2

La ligne suivante permet de créer une communauté, ici "public" et de l'associer à un nouveau nom de sécurité.

Code Block
themeConfluence
####
# First, map the community name "public" into a "security name"

#       sec.name       source        community
com2sec notConfigUser  default       public
Info

Par défaut, la communauté est définie à public dans les modèles de supervisions du pack.

  • Si vous modifiez vos paramètres, il faudra donc les modifier dans l'interface de configuration.
Info

Il est possible de changer le champ "source" pour restreindre l'accès à la communauté définit, pour une adresse ou une plage d'adresse

Quelle que soit la version de SNMP configuré, V1, V2 ou V3, il est essentiel de configurer l'accès aux données.

Une fois les utilisateurs, noms de sécurités, et groupes créés, il faut ajouter une vue pour leur donner accès aux données.

Code Block
themeConfluence
#       name          incl/excl      subtree         mask(optional)
view   shinken        included       .1.3.6.1
Info

Ici la vue "shinken" définit l'accès à l'arbre ".1.3.6.1". L'ensemble des OIDs qui commencent par ".1.3.6.1" sont donc inclus.

Pour finir, il faut donner l'accès à la vue au groupe définit plus tôt

.

Code Block
themeConfluence
#       sec.name 
group
      source     
context
  
sec.model
  
sec.level
  
prefix
  
read
       	community
com2sec 
write
notConfigUser  
notif access
my.host.com	  		 
notConfigGroup
  
""
     public  
any
  # Hostname
com2sec notConfigUser  192.0.0.123	  
noauth
		     
exact
   
shinken
public	  # Address
com2sec 
none none
Info

Ici seulement les droits de lectures ont été donnés au groupe "notConfigGroup"

Configuration nécessaire aux checks AnchorConfigurationNécessaireAuxChecks
notConfigUser  10.10.10.0/255.255.255.0		public    # IP/MASK


Ensuite, il est nécessaire de rattacher le nom de sécurité crée à un groupe, et à un modèle de sécurité

ConfigurationNécessaireAuxChecks

Les checks du pack linux-by-SNMP__shinken nécessitent la configuration ci-dessous pour fonctionner.

Code Block
themeConfluence
# linux-by-SNMP__shinken snmpd configuration file
# This file is essential for checks to work
# The file must be installed on hosts supervised by Shinken
# It must be included from the main snmpd configuration file

# check : Disks Usage by SNMP
includeAllDisks 10%

# check : Ntp Sync by SNMP
extend shinken__linux-by-snmp__ntp-sync__ntpq   /bin/sh -c "export LC_LANG=C && unset LANG && ntpq -p ; date +'%H:%M:%S.%3N'"

# check : Ntp Sync Chrony by SNMP
extend shinken__linux-by-snmp__ntp-sync-chrony__chronyc /bin/sh -c "export LC_LANG=C && unset LANG && chronyc tracking ; date +'%H:%M:%S.%3N'"

# 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"

Copiez cette configuration et enregistrez-la dans un fichier : "/etc/snmp/shinken/linux-by-SNMP__shinken.conf"

Code Block
themeEmacs
mkdir -p /etc/snmp/shinken/
vim /etc/snmp/shinken/linux-by-SNMP__shinken.conf

Il faut ensuite inclure ce fichier depuis la configuration principale snmpd.
Dans le fichier "/etc/snmp/snmpd.conf" :

Code Block
themeEmacs
vim /etc/snmp/snmpd.conf

Assurez vous d'avoir la ligne suivante, sinon ajoutez la :

Code Block
themeConfluence
includeDir /etc/snmp/shinken

Test en local

Sur votre machine locale, vous pouvez exécuter les commandes suivantes pour tester votre configuration SNMP.

Tester la configuration v2 :

Code Block
themeEmacs
snmpwalk localhost -v2c -c public  1.3.6.1.4.1 

Installations des dépendances

AnchorInstallationDesDependancesInstallationDesDependances

Certain checks nécessitent des dépendances sur l'hôte à superviser. Il faut les installer pour leur bon fonctionnement.

Stats CPU by SNMPvX

Le check CPU Stats SNMPvX utilise le paquet SysStat, nécessaire au bon fonctionnement du check. Il faut l'installer avec la commande suivante :

Code Block
themeEmacs
# Centos, Fedora, OpenSUSE
yum install sysstat

# Arch, Manjaro
pacman -Syy sysstat

# Debian, Ubuntu
apt-get install sysstat

Déploiement sur plusieurs hôtes à superviser

Pour éviter de faire manuellement la configuration, le pack met à disposition un script afin de configurer une hôte à superviser.

  • Le script permet d'écraser la configuration existante pour une configuration minimale en SNMP, v1, v2 et v3, et de faire fonctionner les checks du pack.
  • Le script est livré dans le dossier "supervised-host" dans le pack.
    Info

    Le script est à exécuter en local sur l'hôte à superviser.

    • Il faut alors télécharger le dossier "supervised-host" sur l'hôte, puis exécuter le script depuis l'hôte.
    • L'outil ne permet donc pas de déployer sur votre parc de machines.
      • Pour automatiser le déploiement, vous devez intégrer notre dossier "supervised-host" dans vos solutions de déploiement ( Virtual Box, Docker , Ansible, Terraform, AWS EC2, ... ).
    Prérequis avant d'exécuter le script

    Avant d'exécuter le script, veuillez

    • installer l'agent SNMP et ouvrir les ports SNMP en suivant ce chapitre
    • installer les dépendances sur les hôtes à superviser en suivant ce chapitre.
    Warning

    Avant de déployer le script de configuration sur plusieurs hôtes, il est fortement conseillé de :

    • Faire une installation manuelle sur UN hôte.
    • Appliquer le script de configuration sur UN hôte.
          groupName       securityModel  securityName
    group   notConfigGroup  v1             notConfigUser
    group   notConfigGroup  v2c            notConfigUser
    Connexion SNMP v3
    Anchor
    ConnexionSNMPv3
    ConnexionSNMPv3

    La connexion SNMP v3 nécessite la mise en place d'un utilisateur qui sera utilisé pour se connecter sur les hôtes supervisés.


    Voici un exemple de création d'un utilisateur sur la machine supervisée qui sera interrogée par le pack en SNMP v3. 


    Arrêtez le service SNMP pour pouvoir lancer la commande de création d'un utilisateur :

    Code Block
    themeEmacs
    service snmpd stop

    Créez vote utilisateur avec ses informations d'identification :

    Code Block
    themeEmacs
    net-snmp-create-v3-user -ro -A shinkenpassword -a SHA -X shinkenencryptionkey -x AES shinken

    Redémarrez le service SNMP :

    Code Block
    themeEmacs
    service snmpd start

    Test de connexion en local :

    Code Block
    themeEmacs
    snmpwalk -u shinken -A shinkenpassword -a SHA -X shinkenencryptionkey -x AES -l authPriv 127.0.0.1 -v3

    À noter qu'ici, nous avons défini :

    • shinken: nom de l'utilisateur côté serveur SNMPv3
    • shinkenpassword: mot de passe de l'utilisateur. Attention : il ne peut pas être plus petit que 8 caractères.
    • shinkenencryptionkey: clé de chiffrement pour cet utilisateur
    • AES: protocole de chiffrement de l'utilisateur
    • SHA: méthode de hashage des informations de l'utilisateur


    Info

    Ces paramètres sont par défaut dans le pack et seront utilisés dans les modèles de supervisions pour interroger les équipements supervisés. Si vous créez vos propres paramètres, il faudra donc les modifier dans l'interface de configuration.

    Ensuite, il est nécessaire de rattacher l'utilisateur crée à un groupe, et à un modèle de sécurité.

    Code Block
    themeConfluence
    #     groupName      securityModel securityName
    group notConfigGroup usm           shinken
    Info

    usm signifie User Security Model et a été introduit et utilisé pour SNMP v3

    Autorisations d'accès aux données

    Quelle que soit la version de SNMP configuré, V1, V2 ou V3, il est essentiel de configurer l'accès aux données.

    Une fois les utilisateurs, noms de sécurités, et groupes créés, il faut ajouter une vue pour leur donner accès aux données.

    Code Block
    themeConfluence
    #       name          incl/excl      subtree         mask(optional)
    view   shinken        included       .1.3.6.1
    Info

    Ici la vue "shinken" définit l'accès à l'arbre ".1.3.6.1". L'ensemble des OIDs qui commencent par ".1.3.6.1" sont donc inclus.


    Pour finir, il faut donner l'accès à la vue au groupe définit plus tôt.

    Code Block
    themeConfluence
    #        group           context  sec.model  sec.level  prefix  read        write  notif
    access   notConfigGroup  ""       any        noauth     exact   shinken     none   none
    Info

    Ici seulement les droits de lectures ont été donnés au groupe "notConfigGroup"

    Configuration nécessaire aux checks
    Anchor
    ConfigurationNécessaireAuxChecks
    ConfigurationNécessaireAuxChecks

    Les checks du pack linux-by-SNMP__shinken nécessitent la configuration ci-dessous pour fonctionner.

    Code Block
    themeConfluence
    # linux-by-SNMP__shinken snmpd configuration file
    # This file is essential for checks to work
    # The file must be installed on hosts supervised by Shinken
    # It must be included from the main snmpd configuration file
    
    # check : Disks Usage by SNMP
    includeAllDisks 10%
    
    # check : Ntp Sync by SNMP
    extend shinken__linux-by-snmp__ntp-sync__ntpq   /bin/sh -c "export LC_LANG=C && unset LANG && ntpq -p ; date +'%H:%M:%S.%3N'"
    
    # check : Ntp Sync Chrony by SNMP
    extend shinken__linux-by-snmp__ntp-sync-chrony__chronyc /bin/sh -c "export LC_LANG=C && unset LANG && chronyc tracking ; date +'%H:%M:%S.%3N'"
    
    # 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"
    
    


    Copiez cette configuration et enregistrez-la dans un fichier : "/etc/snmp/shinken/linux-by-SNMP__shinken.conf"

    Code Block
    themeEmacs
    mkdir -p /etc/snmp/shinken/
    vim /etc/snmp/shinken/linux-by-SNMP__shinken.conf


    Il faut ensuite inclure ce fichier depuis la configuration principale snmpd.
    Dans le fichier "/etc/snmp/snmpd.conf" :

    Code Block
    themeEmacs
    vim /etc/snmp/snmpd.conf

    Assurez vous d'avoir la ligne suivante, sinon ajoutez la :

    Code Block
    themeConfluence
    includeDir /etc/snmp/shinken

    Test en local

    Sur votre machine locale, vous pouvez exécuter les commandes suivantes pour tester votre configuration SNMP.

    Tester la configuration v2 :

    Code Block
    themeEmacs
    snmpwalk localhost -v2c -c public  1.3.6.1.4.1 

    Installations des dépendances

    Anchor
    InstallationDesDependances
    InstallationDesDependances

    Certain checks nécessitent des dépendances sur l'hôte à superviser. Il faut les installer pour leur bon fonctionnement.


    Stats CPU by SNMPvX

    Le check CPU Stats SNMPvX utilise le paquet SysStat, nécessaire au bon fonctionnement du check. Il faut l'installer avec la commande suivante :

    Code Block
    themeEmacs
    # Centos, Fedora, OpenSUSE
    yum install sysstat
    
    # Arch, Manjaro
    pacman -Syy sysstat
    
    # Debian, Ubuntu
    apt-get install sysstat
    Exécuter le script

    Le script va ÉCRASER ("/etc/snmp/snmpd.conf") pour la remplacer par la configuration minimale SNMP livré avec le pack.
    Un fichier de sauvegarde ("/etc/snmp/snmpd.conf.bak") sera généré avant d'écraser la configuration par défaut.

    Code Block
    themeEmacs
    ./configure-host.sh --override-default-conf
    N'hésitez pas à vous approprier la configuration avant d'exécuter le script, en modifiant le fichier "snmpd-template.conf" dans le dossier "supervised-host" afin que la configuration s'adapte à vos besoins.
    Info

    Vous pouvez ajouter les options suivantes en ligne de commande afin de configurer les paramètres de connexion SNMP v1 v2 et v3 :

    optiondescriptionPour version SNMPValeur par défautVariable de modèle d'hôte correspondant-cCommunautéV1 V2publicLINUX-BY-SNMP__V1V2-COMMUNITY-aProtocole pour l'identificationV3SHALINUX-BY-SNMP__V3-PROTOCOL-AUTH-AMot de passeV3shinkenpasswordLINUX-BY-SNMP__V3-PASSPHRASE-AUTH-xProtocole de confidentialitéV3AESLINUX-BY-SNMP__V3-PROTOCOL-PRIV-XClef de chiffrementV3shinkenencryptionkeyLINUX-BY-SNMP__V3-PASSPHRASE-PRIV-uNom d'utilisateurV3shinkenLINUX-BY-SNMP__V3-LOGIN

    Toutes les valeurs par défaut sont celles utilisées par les modèles de supervisions du pack.

    Exemple :

    Code Block
    languagebash
    themeEmacs
    ./configure-host.sh --override-default-conf -u my_new_user -a SHA -A my_new_password -c my_community
    Configuration pour SELinux

    Il est possible que votre hôte supervisée soit configuré avec SELinux et que certains checks du pack n'aient pas les permissions d'accéder aux ressources nécessaires.

    Le script peut également être exécuté avec l'option '--configure-selinux' afin d'ajouter des règles de lecture au service SNMP ( snmpd ).

    Code Block
    languagebash
    themeEmacs
    ./configure-host.sh --configure-selinux

    Erreurs lors de l'utilisation du pack

    Pour toute erreur survenue lors de l'exécution des checks, voir la page Erreurs communes.

    ...