Alertas Twitter

Alertas Twitter

Alertas Twitter: ¿Cómo integrar alertas de Pandora FMS en Twitter?

Hasta la fecha, muchos usuarios de Pandora FMS han creado diferentes tipos de alertas, como las alertas simples o alertas sobre eventos. En este artículo vamos a describir un proceso de integración de alertas en Twitter, con la aplicación del proyecto Oysttyer.

Instalación Oysttyer

Para crear alertas en Twitter vamos a descargar e instalar esta herramienta en nuestro servidor de Pandora FMS. Podemos descargarla desde su proyecto en Github, y descomprimirla en nuestro servidor de Pandora FMS ejecutando los siguientes comandos:

# wget https://github.com/oysttyer/oysttyer/archive/master.zip
# unzip master.zip

Dado que está desarrollada en perl y es una de las dependencias del servidor de Pandora FMS, no necesitaremos instalar ninguna dependencia adicional y podremos ejecutarla desde el primer momento. La puesta en marcha es muy sencilla; simplemente tendremos que ejecutar la aplicación oysttyer.pl y autorizar el uso de nuestra cuenta. Para ello, la propia herramienta nos indicará unos breves pasos.

# cd oysttyer-master
# ./oysttyer.pl

En caso de que la ejecución no funcione tendremos que otorgar permisos de ejecución a oysttyer.pl o bien realizar la llamada con perl. Esta primera ejecución nos mostrará los siguientes mensajes:

alertas twitter

Alertas Twitter

Únicamente tendremos que copiar la URL completa del paso 1 y pegarla en un navegador donde nuestra sesión de Twitter se encuentre abierta. Una vez hecho, nos pedirá acceso para utilizar la cuenta, y al confirmarlo nos mostrará un código numérico que tendremos que utilizar en el paso 5 que se muestra en la captura:

alertas twitter

Se mostrará un aviso confirmando que la petición ha tenido éxito, y ya podremos comenzar a utilizar la utilidad para realizar con nuestra cuenta de Twitter desde línea de comando:

alertas twitter

Uso Oysttyer

Oysttyer tiene su propia consola de comandos, desde la cual podemos visualizar la ayuda y ejecutar cualquier acción disponible; no obstante, vamos a presentar la forma óptima y más rápida de integrar la herramienta con las alertas de Pandora FMS, para lo que no utilizaremos su consola de comandos sino que ejecutaremos las acciones directamente desde el terminal del sistema operativo. Las dos acciones básicas que nos interesan aquí serán publicar un tweet y enviar un mensaje privado. Hay multitud de opciones adicionales, pero aquí cubriremos las básicas para poder trabajar con el sistema de alertas en Twitter de Pandora FMS.

Alertas Twitter

En primer lugar probaremos ambas acciones desde la consola de Oysttyer:

# ./oysttyer.pl
oysttyer> publishing test tweet

Habremos publicado el tweet “publishing test tweet”, tan sencillo como eso. Ahora probaremos el envío de un mensaje privado a otro contacto. Es importante comentar que, para que esto sea posible, el destinatario debe ser seguidor de nuestra cuenta de avisos:

# ./oysttyer.pl
oysttyer> /dm @system_administrator private message

En el ejemplo anterior @testing_alerts2 será sustituido por el contacto de Twitter al que queramos enviarle el mensaje privado. Si ambas acciones han tenido éxito no veremos ningún mensaje de confirmación, solamente aparecerá un aviso en caso de que haya habido algún problema. Ahora que hemos probado que las acciones funcionan correctamente, vamos a ejecutarlas directamente desde el terminal de nuestro sistema operativo sin pasar por la consola de Oysttyer, para lo que nos valdremos de echo y las tuberías o pipes “|”.

Tweet público:

echo “This is a public tweet from command line” | ./oysttyer.pl &>/dev/null

Mensaje privado:

echo “/dm @system_administrator private message from terminal” | ./oysttyer.pl &>/dev/null

Configuración alertas Twitter de Pandora FMS

Ahora que tenemos listo nuestro servidor de Pandora FMS para la interacción con Twitter, vamos a configurar las alertas en Pandora FMS para que usen esta utilidad y comenzar a aplicarla a casos reales, tanto para publicar un tweet como para enviar un mensaje privado.

Publicar alertas en Twitter de Pandora FMS

Tendremos, en primer lugar, que definir el comando o llamada, para lo que iremos a la sección correspondiente y declararemos la ejecución de forma similar a los ejemplos anteriores:

Sección de comandos de alertas:

alertas twitter

Definición del comando a ejecutar:

alertas twitter

Alertas Twitter

La ejecución que hemos utilizado en el ejemplo de la captura es el siguiente (en una sola línea):

echo "Alert fired from agent: _agent_ on module: _module_ at _timestamp_" | /usr/share/pandora_server/util/oysttyer-master/oysttyer.pl &>/dev/null

