Archivo del 24 de enero de 2016

Avisos Nagios en Telegram – Debian 7

nagiostelegram
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

Archivos
Categorías

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies