samedi 8 mai 2010

Utilisation de pnp4nagios

pnp4nagios est un ensemble de script perl, PHP et C qui vont vous permettre de récupérer les métriques de nagios (les perfdata) dans des bases RRD. Ces bases vous permettront ensuite de générer des graphiques à l'aide d'une petite interface Web. La force de cet outil est de s'appuyer sur un outil simple et éprouvé : les outils RRD.

Il peut se configurer de trois manières différentes (si on compte la variante à base de NCPD) :
- mode synchrone. Il s'agit du mode le plus simple à mettre en oeuvre.
- mode asynchrone/nagios. Ici, nagios va écrire les perfdatas dans un fichier avant d'être traité par lot à interval régulier par un script pnp4nagios.
- mode asynchrone/NCPD. Ce mode est proche du précédent à la différence que la gestion du traitement se fera à l'aide d'un démon dédié à ce travail.

Comme toujours, le mode de fonctionnement dépendra du nombre d'élément que vous souhaitez surveiller. De mon point de vue, une petite infrastructure (inférieur à un ou deux milliers de services) pourra très bien fonctionner en mode synchrone. Au delà, il faudra se poser la question de mettre en place un mode asynchrone. Sachez que le premier mode asynchrone viendra bloquer nagios pendant les moments d'import des données. Sur très grosse infrastructure avec des surveillances distribués, il sera donc préférable de choisir le dernier mode.

Pour ma part, n'étant pas encore obligé de faire de la surveillance décentralisé (à l'aide de DNX par exemple), j'ai choisi la seconde solution pour son bon compromis performance/complexité. En effet, le dernier mode entrainte forcément l'ajout d'un démon supplémentaire.

Bref, après une petite période de test, je suis en train de commencer à déployer cet outil sur notre infrastructure. J'étudie également l'importation des anciens résultats de notre base ndo/MySQL afin de disposer dès le départ de l'ancien historique. J'ai déjà écrit les scripts d'export de la base et je suis en train de peaufiner les détails. Dès que j'aurais terminé cette petite migration, je viendrai vous en faire part ici même.