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 Python versión 3 para el código fuente. Linux® x64 para código compilado. Incompatible en sistemas MS Windows®. Prerrequisitos Los requisitos son los siguientes: Una cuenta de Telegram® para crear el bot . Añadir el bot al grupo de noti fi cación. Obtener la id del grupo. Tener instalado Python versión 3 en el PFMS Server con el módulo: request (solamente para código fuente). 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 : 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 pre fi era . 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 .   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í fi co . También se puede simplemente añadir el bot a un grupo existente . 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). 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. Con fi gurar 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 fi chero 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 fi chero 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 \ -c \ -m \ [ --api_conf ] \ [ --module_graph ] \ [ --tmp_dir ] 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: 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 , p ara comprobarlo se ejecuta : python3 pandora-telegram-cli.py Se obtendrá una respuesta similar a esta: 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: 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 : 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 : Bien puede: Utilizar la acción que viene por defecto al instalar Pandora FMS. Copiar la acción anterior y personalizar según necesidades. Puede darse el caso de que varios grupos de agentes utilicen distintas acciones de alerta configuradas según cada caso. Crear una acción basada en el comando de alerta (de solo lectura) Telegram. 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: En nombre y grupo indique y elija según el caso. Asegúrese que en la lista  Command  esté seleccionado  Pandora Telegram . En  Chat ID  introduzca el identificador correspondiente.  Este campo no acepta macros, solamente introduzca dicho identificador. En el campo  Message  para  Triggering , si está vacío, inserte  [PANDORA] Alert FIRED on _agent_ / _module_ / _timestamp_ / _data_  . Consulte las demás  macros disponibles  para insertar más información. En el campo  Message  para  Recovery , si está vacío, inserte  [PANDORA] Alert RECOVERED on _agent_ / _module_ / _timestamp_ / _data_  . Consulte las demás  macros disponibles  para insertar más información. Presione el botón  Create  si es está creando una acción de alerta o(  Update  si se está editando) para guardar los parámetros. Haga clic en  Create . Una vez haya creado esta acción de alerta, esta puede ser incluida en  una política ,  una plantilla  o  Módulo . Si se requiere información adicional visite la  documentación del  plugin .