Telegram уведомления из Zabbix

В этой статье я приведу пример настройки telegram уведомлений из Zabbix.

В первую очередь необходимо создать telegram бота через которого и будут из Zabbix приходить сообщения. Для этого пользователю @BotFather необходимо написать:

/start
/newbot

Потом указать имя бота и логин который будет указан в ссылке на бота, после этого вам будет показан секретный token. Если что, API можно посмотреть по ссылке core.telegram.org/bots/api.

Пример отправки личного сообщения из Linux:

curl --header 'Content-Type: application/json' --request 'POST' --data '{"chat_id":"123456789","text":"Тестовое сообщение"}' "https://api.telegram.org/bot111122222:AABBCCXXFFGGSSRRTTEE/sendMessage"

Где:
111122222:AABBCCXXFFGGSSRRTTEE — секретный token вашего бота, а 123456789 — ваш ID в telegram. Чтобы узнать ваш ID, необходимо боту @my_id_bot написать:

/start

В директории со скриптами для уведомлений создадим файл скрипта (по умолчанию AlertScriptsPath=/usr/lib/zabbix/alertscripts):

nano /usr/lib/zabbix/alertscripts/telegram_bot.sh
chmod +x /usr/lib/zabbix/alertscripts/telegram_bot.sh

Содержимое скрипта:

#!/bin/bash

token='111122222:AABBCCXXFFGGSSRRTTEE'
chat="$1"
subj="$2"
message="$3"

/usr/bin/curl -s --header 'Content-Type: application/json' --request 'POST' --data "{\"chat_id\":\"${chat}\",\"text\":\"${subj}\n${message}\"}" "https://api.telegram.org/bot${token}/sendMessage"

Проверим работу скрипта (где 123456789 — ваш ID в telegram):

/usr/lib/zabbix/alertscripts/telegram_bot.sh 123456789 Тест 'Тестовое сообщение'

Создадим способ оповещения в настройках Zabbix, а именно в меню «Администрирование» — «Способы оповещений» — «Создать способ оповещения» и укажем:
Имя: Telegram
Тип: Скрипт
Имя скрипта: telegram_bot.sh
Параметры скрипта:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

Далее в меню «Администрирование» — «Пользователи» выберем нужно пользователя, перейдем во вкладку «Оповещения» и добавим:
Тип: Telegram
Отправлять на: Ваш ID в telegram
Отметим какой важности сообщения отправлять, нажмем «Добавим» и «Обновить».

В меню «Настройка» — «Действия» — «Report problems to Zabbix administrators» можно изменить шаблон уведомлений или добавить новый.

Если вы хотите отправлять сообщения в teleram группу, то создайте группу, добавьте в нее пользователя @my_id_bot и напишите /start чтобы узнать ID группы, потом добавьте в группу вашего бота, далее аналогичным выше методом в меню «Администрирование» — «Пользователи» выберем нужно пользователя, перейдем во вкладку «Оповещения» и добавим:
Тип: Telegram
Отправлять на: ID группы в telegram
Отметим какой важности сообщения отправлять, нажмем «Добавим» и «Обновить».

Если возникает ошибка «Bad Request: group chat was upgraded to a supergroup chat», то снова добавьте @my_id_bot и сверьте правильный ли ID группы вы указали.

Смотрите другие мои статьи на тему Zabbix.

Вливайтесь в общение

1 комментарий

Добавить комментарий