Créer un objet SNMP personnalisé avec NET-SNMP-EXTEND-MIB

L’objectif de ce tutoriel est de créer une sonde SNMP personnalisée sur un Ubuntu 14.04 LTS exécutant SNMPD.

NET-SNMP-EXTEND-MIB

NET-SNMP-EXTEND-MIB est une MIB permettant de créer de nouvelles entrées pour exécuter du code arbitraire: Bash, Perl, etc.

Préparation

Le serveur SNMP SNMPD va nous permettre de créer ces sondes directement en quelques lignes dans /etc/snmp/snmpd.conf.

sudo apt-get install snmpd

Sous Debian / Ubuntu, il est tout d’abord nécessaire d’installer le MIB NET-SNMP-EXTEND-MIB à l’aide du package snmp-mibs-downloader:

sudo apt-get install snmp-mibs-downloader

Création d’un objet

Dans /etc/snmp/snmpd.conf, ajoutez la ligne suivante pour chaque script à exécuter:

Pour exécuter directement une commande Shell:

extend-sh nom-de-la-sonde Commande Shell 

Exemple:

extend-sh inodes-free df -i /dev/sda1 | awk 'NR==2 {print $2}'

Pour passer via un script externe:

extend nom-de-la-sonde chemin-vers-le-script arguments

Exemple:

extend inodes-free sh /usr/local/bin/inodes-free.sh

Puis recharger la configuration:

sudo service snmpd reload

Récupérer l’OID

A l’aide de snmpwalk, regardons que l’entrée existe bien en parcourant la table NET-SNMP-EXTEND-MIB::nsExtendOutput1Table:

snmpwalk -v 2c -c public localhost NET-SNMP-EXTEND-MIB::nsExtendOutput1Table

Résultat attendu:

NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."inodes-free" = STRING: 62248
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."inodes-free" = STRING: 62248
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."inodes-free" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."inodes-free" = INTEGER: 0

Utiliser l’argument -On pour récupérer l’OID numérique correspondant:

snmpwalk -v 2c -c public -On localhost NET-SNMP-EXTEND-MIB::nsExtendOutput1Table

Résultat attendu:

.1.3.6.1.4.1.8072.1.3.2.3.1.1.11.105.110.111.100.101.115.45.102.114.101.101 = STRING: 62248
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.105.110.111.100.101.115.45.102.114.101.101 = STRING: 62248
.1.3.6.1.4.1.8072.1.3.2.3.1.3.11.105.110.111.100.101.115.45.102.114.101.101 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.4.11.105.110.111.100.101.115.45.102.114.101.101 = INTEGER: 0

On utilisera donc ici dans notre logiciel de monitoring préféré l’OID .1.3.6.1.4.1.8072.1.3.2.3.1.1.11.105.110.111.100.101.115.45.102.114.101.101.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s