Vous êtes sur la page 1sur 8

TP 

: SNMP et Nagios
But du TP :
Dans le cadre de ce TP, nous verrons comment utiliser SNMP avec nagios pour
superviser les équipements informatiques disposant d’un agent SNMP.

Introduction :
SNMP (Simple Network Management Protocol) est un protocole qui permet aux
administrateurs réseau de gérer les différents équipements et de diagnostiquer les
problèmes plus rapidement.
Ce protocole fonctionne avec un superviseur (Serveur de supervision) dont Nagios et
des agents qui sont les équipements que les administrateurs veulent superviser. Toutes
les informations sont enregistrées dans une base de donnée nommée MIB
(Management Information Base).
La procédure peut de mise en œuvre peut se résumer en 4 étapes :
- Activer l’agent SNMP dans l’équipement à superviser et le configurer en indiquant
notamment :
Read Community
Set Community
System Name
System Location
System Contact
...
- A partir d’un poste client Linux par exemple, utiliser les commandes snmp
(snmpwalk) pour récupérer la MIB de l’équipement à superviser
- Récupérer les OID des paramètres que l’on désire superviser
- Configurer Nagios pour leurs prise en charge en utilisant le plugin check_snmp

Installation de snmp sous Linux


(SNMP peut être installé au niveau du poste Xubuntu, du serveur Ubuntu et du serveur Nagios)
Il serait intéressant d’installer un serveur snmp (Agent SNMP) au niveau de système
Linux pour pouvoir superviser divers paramètres tels :
Les températures des processeurs
la vitesse des différents ventilateurs (Fan)
...
Pour cela il faut installer le serveur snmp : snmpd. On installera aussi le paquet snmp
pour installer les commandes nécessaires à la communication avec l’agent SNMP
sudo apt install snmpd snmp
pour vérifier si le service snmpd est fonctionnel :
service snmpd status
Cette commande vous affichera alors :

TP 5 - 1
root@ServeurNagios:~# service snmpd status
● snmpd.service - LSB: SNMP agents
Loaded: loaded (/etc/init.d/snmpd; bad; vendor preset: enabled)
Active: active (running) since Thu 2017-09-21 17:05:45 CET; 5min ago
Docs: man:systemd-sysv-generator(8)
CGroup: /system.slice/snmpd.service
└─6377 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux mteTrigger mteTriggerConf -p
/run/snmpd.pid

Sep 21 17:05:45 ServeurNagios systemd[1]: Starting LSB: SNMP agents...


Sep 21 17:05:45 ServeurNagios snmpd[6362]: * Starting SNMP services:
Sep 21 17:05:45 ServeurNagios snmpd[6369]: Created directory: /var/lib/snmp/mib_indexes
Sep 21 17:05:45 ServeurNagios snmpd[6369]: /etc/snmp/snmpd.conf: line 145: Warning: Unknown token:
defaultMonitors.
Sep 21 17:05:45 ServeurNagios snmpd[6369]: /etc/snmp/snmpd.conf: line 147: Warning: Unknown token:
linkUpDownNotifications.
Sep 21 17:05:45 ServeurNagios snmpd[6369]: Turning on AgentX master support.
Sep 21 17:05:45 ServeurNagios snmpd[6369]: Created directory: /var/agentx
Sep 21 17:05:45 ServeurNagios snmpd[6377]: NET-SNMP version 5.7.3
Sep 21 17:05:45 ServeurNagios systemd[1]: Started LSB: SNMP agents.
Les fichiers de configuration de snmp sont dans /etc/snmp :
snmp.conf et snmpd.conf
pour configurer le comportement de l’agent snmp éditez le fichier snmpd.conf
sudo nano /etc/snmp/snmpd.conf
Pour pouvoir interroger l’agent SNMP à distance, il faut activer la directive :
agentAddress udp:161,udp6:[::1]:161
Changez aussi le :
sysLocation : « Bureau Formation et Stages »
Pour permettre l’accès à une branche de la MIB :
view systemonly included .1

Interrogation (récupération) de la MIB


Pour récupérer (afficher) la MIB du système, nous utiliserons la commande
snmpwalk : snmpwalk -v1 -c public AdresseIpDeLequipement .1
(ici vous pouvez utiliser la redirection > pour récupérer la MIB dans un fichier)
Au niveau de chacun des système Linux, exécuter la commande suivante pour
afficher la MIB :
snmpwalk -v1 -c public localhost .1
Quel est l’OID des variables qui stock :
Le HOSTNAME : ….…………………………………………………………………..………………………………………………………………….
Le Timeticks : ……...…………………………………………………………………..………………………………………………………………….
Le contact (sysContact): …………………………………………………………….………………………………………………………………….
l’emplacement (sysLocation) …………………………………………………….………………………………………………………………….
Utilisez la commande snmpget pour récupérer ces variables individuellement
snmpget -v1 -c public ……………………………………………………………………………………………………………………………………………………
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….

