El blog de ​​Michael OSS / Linux, redes y mi vida privada

14 Dez/09 4

Alertas OpenNMS vagabundeo

Después de un usuario de iPhone y el vagabundeo se había instalado ahora a mis OpenNMS con Prowl para alertar pareja.
El vagabundeo por un bien descrito API y también proporciona secuencias de comandos de ready-made de esta en varios idiomas (Perl, Python, ...) pone a su disposición, me decidí por esta variante.
He utilizado esta versión de Perl, es prowl.pl descargado aquí .

Sin embargo, no fue el paso de parámetros (clave de API, aplicaciones, etc) a partir de OpenNMS prowl.pl algunas dificultades. Solución del problema es un contenedor pequeño que se llama OpenNMS, y en el fondo de acuerdo a parámetros llamadas prowl.pl.

prowl_wrapper.pl

  # / Usr / bin / perl-w

 = "/usr/local/bin/prowl.pl" ; my $ acecho = "/ usr / local / bin / prowl.pl";
 = shift ; mi = $ apikey cambiar;
 = "OpenNMS" ; mi solicitud de $ = "OpenNMS";
 = 1 ; mi prioridad $ = 1;
 = "Alert" ; mi evento $ = "alerta";
 = "" ; my $ msg = "";

 @ ARGV ) { foreach (@ ARGV) {
         $_ . " " ; $ Msg = $ _ "" ..;
 }

 = $prowl . " -apikey " . $apikey . my $ cmd = $ acecho. "apikey". $ apikey.
 $application . " \" -priority=" . "Aplicación = \" ". $ De la aplicación." \ "Prioridad =".
 " -event= \" " . $event . " \" -notification= \" " . $msg . " \" " ; $ ... Prioridad "evento = \" "$ evento" \ "a la notificación = \" \ "" "$ msg ..";

 = qx ( $cmd ) ; my $ retorno = qx ($ cmd);
 ; print $ retorno; 

Lo importante aquí, la clave Prowl API correspondiente para la capa esté ajustada correctamente, para esto he utilizado la dirección de correo electrónico del localizador con el fin de OpenNMS para cada contacto para poder especificar otro.

Adjunto encontrará las configuraciones necesarias para OpenNMS:

notificationCommands.xml

  > comando> binaria "true" =>
         NOMBRE notifyProwl </ name>
         <execute> / Usr / local / bin / prowl_wrapper.pl </ execute>
         <comentario> enviar notificaciones Prowl </ comentario>
         > "false" <Argument Escuchados =>
             <switch> pemail </ switch>
         </ Argumento>
         > "false" <Argument Escuchados =>
             <switch> asunto </ switch>
         </ Argumento>
     </ Command>