Monitoring d'une infrastructure informatique Linux sur base d'outils libres( Télécharger le fichier original )par Geoffrey Lemaire Haute Ecole Rennequin Sualem (Belgique) - Bachelier en Informatique et Systèmes (finalité Réseaux et Télécommunications) 2003 |
Chapitre 10Utilisation d'un script à distance via SNMP10 Utilisation de SNMP pour lancer un script à distance Le protocole SNMP permet d'obtenir un nombre incroyable d'informations sur l'hôte distant. Malheureusement, on ne peut pas obtenir toutes les informations que l'on souhaite... Cela peut s'arranger en ajoutant des informations simplement dans la MIB. 10.1 Des plugins supplémentaires Dans notre cas, j'utilise deux PlugIns. Il est nécessaire de les placer soi-même sur les hôtes distants. Le premier Plugin est check_connections.pl. Il fait partie des PlugIns officiels de Nagios. Il permet d'obtenir le nombre de connections TCP ouverts pour un processus et/ou un utilisateur. Le deuxième Plugin est check_diskio. Il est téléchargeable ici : LIEN : http://www.id.ethz.ch/people/allid list/corti/gnu software Il permet de connaître le nombre de secteurs lus par seconde. Les PlugIns peuvent être placés où on le souhaite sur l'hôte. Dans notre cas, je les ai placé dans /usr/lib(64)/nagios/plugins. 10.2 La configuration de l'agent SNMP On peut placer les lignes suivantes où on le souhaite. Mais par rapport aux commentaires déjà présents dans le fichier, j'ai préféré mettre les lignes qui suivent après les commentaires sur : # Executables/scripts exec 1.3.6.1.4.1.17259.100 ldaptcpconn-check /usr/lib64/nagios/plugins/check_connections.pl -C ns-slapd -w 500 -c 800 exec 1.3.6.1.4.1.17259.101 DiskIOsda /usr/lib64/nagios/plugins/check_diskio -w 100 -c 200 -d sda 10.3 Définition de la commande et des services sur le serveur Bien entendu, il faut définir la commande et le service respectif aux lignes précédentes. define command( command_name check_snmp command_line $USER1$/check_snmp -H $HOSTADDRESS$ -o $ARG1$ -r "OK" $USER4$ } define service( use ldap-service host _name mxisrv1 service_description LDAP Connections check_command check_snmp!1.3.6.1 .4.1 .1 7259.100.1 01 .1 } define service{ use host-service host _name mx1srv1,mx1srv2,mx1srv3,mx1srv7,mx1srv9,mxisrv1,mxisrv2 service_description DiskIOsda check_command check_snmp!1.3.6.1 .4.1 .1 7259.101.1 01 .1 I 10.4 Le pourquoi et le comment ? Certaines informations que l'on souhaite obtenir de la machine nécessitent donc le lancement d'un Plugin à distance. Seulement, il serait absurde que le Plugin tourne 24h/7j. Le protocole SNMP permet d'exécuter à distance des scripts notamment. Ce qui est notre cas avec les deux PlugIns plus haut. Lorsque Nagios fera une requête SNMP sur l'OID 1.3.6.1.4.1.17259.100.101.1 sur mxisrv1 (par exemple), le daemon snmpd va interpréter ce message, va se renseigner dans sa MIB pour obtenir les informations demandées. Pour les obtenir, il va exécuter le Plugin adéquat. Ce Plugin va renvoyer des informations que le daemon va capturer et renvoyer au serveur de monitoring qui lui les analysera et réagira en fonction. |
|