Seite wählen

Nagios Benachrichtigungen mit Growl am Mac

von | Jul 15, 2009 | Nagios

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:
    [code lang=“shell“ wraplines=“true“]# ./grotify -H IP_Adresse_Mac -a Nagios -p Passwort -t "Nagios Notification" -m "Testalert"[/code]
    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:
    [code lang=“shell“ wraplines=“true“]define command {
    command_name notify-host-by-grotify
    command_line $USER2$/grotify -H IP_Adresse -p Passwort -a Nagios -t "Nagios Notification" -m "$NOTIFICATIONTYPE$ Alert $HOSTNAME$ is $HOSTSTATE$"
    }
    define command {
    command_name notify-service-by-grotify
    command_line $USER2$/grotify -H IP_Adresse -p Passwort -a Nagios -t "Nagios Notification" -m "$NOTIFICATIONTYPE$ Alert $HOSTNAME$/$SERVICEDESC$ is $SERVICESTATE$"
    }[/code]

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.

6 Kommentare

  1. Berny

    Empfehlung von Ethan war es, Passwörter soweit nicht generell vermeidbar, in einer $USER Variable in resource.cfg zu definieren und die dann hier entsprechend zu verwenden, da die andern Config-Files oft offenere Rechte haben…

    Antworten
  2. Julian Hein

    Berny: Empfehlung von Ethan war es, Passwörter soweit nicht generell vermeidbar, in einer $USER Variable in resource.cfg zu definieren und die dann hier entsprechend zu verwenden, da die andern Config-Files oft offenere Rechte haben…

    Klar, sollte man in der Regel machen. Dieses Passwort ist natürlich nicht wirklich sicherheitsrelevant. Das Problem sind weniger die Rechte auf das File, als dass es in der Command Definition über das Webinterface einsehbar ist. Dem sollte man sich bewusst sein.

    Antworten
  3. Lars

    Besten Dank für diese tolle Anleitung. Die Konfiguration hat auf Anhieb geklappt und stellt einen echten Mehrwert für unser Monitoring-System da.
    Ach, wenn jetzt noch Growl in der Lage wäre unterschiedliche Aktionen je nach erhaltenem Nachrichtentext durchzuführen (CRITICAL, WARNING..), dann könnte man beispielsweise unterschiedliche akustische Signale und Farben zuordnen.

    Antworten
  4. Julian Hein

    Lars: Besten Dank für diese tolle Anleitung. Die Konfiguration hat auf Anhieb geklappt und stellt einen echten Mehrwert für unser Monitoring-System da.Ach, wenn jetzt noch Growl in der Lage wäre unterschiedliche Aktionen je nach erhaltenem Nachrichtentext durchzuführen (CRITICAL, WARNING..), dann könnte man beispielsweise unterschiedliche akustische Signale und Farben zuordnen.

    Über einen Umweg geht das sogar. Du kannst ja mit dem Parameter „-a“ verschiedene Applikationen übergeben. Du könntest in Nagios verschiedene Commands einrichten und beispielsweise „-a NagiosCritical“, „-a NagiosWarning“ und „-a NagiosOK“ verwenden. In Growl kannst Du dann bei den Applikationseinstellungen verschiedene Prioritäten einstellen und dann im Anzeigestil für jede Prio verschiedene Farben verwenden. Wenn Du den Standard „Smoke“ verwendest, kannst Du dann für jede Prio eine andere Hintergrundfarbe definieren und damit das ganz Rot, Gelb und Grün machen. Ist ein bisschen umständlich bei der Ersteinrichtung, aber danach sollte es kein Problem sein.

    Antworten
  5. Axel

    Hallo bei mir findest grotify Net/Grwol.pm nicht ???
    hat jemand eine Idee ( installiert habe ich es und auch in einen der Perlsuchpfade kopiert
    Danke
    Axel

    Antworten
  6. Julian Hein

    Axel: Hallo bei mir findest grotify Net/Grwol.pm nicht ???
    hat jemand eine Idee ( installiert habe ich es und auch in einen der Perlsuchpfade kopiert
    DankeAxel

    Wie hast Du es denn installiert? Normalerweise müsste es doch automatisch im richtigen Verzeichniss landen.

    Antworten

Trackbacks/Pingbacks

  1. Use Growl on Mac OS X to monitor your remote systems « SMB GmbH – Open Enterprise Solutions - [...] Here is an installation tutorial for German users. [...]
  2. Use Growl on Mac OS X to monitor your remote systems - [...] Here is an installation tutorial for German users. [...]
  3. Use Growl on Mac OS X to monitor your remote systems | SMB GmbH - Open Enterprise Solutions - [...] Here is an installation tutorial for German users. [...]

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Nagios

Be a speaker at the OS Monitoring Conference this year!

  We have some strong points for you to be a speaker at the Open Source Monitoring Conference 2018. Add new research to your list - Talk about your newest findings in development at the OSMC. Increase your productivity -  Writing a paper with your findings, tips,...