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>






Dezember 22nd, 2009
braucht man den Wrapper eigentlich überhaupt?
Dezember 23rd, 2009
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.
Dezember 23rd, 2009
eigentlich sollte es funktionieren, wenn du nicht das “=” mit übergibst
Dezember 23rd, 2009
versuch ich vielleicht demnächst mal, allerdings funktionierts ja auch so!