Icinga 2 – Multi-Zonen Notifications

Komplexe Monitoring Umgebungen mit Icinga 2 kennt man ja schon und auch was sich alles mit den Satelliten und zus. Zonen-Mastern anstellen lässt. Aber wisst ihr auch, dass sich gezielte Benachrichtigungen für einzelne Zonen definieren lassen? Die meisten nutzen wahrscheinlich schlicht nur die Haupt/Master Zone für Notifications; aber gehen wir doch von einem nicht unüblichen Beispiel aus : Der externen Überwachung des eigenen Monitorings.
Wir wollen, dass der externer Satellit uns autark kontaktiert sobald das Monitoring ausfällt und im Sinne des Directors, ebenso wenig eine manuell Konfiguration pflegen. Jetzt muss er die Benachrichtigung nur irgend wie zu uns bekommen. Das Wissen über die Objekte sollte bei solchen Setups vorhanden sein, daher werde ich keine Screens oder Config-Auszüge einfügen, sondern nur das Vorgehen beschreiben.
Wie einfach das Ganze mit Zonen-Verzeichnissen und einem Parameter realisiert werden kann, zeigt sich wie folgt. Wir generieren das entsprechende Notification-Command für den Satelliten und stellen sicher, das er es, sowie die betreffenden Kontakte, in seiner Zone finden kann. Anschließend folgt auch schon das Notification Objekt, welches a.) einfach mit in das Zonen-Verzeichnis des Satelliten geschoben, oder b.) global um den Parameter “zone” erweitert wird. Und schon kann es los gehen.
All das lässt sich übrigens auch wunderbar in einem NWS Satelliten abbilden. Probiert es einfach mal aus.

Telegram Notifications von Icinga 2

Ich nutze nun Telegram privat schon seit einiger Zeit, mir gefällt der Messenger und man kann dort auch sehr schön Bots einbinden.
Für meine privaten Systeme hat mich E-Mail für Notifications immer ein bisschen gestresst. Man möchte doch eigentlich nur kurz die Info sehen, was zählt ist doch eh der aktuelle Status im Dashboard. Mails muss man immer wegräumen/löschen.
Warum also nicht die Notifications via Bot an mich in Telegram schicken? Nichts einfacher als das.
In einem GitHub Repository habe ich alles nötige (auf Englisch) zusammengefasst. Doch hier gerne noch ein wenig auf Deutsch erklärt.
(mehr …)

Markus Frosch
Markus Frosch
Principal Consultant

Markus arbeitet bei NETWAYS als Principal Consultant und unterstützt Kunden bei der Implementierung von Nagios, Icinga und anderen Open Source Systems Management Tools. Neben seiner beruflichen Tätigkeit ist Markus aktiver Mitarbeiter im Debian Projekt.

Icinga 2 Notifications manuell testen

Bei jeder Installation von Icinga 2 sollte das Notificationsystem getestet werden.
Je nach Installation werden verschiedene Gruppen eingerichtet, die abhängig vom Service beachrichtigt werden sollen. Solche Testbenachrichtigungen können in der Oberfläche von Icinga Web 2 erzeugt und losgeschickt werden. Aber dazu muss der jeweilige Host oder Service rausgesucht werden. Diese Aufgabe kann auch eleganter über die REST-API von Icinga 2 angestoßen werden.
Ein kleines Skript und schon gehts von der Kommandozeile:

#!/bin/bash
#
unset ftp_proxy
unset http_proxy
unset https_proxy
apiuser="myuser"
apipasswd="mypasswd"
server="localhost"
while getopts h:s: opt
do
  case "$opt" in
    h) host=$OPTARG ;;
    s) service=$OPTARG ;;
    h) Usage
       exit 1 ;;
    ?) echo "ERROR: invalid option" >&2
       exit 1 ;;
  esac
done
shift $((OPTIND - 1))
if [ -n "${service}" ] ; then
  # Bitte in eine Zeile zusammenfassen
  curl -k -s -u "${apiuser}:${apipasswd}" -H 'Accept: application/json'
  -X POST 'https://'${server}':5665/v1/actions/send-custom-notification'
  -d '{ "type": "Service", "service" : "'${host}"!"${service}'", "author": "icingaadmin",
  "comment": "This is a testmessage", "force": true }' | python -m json.tool
  exit
