Отправка уведомлений из zabbix в Telegram — Настройка оповещений Zabbix в Telegram.
В предыдущих темах мы установили систему мониторинга Zabbix и показали на примерах как добавить на мониторинг устройства Dlink и Mikrotik. Для удобства оповещений о неполадках устройств мы настроим отправку оповещений из Zabbix в Telegram
на наш аккаунт или общий чат, в случае если надо оповестить всех участников чата.
Создание бота Telegram.
В первую очередь нам необходимо создать бота, от которого в дальнейшем мы будем получать уведомления о неисправностях.
1. Над списком контактов в поле Search находим бота @BotFather и жмем на панель c названием /start или вводим команду /start в поле для сообщений. 2. Следующей командой /newbot мы получаем сообщение: «Alright, a new bot. How are we going to call it? Please choose a name for your bot.», исходя из которого нам нужно задать имя, в конце которого обязательно должно присутствовать слово bot. Например, ithelp21_zabbixbot.
3. В ответ на наше сообщение с именем бота мы получаем Token бота, который выглядит в виде «Use this token to access the HTTP API: 423393656:AAE1hJ5EE_o8KIDWrWW9A8-hZnpAL9-htGI»
Настройка аккаунта Telegram, получение ID.
Нам нужно определить идентификационный номер своего контакта, на который мы будем получать уведомления от ithelp21_zabbixbot. Для этого снова находим в поиске @MyTelegramID_bot и жмем кнопку /start или вводим команду, после которой мы получим ID «This BOT simply telling you your current Telegram ID. You Telegram ID: 194533722».
Теперь проверим отправку сообщений с нашего бота на на аккаунт в Telegram. В CentOS, где установлен zabbix-server запускаем команду, со своими данными. В моем случае команда будет выглядеть так:
Шаблон для ввода своих данных:
Обратите внимание что Token нужно вводить сразу же api.telegram.org/bot"Token" без пробела после «bot»!
Если все данные ввели верно, мы получим в чате сообщение «Привет, я Telegram-bot для Zabbix!» от нашего бота.
Добавим Telegram — уведомление в Zabbix.
1. Проверяем, где у нас в Zabbix находится папка для скриптов, который мы далее создавать, вводим команду и получаем результат.
Создаем в выше указанной папке script с именем zabbix-to-telegram-bot.sh:
и заполняем его следующим кодом:
Даем права скрипт-файлу:
Настройка оповещений в Zabbix через Telegram.
1. Заходим в Администрирование — Способы оповещений — Создать способ оповещения.
Имя: Telegram Bot; Тип: Скрипт; Имя скрипта: zabbix-to-telegram-bot.sh; Параметры скрипта: {ALERT.SENDTO} — адрес отправителя; {ALERT.SUBJECT} — тема сообщения; {ALERT.MESSAGE} — текст сообщения; Активировано: ставим галочку; Жмем Добавить.
2. Идем в Администрирование — Пользователи — Выбираем нашего пользователя «Admin». В открывшемся окне пользователя переходим на вкладку «Оповещения» — Добавить.
Тип: Telegram Bot; Отправлять на: 194533722 (ID нашего telegram аккаунта); Остальные параметры оставляем по-умолчанию или на ваше усмотрение. Активировано: ставим галочку; Добавить.
3. Переходим Настойка — Действие — Источник событий «Триггеры» — Создать действие.
Вкладка Действие: Имя: Уведомление Telegram c Zabbix; Активировано: ставим галочку;
Вкладка «Операции»: Длительность шага операции по умолчанию: 60 — (через 60 секунд после срабатывание триггера приходит уведомление) Нажимаем в этой же вкладке Операции — Новое. Меняем только: Тип операции: Отправить сообщение; Отправлять пользователям: Admin; Отправлять только через: Telegram Bot; Добавить.
Во вкладке «Операции восстановления» повторяем тоже самое, что и во вкладке «Операции».
На этом настройка оповещений Zabbix от Telegram завершена. Остается положить какой-нибудь порт с мониторинга, и дождаться уведомление о триггере.