Integración Jira y Pandora FMS para una mejor gestión de alertas

Después de la integración de Pandora FMS con la herramienta de ticketing Integria IMS, ahora le toca el turno a otra de las herramientas del momento. Se trata de JIRA, del fabricante Atlassian. Esta herramienta ha obtenido un gran crecimiento en los últimos años. Inicialmente se utilizó para el desarrollo de software, pero desde que se presentó JIRA Service Desk, también es posible utilizarlo como herramienta de ticketing, mediante el centro de asistencia que se despliega en su instalación. Esto abre un gran abanico de posibilidades, al poder tener desde la misma herramienta, la gestión del desarrollo de software, la gestión de tickets y la gestión de proyectos. Esta serie de características, junto a su tienda de addons, han hecho que JIRA esté presente en muchos departamentos de IT.

En todo el mundo JIRA cuenta con más de 11.500 clientes en 107 países; por ello nos hemos lanzado y hemos empezado a buscar la forma en la que Pandora FMS y JIRA se puedan comunicar. Mediante la lectura de este artículo conseguiremos vincular nuestra instancia de Pandora FMS con nuestra herramienta JIRA. Podremos automatizar la gestión de incidencias tanto en instancias de JIRA en instalaciones on Premise, como en instancias Cloud.

Partimos de un entorno en el que se encuentra una instancia de Pandora FMS, como herramienta de monitorización y JIRA Service Desk como herramienta de ticketing.. Pandora FMS se encarga de garantizar el control en nuestra infraestructura, previene de los posibles fallos que puedan suceder en nuestro entorno y nos da una visión del estado actual del mismo, ya sea a través de los dashboards o mediante los mapas de servicio y de red. Por otro lado, mediante la herramienta JIRA, los técnicos del departamento de tecnología gestionan las diferentes incidencias relativa al software y hardware de la infraestructura IT empresarial, por lo que es muy útil que las alertas generadas por un estado anómalo en Pandora FMS generen una issue automáticamente en la herramienta de ticketing.

De esta manera, podremos tener de manera centralizada todas las anomalías referentes a la infraestructura tecnológica de nuestra corporación. Revisando la documentación de Atlassian, hemos verificado que la integración entre ambos entornos se podría realizar mediante la API de JIRA. De esta manera podemos juntar lo mejor de las dos herramientas y potenciar sus posibilidades. A partir de la versión 7 de JIRA la API viene activada por defecto, por lo que no tendremos que realizar ningún cambio en la herramienta.

Para realizar esta integración hemos desarrollado un plugin, disponible en la librería de plugins de Pandora FMS. Su instalación es sencilla, y nos permitirá automatizar la gestión de incidencias en JIRA en el momento en el que salte una alerta debido a que un módulo de Pandora FMS haya cambiado de estado.

Lo primero que haremos para empezar con la integración de JIRA en Pandora FMS será descargarnos el plugin de la librería indicada anteriormente, y lo situamos, por ejemplo, en la carpeta /usr/share/pandora_server/util/plugin/jira_ticket.sh junto al resto de scripts del servidor de Pandora FMS, para ello podemos valernos de WinSCP.

jira integracion

Una vez con el archivo en nuestra instancia de Pandora FMS, nos aseguramos de que tiene permisos de ejecución; en caso de que no los tuviera, los podemos agregar rápidamente con el comando chmod +x jira_create.sh

Ahora tenemos el plugin listo para su configuración. En Pandora FMS las alertas se basan en tres componentes: comandos, acciones y plantillas. Inicialmente, crearemos un nuevo comando basado en el script jira_create.sh. Para ello, acudimos al menú Alertas > Comandos, e introducimos el comando que se lanzará cuando una alerta se dispare. El comando establecido es el siguiente:

/usr/share/pandora_server/util/jira_create.sh -c _field1_ -u _field2_ -k _field3_ -t _field4_ -d "_field5_" -p "_field6_" -a _field7_ -g _field8_ -i _field9_ -s _field10_ -o _field11_ -m _module_id_

jira integracion configuración de alertas

Para ejecutar el comando con las variables que necesitamos, hemos hecho uso de las macros, se han establecido las siguientes:

  • _field1_ Se corresponde con la URL de la instancia de JIRA
  • _field2_ Se corresponde con el usuario de acceso a la API
  • _field3_ Se corresponde con la contraseña del usuario de la API
  • _field4_ Se corresponde con el proyecto de la incidencia
  • _field5_ Se corresponde con el título de la incidencia
  • _field6_ Se corresponde con la descripción de la incidencia
  • _field7_ Se corresponde con el usuario al que se asigna el ticket
  • _field8_ Se corresponde con el tipo de incidencia
  • _field9_ Se corresponde con la prioridad
  • _field10_ Se corresponde con el nivel de seguridad
  • _field11_ Se corresponde con los parámetros personalizados
  • _id_module_ Se corresponde con el módulo que dispara la alerta