fi
if [ -n "${host}" ] ; then
  # Bitte in eine Zeile zusammenfassen
  curl -k -s -u "${apiuser}:${apipasswd}" -H 'Accept: application/json'
  -X POST 'https://'${server}':5665/v1/actions/send-custom-notification'
  -d '{ "type": "Host", "host" : "'${host}'", "author": "icingaadmin",
  "comment": "This is a testmessage", "force": true }' | python -m json.tool
  exit
fi
root@icinga-node1:$ ./send_icinga2_message -h srv04 -s ping4
{
    "results": [
        {
            "code": 200.0,
            "status": "Successfully sent custom notification for object 'srv04!ping4'."
        }
    ]
}

In Icinga Web 2 sieht das ganze dann so aus 🙂 Wenn ihr mehr über Icinga 2 wissen möchtet, kommt einfach auf uns zu.
bildschirmfoto_2016-09-16_16-27-16bildschirmfoto_2016-09-16_16-28-28
Die Notification-Scripts für die in den Screenshots gezeigten Notifications basieren auf den Blogpost “Icinga 2 + Director + Notifications = <3” von Marianne Spiller.

Jabber-Notifications mit Icinga 2

Um mit Icinga 2 einfach Notifications an Jabber-Kontakte senden zu können, habe ich mir folgendes Script geschrieben:

#!/usr/bin/env python
import xmpp, os, sys
if len(sys.argv) < 3:
    print "Syntax:", sys.argv[0], " "
    sys.exit(1)
jid = xmpp.protocol.JID(os.environ["XMPP_USER"])
cl = xmpp.Client(jid.getDomain(), debug = [])
con = cl.connect()
cl.auth(jid.getNode(), os.environ["XMPP_PASSWORD"])
cl.sendInitPresence()
msg = xmpp.Message(sys.argv[1], sys.argv[2])
msg.setAttr('type', 'chat')
cl.send(msg)

Das Script wird dabei in /etc/icinga2/scripts mit dem Dateinamen jabber-notification.py abgelegt werden. Zusätzlich muss noch die Python-XMPP-Library installiert werden, für die es z.B. in Debian das Paket python-xmpp gibt.
Um das Script mit Icinga verwenden zu können, müssen zunächst folgende allgemeine Templates definiert werden:

template NotificationCommand "jabber-template" {
  import "plugin-notification-command"
  command = [
    SysconfDir + "/icinga2/scripts/jabber-notification.py",
    "$xmpp_recipient$",
    "$xmpp_message$"
  ]
  vars.xmpp_recipient = "$jabber$"
  // Wir übergeben den Benutzernamen und das Passwort per Environment-
  // Variablen an das Script, damit diese nicht per ps(1)
  // für andere Benutzer einsehbar sind.
  env = {
    XMPP_USER = "$xmpp_user$"
    XMPP_PASSWORD = "$xmpp_password$"
  }
}
template NotificationCommand "jabber-host-notification" {
  import "jabber-template"
  vars.xmpp_message = {{{Notification Type: $notification.type$
Host: $host.display_name$
Address: $address$
State: $host.state$
Date/Time: $icinga.long_date_time$
Additional Info: $host.output$
Comment: [$notification.author$] $notification.comment$}}}
}
template NotificationCommand "jabber-service-notification" {
  import "jabber-template"
  vars.xmpp_message = {{{Notification Type: $notification.type$
Service: $service.name$
Host: $host.display_name$
Address: $address$
State: $service.state$
Date/Time: $icinga.long_date_time$
Additional Info: $service.output$
Comment: [$notification.author$] $notification.comment$}}}
}

Den beiden Templates "jabber-host-notification" und "jabber-service-notification" fehlen dabei noch die Custom Attribute für den Jabber-Benutzernamen und -Passwort. Um diese anzugeben, definieren wir zwei Commands:

object NotificationCommand "jabber-host-netways" {
  import "jabber-host-notification"
  vars.xmpp_user = "jabber-user@example.org"
  vars.xmpp_password = "passwort"
}
object NotificationCommand "jabber-service-netways" {
  import "jabber-service-notification"
  vars.xmpp_user = "jabber-user@example.org"
  vars.xmpp_password = "passwort"
}

Anschließend können wir diese Commands für Notifications verwenden:

