check_by_ssh_wrapper
En essayant de mutualiser au maximum la configuration des services Nagios (ou Shinken dans mon cas) et la configuration NRPE des machines supervisées, il arrive parfois qu’une vérification renvoie trop de données pour NRPE ou qu’on doive accéder à une machine en DMZ voir externe dont on ne peut pas laisser le port NRPE ouvert.
Sur un des parcs que je supervise, alors que mes configurations NRPE permettent de vérifier (entre autre) l’espace disque disponible sur tous les systèmes de fichiers locaux, je me suis retrouvé avec un NAS en DMZ contenant de nombreux systèmes de fichiers (un volume LVM par partage). Le volume de données renvoyé, avec les données de performances dépassait la taille acceptée par NRPE (1 ko de mémoire). Plutôt que de déporter la ligne de commande NRPE vers la configuration Shinken et me retrouver à devoir gérer les problèmes d’échapements, de droits et ainsi complexifier ma conf Shinken, j’ai écrit ce petit script qui prend via check_by_ssh les mêmes paramètres que check_nrpe et lit la configuration NRPe sur le client afin de valider la commande et l’exécuter.