TP 5 - 2
utilisation du plugin check_snmp sous nagios :
Dans un premier temps le plugin check_snmp peut être utiliser en ligne pour faire des
tests : Ce plugin n’étant pas disponible dans la version Nagios installée, nous
procéderons à son installation en installant le paquet nagios-plugins :
sudo apt install nagios-plugins
le plugin se retouvera alors dans le répertoire /usr/lib/nagios/plugins/ et peut être
utilisé en ligne de commande pour interroger l’agent snmp installé sur localhost :
Par exemple pour avoir le HOSTNAME,
/usr/lib/nagios/plugins/check_snmp -H localhost -c public -o .1.3.6.1.2.1.1.5.0
……………………………………………..……………………………………………………………………………………………………………………………………………………………….

Comme réponse, vous aurez : SNMP OK – ServeurNagios

Ajouter l’affichage de la localisation (sysLocation) par Nagios


Pour utiliser check_snmp à partir de Nagios,
- copier le plugin check_snmp dans /usr/local/nagios/libexec
- changer le propriétaire du plugin (de root à nagios)
- ajouter le service dans le fichier de configuration adéquat
sudo cp /usr/lib/nagios/plugins/check_snmp /usr/local/nagios/libexec/check_snmp
sudo chown nagios:nagios /usr/local/nagios/libexec/check_snmp
modifier le fichier de configuration du ServeurNagios (par exemple)
nano /usr/local/nagios/etc/objects/localhost.cfg
Ajoutez la définition de service suivante :
define service{
use generic-service ; Inherit values from a template
host_name ServeurNagios
service_description Localisation
check_command check_snmp!-C public -o .1.3.6.1.2.1.1.6.0
}
Une fois le fichier de configuration sauvegardé, Vérifiez qu’il n’y a pas d’erreurs de
configuration :
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Et relancez Nagios :
sudo service nagios restart
Nagios devrait alors afficher la localisation du serveur Nagios:

TP 5 - 3
SNMP sous Windows
L’installation d’un agent SNMP sous Windows se fait en allant dans
« Programmes et fonctionnalité » (Windows 7) puis « Activer ou
désactiver des fonctionnalités Windows ».
S’affichera alors la boite de dialogue ci-dessous, et la il suffit d’activer
le protocole SNMP.

Dans le cas de Windows XP, l’installation de l’agent de supervision SNMP se fait en allant dans le
Panneau de configuration, Ajouter ou supprimer des composant Windows, Outils de gestion et
d’analyse puis SNMP.

TP 5 - 4
La configuration de SNMP se fait via l’interface de Gestion de l’ordinateur / Services et
applications / Services (voir la figure ci-dessous)
Dans la liste des services, on sélectionne Service SNMP, bouton droit puis priorités.

Dans la boite de dialogue qui


s’affiche alors (figure ci-contre), on
configure :
• le contact et l’emplacement
dans l’onglet Agent. Cochez aussi
toutes les cases Service.
• Le nom des communautés
acceptées ainsi que les hôtes
autorisés à se connecter dans
l’onglet Sécurité (figure ci-dessous)

TP 5 - 5
On pourra aussi configurer la destination des interruptions (Traps) dans l’onglet Interruptions

TP 5 - 6
Interrogation (récupération) de la MIB
Comme pour les systèmes Linux, pour récupérer la MIB du système, nous utiliserons
à partir d’un système Linux, la commande :

snmpwalk -v1 -c public 192.168.1.v .1


où 192.168.1.v est l’adresse du poste Windows à superviser
Quel est l’OID des variables qui stock :
Le HOSTNAME : ….…………………………………………………………………..………………………………………………………………….
Le Timeticks : ……...…………………………………………………………………..………………………………………………………………….
Le contact (sysContact): …………………………………………………………….………………………………………………………………….
l’emplacement (sysLocation) …………………………………………………….………………………………………………………………….

utilisation du plugin check_snmp sous nagios :


Commedans le cas des système Linux, pour récupérer le HOSTNAME du poste
Windows :
/usr/lib/nagios/plugins/check_snmp -H 192.168.1.v -c public -o .1.3.6.1.2.1.1.5.0

Ajouter l’affichage de la localisation (sysLocation) par Nagios pour le poste


Windows 7
modifier le fichier de configuration du ServeurNagios :
nano /usr/local/nagios/etc/objects/windows.cfg
Ajoutez la définition de service suivante :
define service{
use generic-service ;
host_name W7_B120
service_description Localisation
check_command check_snmp!-C public -o .1.3.6.1.2.1.1.6.0
}
Une fois le fichier de configuration sauvegardé, Vérifiez qu’il n’y a pas d’erreurs de
configuration :
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Et relancez Nagios :
sudo service nagios restart
Nagios devrait alors afficher la localisation du poste Windows:

TP 5 - 7
Notes : ……………………………………………..…………………………………………………………………………………………………………………………………………
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….
……………………………………………..……………………………………………………………………………………………………………………………………………………………….

TP 5 - 8

Vous aimerez peut-être aussi