Vous êtes ici:

Menu


Stacks Image 9724
Cette série d’articles rassemble tous les sujets autour du SNMP et Centreon. Au cours des années, Centreon a sans cesse évolué, pour vous proposer une gestion du SNMP la plus robuste qui soit. Bien-sûr, j'ai du adapter mes articles en fonction de ces évolutions. Je vous propose la lecture suivantes de mes articles :
   - Ci-dessous, un résumé sur la configuration SNMP sur Debian en SNMP V2 et V3 ainsi que les premiers paramétrages de centreon
   - Les traps SNMP, leurs configurations pour Debian et une explication du fonctionnement des traps SNMP avec SNMPTT et Centreon postérieur à 2.5x
   - Traps avec Centreon 2.4, configuration des traps avec la version Centreon 2.4x
   - Traps avec Centreon 2.5, configuration des traps avec la version Centreon 2.5x
   - Les traps avec CES et Centreon 2.5, configuration d'une architecture distribuée avec CES 3.x
Cet article va vous permettre d'appréhender les méandres de la configuration SNMP sur un serveur Debian. Nous verrons aussi les subtilités des traps SNMP avec la configuration de Centreon sur cette page. Je ne prétends être un Gourou du SNMP par contre vous aurez les bases pour allez plus loin dans vos configurations. Tout d'abord, il faudra bien paramétrer votre serveur de supervision autant pour les requêtes SNMP (polling) que les alertes SNMP (trap).

1 Configuration du SNMP V 2c sur un serveur Debian

Le protocole SNMP va nous permettre de superviser nos serveurs en étant le moins intrusif possible. Nous éviterons tout de même de mettre l'autorisation en modification, la lecture seule suffira. Si vous voulez une sécurité maximale, privilégiez la version 3 du snmp mais plus complexe à mettre en oeuvre. Nous utiliserons la version 2c dans un premier temps.
Si le SNMP n'est pas installé, saisissez la commande suivante :
apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl
Les librairies snmp pour Perl sont nécessaires si vous utilisez les plugins snmp de Nagios et Centreon.
apt-get install libnet-snmp-perl libsnmp-perl
Pour le fonctionnement du SNMP, modifiez le fichier /etc/snmp/snmpd.conf pour avoir :
Debian version 5
#       sec.name  source          community
#com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private

Debian version 7
agentAddress udp::161
rocommunity public 172.16.209.141
iquerySecName internalUser

on peut aussi mettre localhost pour n'autoriser seulement le serveur à s'interroger lui-même.
agentAddress udp:localhost:161
rocommunity public localhost
iquerySecName internalUser

Debian version 6
agentAddress udp::161
rocommunity public 172.16.209.141

on peut aussi mettre localhost pour n'autoriser seulement le serveur à s'interroger lui-même.
agentAddress udp:localhost:161
rocommunity public localhost

Pour éviter d’avoir un deamon snmpd trop bavard, (réduction des logs), modifier le fichier /etc/default/snmpd
# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-LS4d -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
l'option -LS4d règle le niveau d'information dans le fichier /var/log/syslog. 7 est le niveau d'information complet, mais dans la pratique on privilégie le niveau 4. Celui-ci ne remontant que les erreurs. /etc/snmpd.confOn peut ajouter des informations administratives comme ci-dessous
syscontact cedrictemple@cedrictemple.info
syslocation Europe/France/Paris/6 rue Beaubourg
relancer snmpd
service snmpd restart
Vérification du bon fonctionnement, saisir la ligne suivante
snmpwalk -c public -v 2c 172.16.209.141
ou localhost comme indiqué précédemment
snmpwalk -c public -v 2c localhost
SI vous avez saisi l'adresse IP, saisir cette ligne.
snmpwalk -c public -v 2c 172.16.209.141
Vous devez obtenir une très longue liste d'OID SNMP. Seul bémol, les OID de type HrSWInstalled (.1.3.6.1.2.1.25.6) ne sont pas pris en compte. C'est gênant pour certains plugins fournis par Centreon. Je n'ai pas trouvé la solution pour pallier ce problème.
 

2 Configuration du SNMP V 3 sur un serveur Debian