object User "gunnar" {
  vars.jabber = "gunnar@beutner.name"
}
apply Notification "jabber-host" to Host {
  command = "jabber-host-netways"
  users = [ "gunnar" ]
  assign where true
}
apply Notification "jabber-service" to Service {
  command = "jabber-service-netways"
  users = [ "gunnar" ]
  assign where true
}

Die Command-Templates sind dabei so parametrisiert, dass in den einzelnen Notifications bei Bedarf auch die Texte für die Jabber-Messages über das Custom-Attribut xmpp_message überschrieben werden können.

SMS unter Linux versenden – so einfach geht's

CT63_USB_SetEin wichtiger Bestandteil von Monitoringsystemen wie Nagios oder Icinga ist die Alarmierung. Wir bekommen viele Anfragen, wie eine sichere Alarmierung neben der klassischen E-Mail realisierbar ist. Oft bleibt dabei nur noch die SMS übrig, da sie ein kostengünstiges, aber effektives Mittel zur Alarmierung ist.
Heute möchte ich einen kurzen Einblick geben wie man SMS unter Linux verschicken kann – darüber hinaus gibt es einen kurzen Einblick in die Konfiguration vom Monitoring-System zum Versand der SMS.
Ganz wichtig für den SMS-Versand ist ein GSM-Modem. Hier bieten wir unseren Kunden zwei verschiedene Klassen an.
Zum einen gibt es USB-Modems – diese sind kostengünstig aber nur direkt an den Monitoring-Server anzuschließen – die Nutzung ist entsprechend der Signalqualität eingeschränkt. An dieser Stelle empfehlen wir unseren Kunden das CEP-CT63 USB powered – es braucht nur noch eine SIM-Karte – sonst ist alles dabei. Wer gerne auf eine Lösung mit Netzteil zurück greift, sollte sich das CEP CT63 ansehen – dieses eignet sich zusammen mit unserer CAT5/USB Verlängerung.
Auf der anderen Seite bieten wir auch SMS-Gateways mit LAN-Anschlüssen an. Diese eignen sich für Kunden, die Ihre SMS von mehreren Applikationen aus verschicken möchten oder auf gewisse Zusatzdienste nicht verzichten wollen. Diese SMS-Gateways bieten alle eine HTTP-Api – eine SMS wird mittels eines Aufrufs Links verschickt – die parameter werden alle in der URL übergeben. Sie haben die freie Wahl zwischen dem MultiTech iSMS oder dem Braintower SMS Gateway S.
Das Braintower SMS Gateway S Advanced bietet darüber hinaus noch eine Mail2SMS Schnittstelle und Reverse-Nagios Checks. Wenn das Gateway den Monitoring-Server nicht mehr erreicht – so kann es eigenständig eine Alarmierungs-SMS verschicken. Falls Ihre Applikation nur in der Lage ist E-Mails zu versenden – so haben Sie mit diesem Gateway die Möglichkeit auch diese als SMS zu empfangen.
Kommen wir nun wie versprochen zur Einrichtung und dem SMS-Versand mit unserem CEP CT63 USB powered unter Linux.

  • bauen Sie die SIM-Karte wie in der Kurzanleitung beschrieben in das Gerät ein – schließen Sie die Antenne an das Gerät an
  • öffnen Sie Ihre Linux-Shell
  • führen Sie folgendes Kommando aus
  • tail -f /var/log/messages
  • schließen Sie nun das Modem an den Computer an
  • Das Gerät wird ohne weitere Treiber erkannt in unserem Beispiel als “ttyACM0”
  • notieren Sie sich Ihre Ausgabe
  • öffnen Sie die Konfigurationsdatei Ihrer zuvor installierten SMS Server Tools 3 mit einem Texteditor
  • vim /etc/smsd.conf
  • kontrollieren Sie die farblich hervorgehobenen Feld und passen Sie diese ggf. an.

SMS-Servertools-Configblau: Gerätename – muss in der Definition und Konfiguration gleich sein
rot: Devicename: diesem haben wir ein paar Schritte vorher in /var/log/messages ermittelt
orange: keep open auf yes setzen – dies lässt die Verbindung zum Modem geöffnet und vermeidet Probleme

  • Speichern Sie nun Ihre Konfiguration und starten Sie SMS Server Tools neu
  • /etc/init.d/smsd restart
  • Testen Sie die erfolgreiche Konfiguration, geben Sie folgendes Kommando auf der Befehlszeile ein, ersetzen Sie die Telefonnummer durch die, wohin Sie die SMS schicken möchten
  • sendsms +4917185247569 ‘Hello, how are you?’
  • Wenige Sekunden später bekommen Sie die SMS auf die angegebene Rufnummer zugeschickt – wenn nicht, suchen Sie nach dem Fehler in /var/log/smsd.log

In Nagios oder Icinga lässt sich das Modem mit folgender Konfiguration einbinden:
define command {
command_name    host-notify-by-sms
command_line    /usr/local/bin/sendsms  “$CONTACTPAGER$” “$HOSTSTATE$ alert for $HOSTALIAS$! Check nagios”
}

define command {
command_name    service-notify-by-sms
command_line    /usr/local/bin/sendsms “$CONTACTPAGER$” “$HOSTALIAS$n$SERVICEDESC$n$SERVICESTATE$nDate/Time: $DATE$ $TIME$n$SERVICEOUTPUT$”
}
Thats it – die Alarmierung läuft!
Wem die Alarmierung per SMS zu wenig ist – der sollte sich mal bei unseren Voice-Alarmierungen umsehen. Übrigens: für die SMS-Gateways mit LAN-Anschluss bieten wir auch einen Einrichtungsservice vor Ort an.

Georg Mimietz
Georg Mimietz
Lead Support Engineer

Georg kam im April 2009 zu NETWAYS, um seine Ausbildung als Fachinformatiker für Systemintegration zu machen. Nach einigen Jahren im Bereich Managed Services ist er in den Vertrieb gewechselt und kümmerte sich dort überwiegend um die Bereiche Shop und Managed Services. Seit 2015 ist er als Teamlead für den Support verantwortlich und kümmert sich um Kundenanfragen und die Ressourcenplanung. Darüber hinaus erledigt er in Nacht-und-Nebel-Aktionen Dinge, für die andere zwei Wochen brauchen.

Web Notifications – bald für (fast) alle

Screen Shot 2013-06-13 at 10.18.20 AM
Zugegeben, Web Notifications sind an sich ein etwas alter Hut – Google Chrome kann das schon lange und wer das Webinterface von GMail nutzt, kennt sicher auch die ‘Notify me about incoming mails’ Funktion. Dennoch habe ich mich bisher immer zurückgehalten einen Blogpost darüber zu schreiben, denn lange Zeit war das eine WebKit (und z.T. Chrome) Insellösung mit dem ‘webkit’ Prefix und ohne w3c Standard.
Web Notifications sind an sich nichts besonderes: Man erlaubt einer Webanwendung einfach, eine Notification am Desktop anzuzeigen, auch wenn der Browser gerade nicht aktiv ist. Google Mail ist da wohl auch gleich eines der logischen Beispiele: Wenn eine neue Mail kommt, will man darüber informiert werden, aber nicht andauernd auf das Fenster schauen.
(mehr …)

Ab sofort im Angebot: Braintower SMS Gateway – für Nagios und Icinga ab 599 €

Es ist wieder soweit, der NETWAYS-OnlineStore hat wieder ein erstklassiges Angebot. In der Zeit vom 01.10.2012 bis 31.12.2012 bieten wir unseren Kunden das Braintower SMS Gateway bereits ab 599,00 € zzgl. USt. und Versand an. Als mögliche Optionen kann eine Wandhalterung oder ein integrierter Nagios-Server* dazu gebucht werden.
Wozu ist das Gateway zu gebrauchen?
Das Braintower SMS Gateway ergänzt unseren bisherigen Vorreiter im Bereich der SMS Gateways (MultiTech iSMS) um einige Funktionen. Beide Geräte sind für den SMS Versand bzw. die Alarmierung von Nagios oder Icinga aus gedacht. Mittels eines HTTP-API Aufrufs vom Monitoring-Server werden dann SMS mit den Fehlermeldungen verschickt. Natürlich verfügen diese Geräte auch über ein Webfrontend, über welches Sie konfiguriert werden können. Es können SMS verfasst und verschickt werden, die Logs können durchgesehen werden und die Nutzer, Gruppen etc. verwaltet werden.
*Der integrierte Nagios-Server beim Braintower SMS Gateway ist in der Lage, mittels Ping-Check den eigentlichen Nagios-Server auf Erreichbarkeit zu überwachen. Sollte es an dieser Stelle durch Störungen am Netzwerk oder am entfernten Nagios-Server selbst zu Erreichbarkeitsproblemen kommen, versendet das Gateway selbstständig eine SMS an den/die hinterlegten Notfallkontakt(e). Wichtig: Dieses Feature muss beim Kauf schon mit dazu gebucht werden.
Was ist Braintower für ein Hersteller?
Braintower ist ein Gerätehersteller und Dienstleister mit einem breiten Anwendungsspektrum und Sitz in Deutschland. NETWAYS arbeitet bereits seit über einen halben Jahr erfolgreich mit Braintower zusammen. Das Gute an unserer Zusammenarbeit: Kundenwünsche und Individualgeräte nach eigenen Vorstellungen können gemeinsam mit Braintower entwickelt und umgesetzt werden.
Kann man das Gerät vorab testen?
Ja, auf unserer Shop-Seite der Online Demos haben wir Ihnen einige live-Demos von unseren Geräten bereit gestellt.
Wie lang ist das Angebot gültig?
Das Angebot läuft vom 01.10.2012 bis einschließlich 31.12.2012. Der Preis gilt für alle Bestellungen, die während dieser Zeit eingehen. Sollte ein Artikel nach diesem Zeitraum geliefert werden, aber innerhalb des Angebotzeitraums bestellt werden, zählt auch hier der Angebotspreis.

Georg Mimietz
Georg Mimietz
Lead Support Engineer

Georg kam im April 2009 zu NETWAYS, um seine Ausbildung als Fachinformatiker für Systemintegration zu machen. Nach einigen Jahren im Bereich Managed Services ist er in den Vertrieb gewechselt und kümmerte sich dort überwiegend um die Bereiche Shop und Managed Services. Seit 2015 ist er als Teamlead für den Support verantwortlich und kümmert sich um Kundenanfragen und die Ressourcenplanung. Darüber hinaus erledigt er in Nacht-und-Nebel-Aktionen Dinge, für die andere zwei Wochen brauchen.

Neues System für Sprachbenachrichtigungen mit echten Menschen gestartet


Zusammen mit dem Callcenter Anbieter 31WEST startet NETWAYS einen neuen, innovativen Dienst für Voice Benachrichtigungen aus Monitoringsystemen. Dabei werden die Fehlermeldungen nicht durch eine Software maschinell erstellt, sondern von einem Menschen telefonisch vorgelesen. Dieses völlig neuartige Vorgehen sorgt für eine bessere Verständlichkeit der Fehlermeldungen gegenüber bisherigen text2speach Lösungen bei gleichzeitiger Kostenersparnis durch den Wegfall teurer Hardware.

Die Kopplung an das Monitoring erfolgt zentral durch den NotificationManager (NoMa). Projektleiter Bernd Erk erklärt: „Mit NoMa, können wir alle bekannten Systeme, wie Icinga und Nagios aber auch IBM Tivoli oder HP OpenView einfach anbinden und durch die verschlüsselte Übertragung per MuleVoice stellen wir sicher, dass alle Meldung fehlerfrei nach Indien übertragen werden oder wir wenigstens eine aussagekräftige Fehlermeldung bekommen.”

Für die Auslieferung der Meldungen werden nur Mitarbeiter eingesetzt, die über langjährige Erfahrung im Alarmierungsbereich verfügen. Der VoiceBus routet die Meldungen immer zu einem Agent, der Fehlermeldungen in der gewünschten Zielsprache fehlerfrei vorlesen kann. “In der ersten Ausbaustufe sind Alarmierungen in Deutsch und Englisch möglich. Wir werden das Angebot aber sukzessive weiter ausbauen und in der nächsten Version französische Meldungen integrieren. Es ist ja allgemein bekannt, dass gerade in Frankreich ein Großteil aller weltweiten Störungen und Fehler auftreten. In diesem interessanten Markt wollen wir uns natürlich nicht den Schinken vom Brot nehmen lassen”, ergänzt Julian Hein, Geschäftsführer der NETWAYS GmbH und Initiator der Projekts.
Beim Vorlesen der Benachrichtigungen kommt eine NRPA® (Nice Remote Plugin Alert) genannte Technologie zum Einsatz, die den Agenten unterstützt die zur jeweiligen Uhrzeit im Zielland passende Tonalität zu finden. So werden Alarmierung tief in der Nacht wesentlich mitleidiger und langsamer vorgetragen als beispielsweise zur Mittagszeit. Dies erhöht den Anteil der beim ersten Durchgang zu verstehenden Meldungen auf mehr als 120% aller Anrufe und fördert die Akzeptanz beim aufgeweckten Admin deutlich. Das Acknowledgement kann durch Tastendruck, Sprachbestätigung oder Nachts auch durch genervtes Stöhnen abgegeben werden. Ein eventuell hinterlegter Eskalationsplan wird dadurch abgebrochen.
Während der 6 monatigen Beta Phase hatten zahlreiche Unternehmen Gelegenheit den Dienst ausgiebig zu testen. Dabei wurden mehr als 100.000 Fehlermeldungen fehlerfrei übermittelt und die teilnehmenden Unternehmen zeigten sich von dem neuen Benachrichtigungssystem begeistert. Ein Administrator aus der Betaphase, der aber lieber anonym bleiben will, berichtet: “Wir haben so viele Probleme in unserem Netzwerk, dass wir wenigstens einen absolut zuverlässigen Alarmierungsservice benötigen. Der neue Dienst von NETWAYS hat unsere Erwartungen voll erfüllt und wir konnten nachts noch mehr Störungsmeldungen an unsere Mitarbeiter versenden. Wir sind da absolut auf dem richtigen Weg.”
Seit heute kann der Dienst in unserem Shop offiziell als 24 Monatsvertrag oder in einer PrePaid Variante gebucht werden. Der Einstieg in das neuartige Benachrichtigungssystem ist ab 23 Euro pro Monat für 42 Voice Benachrichtigungen möglich. Die Software NoMa, inkl. der notwendigen Voice Plugins steht unter netways.org zum kostenfreien Download zu Verfügung. Bei Fragen zu diesem Produkt freut sich unser Vertrieb auf Ihre Nachricht.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.

Benachrichtigungen per Twitter versenden

Heute machen wir es uns mal richtig leicht und binden Twitter als Benachrichtigungslösung für Nagios ein. Die Einrichtung dauert geschätzte 30 Sekunden, denn man muss lediglich die folgenden Notification Commands in Nagios einbinden. Nur falls man Curl noch nicht auf dem System hat, müsste man das noch schnell installieren. Unter Debian reicht dazu ein “aptitude install curl” und fertig.

define command {
        command_name    notify-by-twitter
        command_line    /usr/bin/curl --basic --user "user:password" --data-ascii "status=[Nagios] $NOTIFICATIONTYPE$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" http://twitter.com/statuses/update.json
}
define command {
        command_name    host-notify-by-twitter
        command_line    /usr/bin/curl --basic --user "user:password" --data-ascii "status=[Nagios] $HOSTSTATE$ alert for $HOSTNAME$" http://twitter.com/statuses/update.json
}

Das wars eigentlich schon. Wenn Nagios nun eine Benachrichtigung per Twitter schickt, sieht das im Webinterface ungefähr so aus:
twitter
Auch wenn Twitter als Benachrichtigungsweg auf den ersten Blick eher wie eine Spielerei aussieht, kann man diesen Weg doch sinnvoll einsetzen, denn Twitter bietet gegenüber den anderen Benachrichtigungskanälen einige Vorteile. Da es inzwischen für so gut wie alle Betriebssysteme, Plattformen und auch Smartphones Twitter Clients gibt, kann man es fast als plattformübergreifend bezeichnen. Es ist kostenlos und man kann in den Account Einstellungen angeben, dass nicht jederman die Updates sehen kann. Durch den Follow-Mechanismus wird es möglich, dass sich einzelne Mitarbeiter selbst in die Benachrichtigungen einklinken können, ohne dass man am Server etwas konfigurieren muss.
Problematisch bleibt natürlich die Zuverlässigkeit. Gerade bei großen Ereignissen hatte Twitter in den letzten Jahren immer mal wieder mit kürzeren und längeren Ausfällen zu kämpfen. In Kombination mit einem anderen Übertragungsweg, der wichtige und dringende Meldungen sicher übermittelt, kann Twitter aber schon Sinn machen.
Für alle die Twitter sowieso schon nutzen, an dieser Stelle nochmal der Hinweis, dass NETWAYS auch twittert. Unter http://twitter.com/netways können Sie unsere Tweets (nein, nicht die Nagios Fehlermeldungen) abonieren und immer auf dem laufenden bleiben.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.