Es importante tener en cuenta que hay que establecer dos acciones independientes, una para la generación de tickets y otra para su recuperación.

Cuando queramos crear la acción correspondiente al cierre de incidencias debemos tener en cuenta que los parámetros a utilizar son diferentes, como se indica en el ejemplo a continuación:

Configure Alert command integración jira con pandora fms

Como se puede ver, los campos que nos harán falta son tan sólo:

  • _field1_ Se corresponde con la URL de la instancia de JIRA
  • _field2_ Se corresponde con el usuario de acceso a la API
  • _field3_ Se corresponde con la contraseña del usuario de la API
  • _id_module_ Se corresponde con el módulo que dispara la alerta
  • _field4_ Este campo se corresponde en este caso con el disparador para la recuperación. Este es un valor especial que siempre será “validate” y que servirá para indicar a JIRA que la incidencia está resuelta.

Ahora es momento de configurar la acción. Para ello acudimos a Alertas > Acciones. En este apartado introducimos los datos reales de nuestra instancia, dando los valores a las macros establecidas en el paso anterior, para que Pandora FMS sea capaz de comunicarse con JIRA y poder llevar a cabo la apertura de issues. Para definir con valores estos campos, podemos hacer uso de las propias macros de Pandora FMS, con lo que la issue de JIRA ya se crearía con la propia información que Pandora FMS recoge.

A modo de ejemplo, en nuestro entorno quedaría de la siguiente manera:

alerta action integración jira con pandora fms

Según rellenamos con valores los parámetros de la parte inferior, en el Command preview podemos comprobar el comando que Pandora FMS ejecutará cuando una alerta se dispare.

Hemos optado por configurar los campos con las siguientes macros del sistema; esto es sólo una muestra, podéis configurarlo a vuestro gusto. Cabe destacar que, para introducir saltos de línea en la descripción del ticket, debemos indicarlos en el campo destinado a este fin con \n

configuración de campos integración jira con pandora fms

configuración de campos 2 integración jira con pandora fms

Veamos también un ejemplo de cómo sería una alerta para la recuperación de los eventos:

Configuración acción de alertas  integración jira con pandora fms

Configuración acción de alertas 2  integración jira con pandora fms

Para una óptima gestión de las alertas en nuestra instalación es recomendable vincular las mismas a eventos. De esta forma nos aseguraremos de que nuestro entorno esté correctamente monitorizado y se generen avisos para cada módulo dentro del agente que deseemos.

Es importante recordar una vez más que los procesos de creación y resolución de alertas funcionan de manera independiente, así que habrá que crear dos eventos por separado y a cada uno asignarle la condición con la que queramos que se dispare, como podría ser que un módulo entre en estado crítico para generar la incidencia y la vuelta al estado normal para cerrar el ticket correspondiente en JIRA.

Eventos y alertas integración jira con pandora fms

Para comprobar que todo trabaja correctamente y ya con el plugin instalado y configurado podemos probar su funcionamiento forzando el disparado de una alerta, para ello acudimos a un agente de Pandora FMS, vinculamos una alerta a un módulo y como acción establecemos la creación de incidencias en JIRA.

Una vez lanzada la alerta, accedemos a la instancia de JIRA para ver el resultado:

jira integracion

Como podemos comprobar, Pandora FMS es una herramienta de monitorización flexible, que permite la integración con otros sistemas de una manera rápida y sencilla con la librería de plugins. A esta librería tienen acceso todos los usuarios de la versión Open Source, incluso pueden desarrollar los suyos propios y subirlos para que el resto de usuarios pueda emplearlo en sus instancias. Además, se disponen de otros plugins destinados a empresas, disponibles con la versión Enterprise.

Las incidencias pueden ser creadas en cualquier proyecto que tengamos. Podemos incluso crear un nuevo proyecto con sus roles, su propio workflow, sus campos personalizados… o bien podemos agregar un nuevo tipo de incidencia (type of issue) en un proyecto existente y así tener controladas las incidencias de Pandora FMS, solo por poner unos ejemplos. Las posibilidades con JIRA son infinitas.

Gracias a este plugin, todas las alertas que se disparen en Pandora FMS no sólo generarán su correspondiente ticket en JIRA, sino que seremos capaces de almacenar el identificador de la alerta con el módulo asociado para posibles comprobaciones. Esto es especialmente útil para los técnicos que se encuentran solventando los diferentes problemas de la infraestructura de IT, ya que automáticamente se les asignará la issue a su cola de incidencias. De esta manera todo quedaría centralizado. También puede ser útil de cara a la generación de informes en la herramienta JIRA, donde podremos contar con las incidencias y utilizar esta información en addons como eazyBI o Power Report.

Shares