Configurar Telegram en Zabbix
Hoy vamos a explicaros como integrar Zabbix con Telegram. Lo que nos permitirá tener nuestras notificaciones sobre una plataforma de comunicación más cómoda que el email. Hace un tiempo os expliqué como instalarlo, pero aún no he tenido tiempo a ir integrando sistemas para alimentarlo. En este puente he empezado a trabajar sobre el sistema y ya tengo suficiente para poder ir enseñando.
Preparar Telegram para Zabbix
Los primeros pasos para la integración de Zabbix para enviar alertas a Telegram, tenemos que hacer esto. Buscamos el usuario BotFather, en nuestra aplicación Telegram (yo lo he hecho desde mi Iphone), y nos ponemos a “hablar con él”:
- Le pedimos lanzar la creación de un bot:
- /newbot
- Usuario para el bot:
- Damos un nombre identificativo, por ejemplo, ElBlogDeNegu
- Nombre del usuario:
- Os lo inventáis
- Nombre del bot:
- Le damos un nombre para el bot, ejemplo, elblogdenegu_bot
- Y si todo ha ido bien, nos devolverá unas letras donde aparece la URL y el Token que usaremos para configurar Zabbix:
¿Qué necesitamos más antes de pasar a Zabbix? Pues necesitamos crear un nuevo Grupo en Telegram que es donde llegarán los mensajes de las alertas. Y agregamos al bot como si de un usuario normal se tratara:
Y para terminar agregamos también al bot RawDataBot:
Una vez que tenemos a los dos bots en el grupo escribimos /getgroupid y automáticamente nos devolverá el ID de la sección Chat que usaremos con el Token para configurar Zabbix:
Ya podemos ir a Zabbix.
Configurando Telegram en Zabbix
Accedemos vía SSH al servidor de Zabbix y vamos al directorio:
cd /usr/lib/zabbix/alertscripts
Ahora bajamos el script:
https://gist.github.com/raulunzue/a45900f1e6d4bf6a4e2b7f317bee5eb0
Y generamos un fichero con el contenido:
nano zabbix-telegram.sh
Le damos permisos de ejecución:
chmod +x zabbix-telegram.sh
Parámetros a modificar:
IP SERVIDOR: ZBX_URL=
USERNAME: USERNAME=
CONTRASEÑA: PASSWORD=
VERSION DE ZABBIX: ZABBIXVERSION44=
TOKENID: BOT_TOKEN=
Entramos en la consola de Zabbix como administrador. Vamos a Administración -> Tipos de medios -> Crear tipo de medio:
Configuramos un tipo Script, con el nombre que hemos dado al fichero y con los siguientes parámetros:
Ahora vamos a generar una Acción. Le damos un nombre:
En la pestaña Operaciones:
- ASUNTO POR DEFECTO:
-
1{TRIGGER.STATUS} {TRIGGER.SEVERITY} {TRIGGER.NAME} on {HOST.NAME1}
-
- MENSAJE POR DEFECTO:
-
123456789Trigger:{TRIGGER.NAME}Trigger status:{TRIGGER.STATUS}Trigger severity:{TRIGGER.SEVERITY}Trigger URL:{TRIGGER.URL}Item values:1.{ITEM.NAME1}({HOST.NAME1}:{ITEM.KEY1}):{ITEM.VALUE1}Item Graphic:[{ITEM.ID1}]
-
Agregamos Operaciones en la subsección y agregamos los usuarios que tendrán acceso a Telegram. Pulsamos Agregar:
Y volvemos a Agregar:
Le damos permisos al usuario y si no queréis volveros locos bajar el nivel de notificación. En Administración -> Usuarios -> Editar usuario -> Medio. Introducimos el ID en Enviar a:
Veremos que está agregada:
Volvemos a Administración y pulsamos en probar en AlertasTelegram y en enviar usaremos el ID del grupo de telegram:
Si todo va bien, deberemos ya recibir una alerta de ejemplo, y las sucesivas que surjan en nuestra infraestructura.
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Excelente tutorial Raúl.
Dos sugerencias que no acabo de ver:
– Negritas/itálicas, etc… en el Msg de Telegram no funcionan.
– [{ITEM.ID1}] me retorna en el msg un número en lugar de gráfico.
Un saludo.