Notifications Twitter pour Nagios

Date: 24/11/2008 | Catégories: Open-source,Web | Tags: ,

---

Mise à jour:
Une nouvelle version de ce billet est disponible ici

---

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 twit-it

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 😉

Partager ce billet