Nagios Benachrichtigungen mit Growl am Mac

Growl ist ein globales Benachrichtigungssystem für den Mac und informiert den aktuell eingeloggten Benutzer über wichtige Ereignisse. Das System kann man sehr individuell konfigurieren und hat sich inzwischen als defacto Standard für Popup-Benachrichtigungen am Mac etabliert, da es von einer großen Anzahl an beliebten Mac Programmen, beispielsweise Adium, Firefox oder Skype unterstützt wird. Meistens wird es sogar mit einer dieser Programme automatisch mitinstalliert und so dürfte es bei einer großen Anzahl an Mac Usern bereits vorhanden sein.
growl-exNeben lokalen Benachrichtigungen unterstützt Growl auch Nachrichten über das Netzwerk und da es inzwischen auch für Perl ein Growl Modul gibt, kann man diesen Mechanismus sehr einfach verwenden, um sich von seinem Nagios Server über aktuelle Statusmeldungen informieren zu lassen. Hier die Anleitung zum Einrichten der Growl Benachrichtigungen:

  1. Falls man es noch nicht getan hat, installiert man zuerst Growl auf dem Mac. Einfach von der Growl Website herunterladen, die DMG Datei mounten und durch Doppelklick auf Growl.mpkg starten.
  2. Wenn Growl läuft, muss man es so konfigurieren, dass es auch Nachrichten aus dem Netzwerk annimmt. Dazu geht man in die Systemeinstellungen und startet Growl unter Sonstiges. Im Reiter “Netzwerk” setzte man die ersten beiden Haken und vergibt für die Registrierung von Anwendungen ein Passwort:
    einstellungen
  3. Auf dem Nagios Server kommt das erwähnte Perl Modul Net::Growl zum Einsatz. Am einfachsten installiert man das mit Hilfe von CPAN, also “perl -MCPAN -e shell” und dann “install Net::Growl”. Da das Perl Modul kompiliert werden muss, sollte man sicherstellen, dass sich die Build-Tools auf dem System befinden. Unter Debian installiert man die beispielweise durch “aptitude install build-essential”
  4. Das eigentliche Versenden übernimmt ein kleines Perl Script namens grotify.pl, dass man auf unserer Community Plattform netways.org im Script Bereich herunterladen kann.
  5. Das Script einfach auf dem Nagios Server im Verzeichnis für die Eventhandler speichern und ausführbar machen mit “chmod 755 grotify.pl”
  6. Nun empiehlt es sich auszuprobieren, ob alles richtig konfiguriert ist und die Growl Benachrichtigungen korrekt an den Mac übertragen werden. Manuell kann man das beispielsweise durch folgenden Aufruf testen:
    # ./grotify -H IP_Adresse_Mac -a Nagios -p Passwort -t &amp;amp;quot;Nagios Notification&amp;amp;quot; -m &amp;amp;quot;Testalert&amp;amp;quot;

    Wenn alles klappt sollte auf dem Mac ein Popup, wie ganz oben angezeigt werden. Weitere Infos zu dem Script bekommt man mit “./grotify –help”

  7. Nun muss man nur noch in Nagios entsprechende notify-by-grotify Commands einbauen. Hier zwei Beispiele für Hosts und Services:
    define command {
        command_name  notify-host-by-grotify
        command_line  $USER2$/grotify -H IP_Adresse -p Passwort -a Nagios -t &amp;amp;quot;Nagios Notification&amp;amp;quot; -m &amp;amp;quot;$NOTIFICATIONTYPE$ Alert $HOSTNAME$ is $HOSTSTATE$&amp;amp;quot;
     }
     define command {
        command_name  notify-service-by-grotify
        command_line  $USER2$/grotify -H IP_Adresse -p Passwort -a Nagios -t &amp;amp;quot;Nagios Notification&amp;amp;quot; -m &amp;amp;quot;$NOTIFICATIONTYPE$ Alert $HOSTNAME$/$SERVICEDESC$ is $SERVICESTATE$&amp;amp;quot;
     }

Viel Spaß mit den Growl Benachrichtigungen. Nächste Woche geht es in dieser Serie um die schnellste und einfachste Möglichkeit Benachrichtigungen per SMS zu versenden.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.