Los parámetros _agent_, _module_ y _timestamp_ son macros que Pandora FMS sustituirá por valores reales cuando la alerta Twitter se dispare, en este caso, el nombre del agente, nombre del módulo y momento exacto en que se produjo la situación de alerta. La redirección &>/dev/null hará que la alerta se ejecute de manera “silenciosa”, sin mostrar mensajes de error o aviso en el terminal de nuestro server.

Ahora procederemos a crear la acción en un par de pasos breves.

Sección de acciones:

alertas twitter

Configuración de la acción:

alertas twitter

En el paso de la anterior captura simplemente elegiremos el comando adecuado, en este caso Twitter publication. Ahora podemos crear una plantilla o bien utilizar alguna ya disponible. En este caso vamos a crear una plantilla simple que defina las condiciones de disparado: saltará la alerta cuando un módulo pase a estado crítico.

alertas twitter

Alertas Twitter

Parámetros descriptivos de la plantilla:

alertas twitter

Condiciones de disparado, horario de actuación y acción por defecto:

twitter alerts

El paso 3 Advanced fields podemos dejarlo por defecto, ya que no lo utilizaremos para este caso. Ahora que hemos definido la alerta vamos a asociarla a un módulo, para que cuando este pase a estado crítico veamos una publicación en nuestro Twitter. Para ello accedemos a la sección de administración de cualquier agente, sección alertas, y completamos el formulario eligiendo el módulo, acción (no necesario si establecimos una acción por defecto en el paso anterior) y plantilla:

alertas twitter

En este caso se disparará la alerta cuando el módulo Free_RAM pase a estado crítico. Estas condiciones de disparado están definidas en la plantilla, que ejecutará su acción por defecto.

alertas twitter

Una vez seguido el proceso completo, si nuestro módulo pasa a estado crítico, veremos el resultado de la ejecución de la alerta como publicación en la cuenta de Twitter que hemos empleado:

alertas twitter

alertas twitter

Enviar un mensaje privado con una alerta en Twitter de Pandora FMS

La configuración de esta alerta será prácticamente idéntica a la explicada en el punto anterior; la única diferencia será el comando a ejecutar una vez se dispare la alerta.

Vamos a recordar brevemente los pasos y ver qué comando utilizaríamos.

Creación del comando mensaje privado:

alertas twitter

Emplearíamos este comando (en una sola línea):

echo "/dm @pandora_alerts2 Private twitter notification for critical status on: _agent_ / _module_ at _timestamp_" |/usr/share/pandora/server/util/oysttyer-master/oysttyer.pl &>/dev/null

Alertas Twitter

Sustituiríamos @pandora_alerts2 por el contacto de Twitter al que deseamos enviar el mensaje. La redirección &>/dev/null evitará que en el terminal de nuestro server nos aparezcan mensajes de error cuando se ejecute la alerta, asegurándonos de que se lanza de manera “silenciosa”.

Creación de la acción:

alertas twitter

En este caso, ya que en el punto anterior definimos una template con unas condiciones de disparado, vamos a reutilizarla, pero indicaremos que la acción a ejecutar no es la acción por defecto asociada a la template, sino esta nueva acción que acabamos de crear.

Como puede verse en las capturas anteriores, para este caso necesitaremos indicar una cuenta destinatario, que deberá ser seguidor en Twitter de la cuenta que empleemos para enviar las alertas de Pandora FMS. En este caso hemos utilizado la cuenta destinatario “@pandora_alerts2”.

Asociación a módulo:

alertas twitter

Estado final que presentará la alerta:

alertas twitter

Si todos los pasos de configuración se han seguido correctamente, cuando se produzca la situación de alerta veremos un mensaje privado en la cuenta de nuestro @pandora_alerts2 como este:

alertas twitter

Aparte de los casos que hemos visto, las acciones que se pueden realizar mediante la herramienta Oysttyer son muchas más, pudiendo llegar a operar casi completamente cualquier cuenta de Twitter mediante las diferentes opciones que presenta, por lo que a partir de este punto las opciones de integración pueden ascender a cuanto podamos imaginar.

Escalado de alertas Twitter

Además de las alertas simples que hemos visto, Pandora FMS soporta el escalado de alertas, por lo que es posible que, ante repeticiones reiteradas de la situación crítica, la alerta ejecute unas acciones diferentes. Vamos a mostrar brevemente cómo configuraríamos una alerta para publicar un tweet las primeras veces que se produzca la situación crítica, y un escalado tras varias reiteraciones, que enviará un mensaje privado.

En los dos bloques anteriores podemos ver con detalle cómo configurar individualmente las alertas de tweet público y mensaje privado. Para configurar el agregado de acciones de forma escalada a la alerta existente desde la sección de alertas del agente, en primer lugar definiremos la alerta básica, en este caso un tweet público, que es la acción por defecto de nuestra template “Critical status”:

alertas twitter

Y agregaremos las nuevas acciones escaladas del siguiente modo una vez tengamos la alerta básica:

alertas twitter

Especificación de la nueva acción y el rango de coincidencias en el que se aplicará esta acción:

alertas twitter

Shares