Translations of this page:

Nagios und Jabber

Da ich die ICQ Benachrichtigung per imdaemon nicht zum laufen bekommen habe, benutze ich jetzt halt Jabber. Die Idee dafür habe ich auf http://www.ederdrom.de/nagios/jabber bekommen. Danke an Pitchfork für die nette Page.

Das folgende Tut ist unter Debian Linux entstanden.

Als erstes brauchen wir sendxmpp, welches uns an einen Jabber Server Nachrichten schicken kann. Nicht zu vergessen sind 2 Jabber User. Einer, der die Meldung empfängt und ein anderer, der Sie vom Nagios Server her losschickt.

Sendxmpp installieren und konfigurieren

apt-get install sendxmpp

Im Homeverzeichnis des Nagios Users wird als der Nagios User ( in meinem Fall: nagios ) eine Datei erzeugt (.sendxmpp), die den Usernamen und das Passwort des Jabber Users beinhaltet, und von dem aus wir unsere Benachrichtigungen erhalten wollen. Die Datei darf nur für den Besitzer lesbar sein !

echo "user passwort" > ~/.sendxmpprc
chmod 600 ~/.sendxmpprc

Jetzt kann man auf der Konsole als User Nagios einen ersten Test machen, ob Sendxmpp richtig funktioniert.

/usr/bin/printf  "%b" "***** Nagios Jabber Test **** " | /usr/bin/sendxmpp -s "Jabber Test Alert" nagios_alert@jabber.org

So etwas sollte nun in eurem Jabber Client ankommen

  10:19:54: Subject: Jabber Test Alert
***** Nagios Jabber Test ****

Jabber Notification in Nagios einbauen

Hier werden nur die Service Notifications konfiguriert. Für die Hosts Notifications müsst ihr das noch umbiegen. Ich habe dem Umweg über ein Shellscript gewählt, welches wir erst einmal erzeugen. Die Datei .sendxmpprc muss hier ( zumindest bei mir ) angegeben werden, da es sonst per Nagios nicht funktioniert. Ich habe da was im Hinterkopf, dass per „su - user -c „start nagios“ kein Homeverzeichnis übergeben wird ?!?

/usr/local/nagios/libexec/jabber.sh ( nagios.nagios / chmod 755 )

#/bin/bash
 /usr/bin/printf  "%b" "***** Nagios *****\n\n\nNotification Type: "$1"\n\nService: "$2"\nHost: "$3"\nAddress: "$4"\nState: "$5"\n\nDate/Time: “$6” \n\nAdditional Info:\n\n “$7” \n\n\n\n\n" | /usr/bin/sendxmpp -f /home/nagios/.sendxmpprc -s "Nagios Alert" “$8”

.

/usr/local/nagios/etc/miscommands.cfg

define command{
        command_name    notify-by-jabber
        command_line    /usr/local/nagios/libexec/jabber.sh '$NOTIFICATIONTYPE$' '$SERVICEDESC$' '$HOSTALIAS$' '$HOSTADDRESS$' '$SERVICESTATE$' '$LONGDATETIME$' '$SERVICEOUTPUT$' '$CONTACTEMAIL$'

.

/usr/local/nagios/etc/contacts.cfg

Hier gebt ihr den jabber Account an, welcher die Nachrichten bekommen soll. Contactgroups.cfg nicht vergessen !

# 'daemon' contact definition
define contact{
        contact_name                    jabber
        alias                           Nagios Jabber Admin
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,u,r
        service_notification_commands   notify-by-jabber
        host_notification_commands      host-notify-by-jabber
        email                          	nagios_admin@jabber.org
}

.

Ein “/etc/init.d/nagios restart“ schaltet die Jabber Benachrichtigungen scharf und ihr solltet in eurem Jabber Client Nagios Benachrichtigungen erhalten :) Eine nette Idee ist es auch, wie auf Ederdrom beschrieben, die Benachrichtigungen in einen Jabber Chat Raum zu schicken, die dann jeder bekommt, der sich in dem Raum befindet.

Mögliche Fehler:

you must own /home/nagios/.sendxmpprc

Bei dieser Fehlermeldung habt ihr vergessen ein chmod 600 auszuführen, oder die Datei gehört nicht dem User Nagios

FIXME

nagios/howtos/sendxmpp.txt · Zuletzt geändert: 2007/12/06 16:15 von broesel0815
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0