Si vous suivez régulièrement ce blog, vous savez que Nagios et Cacti sont deux logiciels libres que je suis tout particulièrement de part mes activités professionnelles. Je cherchais depuis un moment un moyen simple et efficace pour pouvoir accéder aux graphes de Cacti à partir de l’interface de Nagios.
Ne trouvant rien de concluent sur le Web, j’ai décidé de coder un petit script PHP, nommé CactiPlug.php, permettant d’ajouter cette fonction à Nagios.
Concrètement cela donne quoi ?
Et bien la possibilité d’ajouter automatiquement un lien vers Cacti depuis l’interface Web de Nagios. Il suffit donc juste de cliquer sur un bouton (
Comment marche le hack CactiPlug.php ?
On utilise la macro “action_url” dans la définition du host (ou mieux du template associé au host) que l’on défini avec la valeur suivante:
…
action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS
…
Quand on clique sur le bouton (
Installation de cactiPlug.php
L’installation donnée ci-dessous a été validé avec Nagios 3.02 et Cacti 0.8.7.
La première chose à faire est de télécharger cactiplug-0.1.tgz.
Puis ensuite de saisir les commandes suivantes:
# tar zxvf cactiplug-0.1.tgz
# mv cactiplug /usr/local/nagios/share
# chown -R nagios:nagios /usr/local/nagios/share/cactiplug
Ensuite il faut configurer Nagios pour qu’il prenne en compte le plugin. Le plus simple est d’ajouter la ligne suivante dans le template generic_host du fichier template.cfg (voir ici vous êtes perdu dans les fichiers de conf de Nagios).
define host{
name generic-host
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
notification_period 24×7
register 0
action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS
}
Configuration du plugin
La dernière étape consiste à éditer le fichier /usr/local/nagios/share/cactiplug/cactiplug.php afin d’y saisir les informations relatives à votre base de données Cacti (host, nom de la base, login et password).
Ensuite, il ne reste plus qu’a relancer Nagios:
# service nagios restart
ou
# sudo /etc/init.d/nagios restart
J’attend vos retours si vous testez ce plugin.