Entradas con la etiqueta ‘telegram’
Avisos Nagios en Telegram – Debian 7
Siguiendo el hilo del servidor nagios con avisos telefónicos que montamos en mis ultimas entradas, ahora vamos a implementar avisos por telegram, usando Telegram-cli, así ademas de recibir la llamada, tendremos información detallada de que ocurre sin tener que conectarnos al nagios.
Lo primero es instalar las dependencias necesarias para telegram-cli
apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev python2.7-dev make git |
Y clonar el repositorio de telegram-cli, yo lo haré en mi carpeta home
cd home |
git clone --recursive https://github.com/vysheng/tg.git && cd tg |
./configure |
Si no ha dado ningún error podemos compilar.
make |
Al terminar comprobaremos que funciona correctamente con:
/home/tg/bin/telegram-cli -k /home/tg/tg-server.pub -W -e "msg <nombretelegram> probando" |
La primera vez que lo ejecutemos nos pedirá que introduzcamos un numero de teléfono, importante no olvidar el código de país, para españa +34.
Nos llegara un mensaje con el código que debemos de introducir.
Este paso se tendrá que repetir con todos los usuarios que vayan a usar telegram-cli, lo que quiere decir que si estamos con root, tendremos que cambiar al usuario nagios y ejecutar telegram-cli para que nos pida nuevamente otro código.
Ahora vamos a la parte Nagios.
Tenemos que editar los siguientes archivos: commands.cfg y contacts.cfg
En commands.cfg añadiremos lo siguiente (comprobando que la ruta de telegram-cli y tg-server.pub sean correctas)
#Telegram define command{ command_name notify-host-by-telegramcli command_line /home/tg/bin/telegram-cli -k /home/tg/tg-server.pub -WR -U root -D -e 'msg $_CONTACTTG$ $NOTIFICATIONTYPE$ Host : $HOSTNAME$ is $HOSTSTATE$ Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ @ $LONGDATETIME$' } define command{ command_name notify-service-by-telegramcli command_line /home/tg/bin/telegram-cli -k /home/tg/tg-server.pub -WR -U root -D -e 'msg $_CONTACTTG$ $NOTIFICATIONTYPE$ Host : $HOSTNAME$ Address: $HOSTADDRESS$ - Service : $SERVICEDESC$ is $SERVICESTATE$ Additional Info: $SERVICEOUTPUT$ @ $LONGDATETIME$' } |
En contacts.cfg añadimos:
define contact{ contact_name telegram-cli _tg nombredelcontacto ; Nombre de telegram al que irán dirigidos los mensajes, si tiene espacios hay que usar "_" alias pruebas service_notification_period 24x7 host_notification_period 24x7 service_notification_options c host_notification_options d service_notification_commands notify-service-by-telegramcli host_notification_commands notify-host-by-telegramcli } |
Y solo nos queda editar algún host o servicio y poner el contacto elegido, en mi caso «telegram-cli» aunque también es posible añadir notify-service-by-telegramcli y notify-host-by-telegramcli a un contacto ya existente, sin olvidar añadir el nombre de telegram con «_tg» y complementar notificaciones.
Por último reiniciamos el servicio y a comprobar que todo funcione.
service nagios restart
Debe estar conectado para enviar un comentario.