Michael`s Blog OSS/Linux, networking and my private life

14Dez/096

OpenNMS Prowl Alerts

Nachdem ich als iPhone Nutzer auch Prowl installiert habe ging es nun darum mein OpenNMS mit Prowl für die Alarmierung zu koppeln.
Da Prowl eine gut beschriebene API bietet und ebenfalls fertige Skripte für diese in verschiedenen Sprachen (Perl,Python,...) zur Verfügung stellt habe ich mich für diese Variante entschieden.
Benutzt habe ich hierfür die Perl Variante, downloadbar ist prowl.pl hier.

Allerdings gab es bei der Parameterübergabe(API Key, Application, usw.) aus OpenNMS an prowl.pl etwas Schwierigkeiten. Lösung des Problems ist ein kleiner Wrapper der von OpenNMS aufgerufen wird und im Hintergrund entsprechend parametrisiert prowl.pl aufruft.

prowl_wrapper.pl

#!/usr/bin/perl -w
 
my $prowl = "/usr/local/bin/prowl.pl";
my $apikey = shift;
my $application = "OpenNMS";
my $priority = 1;
my $event = "Alert";
my $msg = "";
 
foreach (@ARGV) {
        $msg .= $_." ";
}
 
my $cmd = $prowl." -apikey ".$apikey.
" -application=\"".$application."\" -priority=".
$priority." -event=\"".$event."\" -notification=\"".$msg."\"";
 
my $return = qx( $cmd );
print $return;

Wichtig ist hier die jeweiligen Prowl API-Key für den Wrapper richtig anzupassen, hierfür habe ich die PagerEmail Adresse in OpenNMS verwendet um so für jeden Kontakt eine andere angeben zu können.

Anbei finden sich die notwendigen configs für OpenNMS:

notificationCommands.xml

    <command binary="true">
        <name>notifyProwl</name>
        <execute>/usr/local/bin/prowl_wrapper.pl</execute>
        <comment>send Prowl notifications</comment>
        <argument streamed="false">
            <switch>-pemail</switch>
        </argument>
        <argument streamed="false">
            <switch>-subject</switch>
        </argument>
    </command>

Kommentare (6) Trackbacks (0)
  1. braucht man den Wrapper eigentlich überhaupt?

  2. Vermutlich nicht unbedingt, allerdings hatte ich ohne Probleme mit der Übergabe von Parametern an prowl.pl. Es war nicht möglich von OpenNMS aus ein ” zu übergeben. Um Aufwand zu sparen hab ich eben den Wrapper gebaut.

  3. eigentlich sollte es funktionieren, wenn du nicht das “=” mit übergibst

  4. versuch ich vielleicht demnächst mal, allerdings funktionierts ja auch so! :)

  5. Have you ever thought about publishing an e-book or guest authoring on other sites?
    I have a blog based upon on the same information you discuss and would really like to have you
    share some stories/information. I know my audience
    would appreciate your work. If you are even remotely interested, feel free to
    send me an e-mail.

  6. I was excited to uncover this page. I wanted to thank you for your time due to this
    wonderful read!! I definitely enjoyed every bit of it and i also have you saved as a
    favorite to look at new things on your blog.


Leave a comment

Noch keine Trackbacks.