Shinken : monitoring d'une imprimante Samsung
Shinken dispose d'un pack pour monitorer une imprimante HP, mais pas une imprimante Samsung... Du coup, voici un petit pack pour ajouter votre imprimante Samsung (CLP-610ND pour ma part) à votre outil de supervision préféré !
Voici les éléments que nous allons monitorer :
- Disponibilité de l'imprimante (ping)
- État des cartouches (cyan, magenta, noir, et jaune).
Dans notre exemple, on suppose que l'imprimante s'appelle myprinter, et que son IP est 192.168.2.10.
Étape 1 : check_samsung_cartridge
La première étape consiste à récupérer le script "check_samsung_cartridge", qui va vérifier l'état de nos cartouches.
Récupérez le fichier .tar.gz à sur Nagios Exchange, décompressez-le, et placez le fichier check_samsung_cartridge dans le dossier /usr/local/shinken/libexec, et fixez ses permissions :
mv check_samsung_cartridge /usr/local/shinken/libexec chown shinken:shinken /usr/local/shinken/libexec/check_samsung_cartridge
Puis, on teste notre script :
# ./check_samsung_cartridge -H myprinter -Q cyan -w 40 -c 10 OK: Toner Cyan (Bestell-Nr.: CLP-C600A) - Resttoner: 81%|CYAN=81%;40;10;;
Si vous avez à peu près le même résultat que moi, c'est que l'accès à votre imprimante est bien paramétré, sinon, revoyez l'accès SNMP.
En revanche, il y a une petite coquille dans le script fourni par Nagios Exchange. Éditez le script, et repérez la ligne 55 :
BLACK_LEVEL='1.3.6.1.2.1.43.11.1.1.9.1.2' #BLACK Level
Remplacez le dernier "2" à droite par "4", comme ceci :
BLACK_LEVEL='1.3.6.1.2.1.43.11.1.1.9.1.4' #BLACK Level
Comme le précise ce commentaire, le chemin SNMP pour la vérification du noir correspondait au magenta.
Étape 2 : le pack
Voici le petit pack que j'ai fait, en téléchargement à cette adresse (md5 : 2d3d7ddfff1c318c639532c2fa109515).
Décompressez le fichier tar.bz2, et placez le dossier dans /usr/local/shinken/etc/packs/printers/ afin d'avoir côte à côte le dossier "samsung" et le dossier "hp", si vous ne l'avez pas supprimé.
Faisons un petit tour d'horizon du contenu du dossier samsung :
- commands.cfg, qui contient les 4 commandes de vérification de l'état des cartouches (1 commande par couleur).
- templates.cfg, qui contient la définition de l'hôte.
- services/check_cartridge.cfg, qui contient les 4 services liés aux 4 commandes de vérification des couleurs.
- services/etat.cfg, qui contient la définition du service qui vérifie l'état de l'imprimante, via une commande ping.
Normalement, vous n'avez rien à modifier, sauf peut-être le fichier commands.cfg, qui contient notamment les 2 seuils d'alertes : critical et warning.
Étape 3 : définition de l'hôte
Maintenant que notre pack est créé et que notre commande fonctionne, on peut créer la définition de notre hôte : créez un fichier myprinter.cfg dans le dossier /usr/local/shinken/etc/hosts avec ce contenu :
define host{ name Myprinter host_name myprinter address 192.168.2.10 use printer-samsung }
Et voilà, c'est fini ! Maintenant, il ne reste plus qu'à vérifier notre configuration grâce à cette commande :
# /usr/local/shinken/bin/shinken-arbiter -v -c /usr/local/shinken/etc/nagios.cfg -c /usr/local/shinken/etc/shinken-specific.cfg ... [1348153167] Info : Things look okay - No serious problems were detected during the pre-flight check
Si le résultat est concluant, on peut redémarrer l'arbiter :
/etc/init.d/shinken-arbiter
On retourne sur notre la WebUI, et on constate que ça fonctionne :