Le gros défaut du SNMP V2c est le manque de cryptage et l'absence d'authentification par mot de passe. Je vous propose une initiation au SNMP V3 avec une Debian. Tout d'abord, ajoutez le pré requis comme ceci :
apt-get install libcrypt-des-ede3-perl libcrypt-rijndael-perl libsnmp-dev
Le paquet libcrypt-des-ede3-perl sera nécessaire pour l’algorithme de cryptage MD5/DES. Le paquet libcrypt-rijndael-perl sera nécessaire pour l’algorithme de cryptage SHA/AES. Et enfin le paquet libsnmp-dev sera néssaire pour la commande net-snmp-config. Nous devons ajouter, maintenant, un utilisateur SNMP. Nous aurons besoin d'un mot de passe d'authentification (authpassphrase) et d'une clé de chiffrement des trames (privpassphrase). Ce mot de passe et cette clé ont respectivement un algorithme de chiffrement MD5/SHA et AES/AES comme ci-dessous :
user : netadmin
authpassphrase : azerty98
algorithme : MD5/SHA
privpassphrase : supervision
algorithme : DES/AES
Pour configurer cet utilisateur, il est fortement conseillé d'arrêter le service snmp.
Arrêtez le service SNMP
service snmpd stop

pour le coupe MD5/DES
net-snmp-config --create-snmpv3-user -ro -a azerty98 -x supervision -X DES -A MD5 netadmin

pour le coupe SHA/AES
net-snmp-config --create-snmpv3-user -ro -a maison72 -x supervision -X AES -A SHA netadmin

Démarrez le service SNMP
service snmpd start
C'est terminé, simple non ? mais c'est une configuration très basique. Il manque la gestion des ACL et bien d'autres chose encore. Pour l'instant, vérifions que nous avons accès à la mib. Vérifions si le protocole SNMP (UDP 161) écoute bien toutes les adresses IP en éditant le fichier /etc/snmp/snmpd.conf.
agentAddress  udp::161
Pour parcourir la mib, on utilisera la commande snmpwalk avec les paramètres suivants
Pour le couple MD5/DES
snmpwalk -v 3 -u netadmin -l authPriv -a MD5 -A azerty98 -x DES -X supervision 127.0.0.1

Pour le couple SHA/AES
snmpwalk -v 3 -u netadmin -l authPriv -a SHA -A azerty98 -x AES -X supervision 127.0.0.1
Et pour obtenir une valeur de la mib tel que le uptime du serveur, utilisez cette commande :
snmpget -v 3 -u netadmin -l authPriv -a MD5 -A azerty98 -x DES -X supervision 172.16.209.141 sysUpTime.0
Résultat
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (43805) 0:07:18.05
Stacks Image 10412
Erreur d'interprétation de la mib
Le résultat de la commande précédente peut aboutir à un échec comme ci-dessous.
sysUpTime.0: Unknown Object Identifier (Sub-id not found: (top) -> sysUpTime)

Ce message indique que le service SNMP ne trouve pas l'objet sysUpTime car il ne connait pas la table de correspondance entre ce mot clé et les objets OID de la mib. Il faut alors utiliser la numérotation pointée comme ceci.
snmpget -v 3 -u netadmin -l authPriv -a MD5 -A azerty98 -x DES -X supervision 172.16.209.51 .1.3.6.1.2.1.1.3.0

Cette commande vous retournera la valeur de l'OID
iso.3.6.1.2.1.1.3.0 = Timeticks: (140050) 0:23:20.50

Je vous conseille fortement d'installer le paquet snmp-mibs-downloader contenant le dictionnnaire des mibs.

3 Configuration du SNMP avec Centreon

3.1 SNMP avec Centreon < 2.5

3.1.a Options SNMP

Modifier éventuellement les divers paramètres dans le menu Administration / Options / SNMP
Stacks Image 10457
Je n'ai pas trouvé la fonctionnalité des paramètres snmpd car leurs modifications n'entraînent pas la modification du SNMP sur le serveur. Par acquis de conscience, j'ai modifié le paramètre Perl library directory.

3.1.a Génération des Traps pour Centreon

Par contre, action très importante, il faut générer les fichiers permettant la remontée des Traps SNMP vers Centreon. Sélectionnez le menu Configuration / Nagios / Snmp traps
Stacks Image 10509
Cocher l'option Generate configuration files for SNMP Traps et cliquez sur Generate.
Stacks Image 10530
Le résultat indique la génération de 214 traps pour 6 constructeurs. N'oubliez pas de générer cette configuration à chaque fois que vous rajoutez de nouvelles configurations.

Sources :

Le bloc de Cédric Temple, configuration avancée de SNMP sur Linux : https://blog.cedrictemple.net/341-configuration-avancee-de-snmp-sur-linux-snmpv3
Le blog de Noobunbox, configurez SNMP V3 sous Debian : https://www.noobunbox.net/serveur/monitoring/configurer-snmp-v3-sous-debian/
comments powered by Disqus
 Vous êtes ici: