Telegram bot CLI

Conector CLI de bots de Telegram® para usar en alertas de Pandora FMS.

Introducción

Versión 080621.

Conector CLI de bots de Telegram® para usar en alertas de Pandora FMS.

Matriz de compatibilidad

Prerrequisitos

Los requisitos son los siguientes:

Configuración

Creación del BOT en Telegram

Desde una cuenta de Telegram® se debe escribir /start al usuario BotFather para crear un bot.

Devolverá una serie de parámetros e instrucciones disponibles para la creación y manipulación de bots:

image-1626693442412.png

Utilizar la opción /newbot para crear un nuevo bot.

Preguntará el nombre, para este caso Pandora_FMS_Test_bot , se puede utilizar el nombre que se prefiera.

Ahora pedirá un id de usuario para el bot, este tiene que terminar en _bot. En este caso se utiliza el mismo anterior: Pandora_FMS_Test_bot.

Ahora devolverá la información de nuestro bot y algunas instrucciones para su administración, se debe copiar y guardar el API token que es con el que nos autenticaremos como ese bot.

image-1629719317095.png

 

Crear un grupo y añadir el bot


Para crear un grupo desde Telegram se debe hacer clic en crear grupo y seleccionar los usuarios que estarán en ese grupo. Es importante que uno de esos usuarios sea nuestro bot para poder enviar mensajes a ese grupo específico.

También se puede simplemente añadir el bot a un grupo existente.

image-1626695074691.png

Obtener la id del grupo para enviar mensajes desde el CLI

Ahora se necesita obtener la id del grupo en el que hemos añadido nuestro bot, hay diferentes formas de hacerlo. Una de las más sencillas es añadir otro bot que extrae esa información muy fácilmente GetIDs Bot.

Lo añadimos al grupo que queremos conocer el id y dará una serie de instrucciones para su uso. Solamente con añadirlo ya proporciona la información que necesitamos (id del grupo).

image-1629719396585.png

Una vez tengamos la id del grupo lo copiamos y guardamos.

Podemos eliminar este GetIDs Bot del grupo porque ya ha cumplido el objetivo de darnos el id.

Configurar Pandora-Telegram CLI


Para usar el Pandora Telegram CLI (source code) se debe tener instalado Python versión 3 y Pip versión 3 para las dependencias. Para instalar las dependencias, en el paquete a descargar verá el fichero requirements.txt, nos posicionamos en su directorio y ejecutamos:

pip3 install -r requirements.txt

Esto descargará e instalará las dependencias necesarias.

Una vez instaladas las dependencias ejecutamos el fichero pandora-telegram-cli.py -h con el intérprete de Python para ver su ayuda:

python3 pandora-telegram-cli.py -h
usage: pandora-telegram-cli.py [-h] -m MESSAGE -t TOKEN -c CHAT_ID
Bot telegram cli
optional arguments:
-h, --help show this help message and exit
-m MESSAGE, --message MESSAGE
Message to be send
-t TOKEN, --token TOKEN
Bot token
-c CHAT_ID, --chat_id CHAT_ID
chat id to send messages

Si vemos la ayuda sin error alguno pues ya estamos listos para usarlo.

Parámetros generales del plugin

# [Optional parameter]
python pandora-telegram-cli.py \ 
  -t <bot_token> \ 
  -c <chat_id> \ 
  -m <MESSAGE> \ 
  [ --api_conf <API_CONF> ] \ 
  [ --module_graph <MODULE_GRAPH> ] \ 
  [ --tmp_dir <TMP_DIR> ]

image-1626777891772.png

Si las credenciales son correctas nos devolverá en formato JSON la información del mensaje que acabamos de enviar, que podremos ver recibido en nuestro grupo de Telegram:

image-1626778321184.png

Uso en Pandora FMS

El plugin Telegram® viene plenamente integrado en Pandora FMS versión 800.

El script por defecto está ubicado en: /usr/share/pandora_server/util/pandora-telegram-cli.py. No obstante se puede usar cualquier ubicación siempre que el PFMS Server tenga acceso a esta.

Se debe asegurar de que se tienen todas las dependencias instaladas, para comprobarlo se ejecuta:

python3 pandora-telegram-cli.py

Se obtendrá una respuesta similar a esta:

image-1626779978941.png

En caso de tener algún error se deberán reinstalar las dependencias:

pip3 install -r requirements.txt

 

Comando de alerta Telegram

Teniendo el plugin en el servidor y funcionando correctamente, ahora tenemos que configurarlo en la Consola web de Pandora FMS. Una vez accedemos como usuario administrador (o con permisos de gestión de alertas) se verifica la instalación del comando de alerta Telegram en el menú Management → Alerts→Commands. En Filter introduzca la clave de búsqueda:

pfms-telegram-integration-140.png

Este comando carece de acciones de edición y borrado por lo que se considera de solamente lectura, utilizado por el sistema. Por ello deberá ir a la configuración general para grabar el token obtenido en el tema anterior.

Menú Managements → Settings → System settings → General setup → Alerts configuration:

pfms-telegram-integration-142.png

El campo muestra en texto plano el token, tómese las precauciones del caso antes visualizaciones por terceros del mismo.

Al finalizar pulse el botón Update para guardar el token de Telegram en la base de datos.

Acción de alerta Telegram

Vaya al menú Management→ Alerts→ Actions y en Filter elija Pandora Telegram en el campo Command. Serán mostradas las acciones de alerta que utilizan el comando Pandora Telegram:

pfms-telegram-integration-144.png

Bien puede:

Para cualquiera de los tres casos siempre se deberá configurar el Chat ID, obtenido según se indica en tema anterior.

Sea edición, copia y edición o creación, el proceso de configuración es similar:

pfms-telegram-integration-146.png

Haga clic en Create. Una vez haya creado esta acción de alerta, esta puede ser incluida en una políticauna plantilla o Módulo.

Si se requiere información adicional visite la documentación del plugin.