Integración con Service Now

Este plugin posibilita la creación, actualización y cierre automáticos de incidencias en Service Now desde Pandora FMS.

Introducción y funcionamiento

Este plugin posibilita la creación, actualización y cierre automáticos de incidencias en Service Now desde Pandora FMS. 

Creación de incidencias

En caso de que se detecte un estado alterado (ej. Critical, Warning) para los módulos configurados en Pandora, se ejecutará el plugin de integración para crear una incidencia en Service Now, o actualizarla en el caso de que ya exista.

La información que se usa para crear las incidencias en Service Now es:

Al crearse la incidencia, Pandora almacena el ID de la misma en el campo custom_id del módulo afectado para su uso posterior en actualizaciones o para su cierre. Esto implica que cada módulo podrá tener únicamente una incidencia abierta en Service Now.

Actualización de incidencias

En caso de actuar el plugin sobre un módulo que ya tiene una incidencia registrada en su custom_id, se toma dicha referencia para actualizar el ticket abierto, que puede:

Cierre de incidencias

También puede utilizarse la integración para el cierre de incidencias asociadas a módulos, siempre y cuando estos alberguen un ID de incidencia en su custom_id. En este caso el propósito de dicha ejecución es la validación de la incidencia en Service Now. Para ello el plugin:


El flujo de creación y actualización de incidencias se muestra en el diagrama a continuación.

Configuración de la integración

Requisitos previos en Pandora FMS

Para que la integración funcione correctamente:

El usuario de Pandora FMS utilizado debe tener, al menos, acceso AW (Agent Write) sobre el grupo de los agentes que vayan a disparar las alertas.

Opciones del plugin

Ejemplo completo de llamada manual para apertura (o actualización) de incidencias:

pandora_sn_ticket.64 --Action 'create' --Auth 'basic' --Host 'https://my-service-now.com:1234' –-HostAPIUrl '/api/customer/incident_integration/' --PandoraAPI 'http://192.168.1.1/pandora_console/include/api.php' --User 'sn-user' --Pass 'sn-pass' --PandoraUser 'pandora_user' --PandoraPass 'pandora_pass' --PandoraAPIPass 'pandora_apipass' --Asset 'MYSERVER' --Agent 'MYSERVER' --Module 'CPU Load' --IdModule '12345' --Group 'infrastructure' --Impact '1' --Title 'Host MYSERVER is overloaded' --Message '2024/10/22 09:16:53 - Host MYSERVER CPU usage is too high - Data: 97% - Module status: critical' --Log '/tmp/pandora_sn.log'

Ejemplo completo de llamada manual para cierre de incidencias:

/pandora/pandora_sn_ticket.64 --Auth 'basic' --Host 'https://my-service-now.com:1234' –-HostAPIUrl '/api/customer/incident_integration/' --PandoraAPI 'http://192.168.1.1/pandora_console/include/api.php' --User 'sn-user' --Pass 'sn-pass' --PandoraUser 'pandora_user' --PandoraPass 'pandora_pass' --PandoraAPIPass 'pandora_apipass' --Module 'CPU Load' --IdModule '12345' --Message '2024/10/22 14:04:17 - Host MYSERVER CPU usage is OK now - Data: 24% - Module status: normal' --State '1' [--Log '/tmp/pandora_sn.log']


Ejemplos de alertas

A continuación se muestra un par de ejemplos de configuración de alertas: apertura y cierre de las incidencias, que estarán separados en dos comandos y dos acciones diferentes.


Con el fin de hacer la integración más flexible, se recomienda utilizar macros en los campos de los comandos que necesiten información dinámica. En este caso se utilizan las macros para alias de agente, módulo e ID de módulo (_agent_, _module_, _id_module_), así como macros específicas de alerta (_fieldx_) para facilitar la personalización de las acciones.

Creación / actualización de incidencias (prioridad alta)

Comando


Ejemplo de comando de alerta para crear incidencias

Acción

Ejemplo de acción de alerta para crear incidencias

Cierre de incidencias

Comando

Ejemplo de comando de alerta para cerrar incidencias



Acción

Ejemplo de acción de alerta para cerrar incidencias