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 :

Shinken Printer

Vus : 2142
Publié par Jeoffrey Bauvin : 48