Il n’existe pas de limite pour améliorer Nagios, l’outil de supervision open-source. Au niveau des notifications (messages envoyés sur des alertes), il est possible d’utiliser les mails, les SMS, les messageries instantanées… (je vous conseille la lecture du très bon livre “Nagios au coeur de la supervision opensource” sur le sujet).
Nous allons dans ce billet apporter une pincée de Web 2.0 dans cet édifice en proposant une notification via Twitter.
Les avantages de cette solution:
- facilité de consultation des notifcations à partir du Web et/ou de n’importe quel client Twitter
- facilité du partage des notifications entre administrateurs (il suffit de s’abonner au Twitter en question)
- les messages Twitter sont bien adapté aux notifications Nagios (messages courts, possibilité de lien hypertexte vers le serveur Nagios….)
Les inconveniants:
- disponibilité du service Twitter (c’est pas son fort…)
- confidentialité (bien que l’on puisse rendre son Twitter privé)
Avant de commencer…
Il faut bien sûr avoir un compte Twitter dédié pour ce besoin. Vous pouvez le créer en vous rendant sur cette page.
A ce stade et avant de continuer, assurez-vous que vous avez bien noté votre login et password Twitter.
Configuration de Nagios
On doit éditer le fichier de commandes (/usr/local/nagios/etc/objects/commands.cfg) et y ajouter la section suivante:
define command {
command_name twit-it
command_line /usr/bin/curl –connect-timeout 30 –max-time 60 -u YOUR_TWITTER_BOT_USER:YOUR_TWITTER_BOT_PASSWORD -d status=”$SERVICEDESC$@$HOSTNAME$ is $SERVICESTATE$ ** $SERVICEOUTPUT$ ** Date: $SHORTDATETIME$” http://twitter.com/statuses/update.xml
}
PS: notez bien qu’il y a deux - avant
Ensuite, il faut modifier un des champs suivants dans la section contact du fichier /usr/local/nagios/etc/objects/templates.cfg:
service_notification_commands alarma-twitter
ou
host_notification_commands alarma-twitter
On teste le tout
Il ne reste plus qu’a tester vos fichiers de configuration:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
et à relancer Nagios:
service nagios restart
ou
/etc/init.d/nagios restart
A chaque notification, un nouveau message devrait apparaître dans votre Twitter