Al trabajar con clientes que desean ampliar NMIS, hemos creado varios métodos para las notificaciones, convirtiéndolo en un Sistema de Gestión de Red altamente extensible. Para soportar métodos de notificación personalizados, la lógica para iniciar una notificación y el método para entregar la notificación se han dividido, de modo que los métodos de notificación adicionales se pueden añadir sin tener que modificar la parte central de NMIS.

Extensibilidad de las notificaciones en NMIS

¿Qué son las notificaciones en NMIS?

NMIS genera un evento internamente y luego aplica una política de escalamiento al evento, el resultado de esta política de escalamiento es una notificación. Un método de notificación puede ser de registro, correo electrónico, SMS, netsend o cualquier otro tipo. Puede escribir un método de notificación fuera del código del núcleo de NMIS y se utilizará según sea necesario en tiempo de ejecución.

Creación de un nuevo paquete de métodos de notificación

Para añadir un nuevo método de notificación, tendrás que copiar el código Perl de ejemplo que está en la distribución, por defecto está en /usr/local/nmis8/lib/Notify/mylog.pm, este es un método de notificación funcional. Si quisieras añadir algo llamado NetSMS copiarías esa ficha en NetSMS.pm, así

/usr/local/nmis8/lib/Notify/mylog.pm /usr/local/nmis8/lib/Notify/NetSMS.pm

A continuación, debe editar el archivo NetSMS.pm y cambiar lo siguiente

package Notify::mylog;

Ser el nombre del paquete para NetSMS, por ejemplo

package Notify::NetSMS;

En este punto puede ejecutar esto en la prueba, usted puede hacer esto mediante la adición de un tipo de escalada, que será NetSMS.

Añadir una nueva notificación a Escalations.nmis

Mirando en Escalations.nmis que está en el directorio conf en /usr/local/nmis8/conf/Escalations.nmis, busque la entrada "default_default_default_default__":

'default_default_default_default__' => {
  'Event' => 'default',
  'Event_Element' => '',
  'Event_Node' => '',
  'Group' => 'default',
  'Level0' => 'syslog:localhost,json:localhost,NetSMS:Contact1',
  'Level1' => '',
  'Level10' => '',
  'Level2' => '',
  'Level3' => '',
  'Level4' => '',
  'Level5' => '',
  'Level6' => '',
  'Level7' => '',
  'Level8' => '',
  'Level9' => '',
  'Role' => 'default',
  'Type' => 'default',
  'UpNotify' => 'true'
},

Modifica la línea de "Level0" y añade ",NetSMS:Contact1", ahora recibirás notificaciones utilizando el código de /usr/local/nmis8/lib/Notify/NetSMS.pm, la próxima vez que recibas una notificación busca el archivo en /tmp/mylog.

Crear su propia notificación

Ahora que sabes que está funcionando puedes modificar el contenido de la subrutina "sendNotification" para hacer lo que quieras, en el ejemplo es sólo el registro en un archivo, pero puedes poner cualquier cosa que Perl pueda hacer aquí (que es mucho). Opmantek ha desarrollado notificaciones personalizadas para clientes con bastante frecuencia, conectando software de terceros que no puede obtener el nivel de información detallada que NMIS puede, como Service Now, y empujando las notificaciones a su plataforma de gestión de incidentes.

Si desea conectar la gran cantidad de información que NMIS puede reunir a su solución actual, póngase en contacto con nosotros y le mostraremos cómo hacerlo.