Kleine und große Linux AHAs
Ein bisschen grün, ein bisschen gelb und möglichst wenig rot – Nagios per Jabber live und in Farbe [fixed]
Es gibt mittlerweile doch so einige Beiträge im Internet, in denen beschrieben ist wie man Nagios Notifications per Jabber (XMPP) versendet. Was mich dabei immer ein wenig gestört hat war die Unübersichtlichkeit der Meldungen. Prinzipiell wurde die Konfiguration nur auf Jabber umgebogen – auf die Möglichkeiten die sich dadurch vielleicht ergeben wurde nicht eingegangen. Die Variante von der ich hier spreche hätte auch schon bei eMails angewendet werden können – warum nicht? Ich weiß es nicht.
Wohin des Weges?
Was möchte ich überhaupt? Ich möchte die Nagios Notifications per Jabber senden. Aber nicht einfach nur Text und gut, sondern Meldungen in einer vernünftigen Optik und weiteren Funktionen.
Damit meine ich:
- farbige Meldungen -> man sieht sofort welchen Status die Meldung beinhaltet (rot, gelb, grün)
- Links zu weiteren Diensten, die direkt aus dem Jabber Fenster zu weiteren Informationen führen
Prerequisites
Das ganze benötigt quasi nur sendxmpp als Zusatz zu einem funktionsfähigen Nagios. Wie man sendxmpp installiert möchte ich an dieser Stelle nicht beschreiben. Unter Debian Lenny befindet es sich im Repository; für RHEL muss man sich das Paket besorgen.
Es sollte soweit getestet sein, dass der Nagios Account Nachrichten mit Hilfe von sendxmpp senden kann. Dazu wird bspw. eine Konfigurationsdatei sendxmpprc angelegt. Diese habe ich im Nagios Plugins Verzeichnis abgelegt.
Und dann?
Dann geht alles ganz einfach
Ich habe ein sendxmpp_wrapper Script geschrieben. Dieses Script wird von Nagios aufgerufen und verschickt am Ende die Nachricht. Die diversen Informationen werden dabei in ein HTML Gerüst verpackt, wodurch das ganze dann formatiert zum Empfänger geschickt wird. Das Script gibt es hier: sendxmpp_wrapper
# 'host-notify-by-jabber' command definition define command{ command_name host-notify-by-jabber command_line /usr/lib/nagios/plugins/sendxmpp_wrapper.sh HOST $CONTACTNAME$\@xmpp.... "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$HOSTOUTPUT$" "$HOSTSTATE$" "$HOSTOUTPUT$" } # 'notify-by-jabber' command definition define command{ command_name notify-by-jabber command_line /usr/lib/nagios/plugins/sendxmpp_wrapper.sh SERVICE $CONTACTNAME$\@xmpp.... "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$SERVICEDESC$" "$SERVICESTATE$" "$SERVICEOUTPUT$" }
| Artikel drucken | Dieser Beitrag wurde von Ronny am 16. Juli 2010 um 12:06 veröffentlicht und unter Hints, Monitoring, ScriptHints, Systemmanagement, bash, ubuntuusers.de abgelegt. Du kannst allen Antworten zu diesem Beitrag durch RSS 2.0 folgen. Du kannst direkt zum Ende gehen und einen Kommentar hinterlassen. Pings ist momentan nicht möglich. |




vor 1 Monat
Datum ändern eines Blogposts weil ein Link berichtigt wurde geht ja mal gar nicht! Denkt doch mal an die RSS-Feed Leser.
vor 1 Monat
Wird nicht wieder passieren.
vor 1 Monat
Coole Sache – sieht gut aus nur leider ist der wrapper nicht runter zu laden.
FEHLER 500: Internal Server Error
vor 1 Monat
Hallo zusammen,
das war wohl ein Problem mit den Dateiendungen. Shell Scripte einfach darf ich nicht und .gz interpretiert der Webserver. Hab nun ein ordinäres zipfile angelegt – das geht.
Sorry an alle!
Ronny
vor 1 Monat
Hey Ronny,
ich würde mir den Wrapper gerne mal ansehen. Leider scheint es so als würde das Skript irgendwo liegen, wo cgi aktiviert ist
Wäre schön wenn du das irgendwie beheben könntest.
Danke!
vor 1 Monat
Download-Link geht leider nicht.
vor 1 Monat
Sieht gut aus, nur gibts ein Problem mit dem Skript. Es hat die Endung .gz obwohl es kein Archiv ist. Einfach das .gz am Ende entfernen, dann gehts.
vor 1 Monat
Ach doch nicht, irgendwie gibt es vom Webserver her Probleme es runterladen zu können.