В предыдущих темах мы установили систему мониторинга Zabbix и показали на примерах как добавить на мониторинг устройства Dlink и Mikrotik. Для удобства оповещений о неполадках устройств мы настроим отправку оповещений из Zabbix в Telegram на наш аккаунт или общий чат, в случае если надо оповестить всех участников чата.
Создание бота Telegram.
В первую очередь нам необходимо создать бота, от которого в дальнейшем мы будем получать уведомления о неисправностях.
3. В ответ на наше сообщение с именем бота мы получаем Token бота, который выглядит в виде «Use this token to access the HTTP API:
423393656:AAE1hJ5EE_o8KIDWrWW9A8-hZnpAL9-htGI»
Настройка аккаунта Telegram, получение ID.
Теперь проверим отправку сообщений с нашего бота на на аккаунт в Telegram.
В CentOS, где установлен zabbix-server запускаем команду, со своими данными. В моем случае команда будет выглядеть так:
curl —header ‘Content-Type: application/json’ —request ‘POST’ —data » «https://api.telegram.org/bot423393656:AAE1hJ5EE_o8KIDWrWW9A8-hZnpAL9-htGI/sendMessage»
Шаблон для ввода своих данных:
Zabbix уведомления в Telegram | Уроки Zabbix | UnixHost
curl —header ‘Content-Type: application/json’ —request ‘POST’ —data » «https://api.telegram.org/botВводим Token, который мы получили при создании бота/sendMessage»
Обратите внимание что Token нужно вводить сразу же api.telegram.org/bot»Token» без пробела после «bot»!
Если все данные ввели верно, мы получим в чате сообщение «Привет, я Telegram-bot для Zabbix!» от нашего бота.
Добавим Telegram — уведомление в Zabbix.
1. Проверяем, где у нас в Zabbix находится папка для скриптов, который мы далее создавать, вводим команду и получаем результат.
Создаем в выше указанной папке script с именем zabbix-to-telegram-bot.sh:
и заполняем его следующим кодом:
#!/bin/bash TOKEN=’423393656:AAE1hJ5EE_o8KIDWrWW9A8-hZnpAL9-htGI’ which curl /dev/null if [ $? -ne 0 ] ; then echo ‘FAIL: curl not found.’ exit 1 ; fi if [ $# -ne 3 ] ; then echo ‘FAIL: Params not defined.’ echo ‘Usage: zabbix-to-telegram-bot.sh TelegramID Subject Message’ exit 1 ; fi CHAT_ID=»$1″ SUBJECT=»$2″ MESSAGE=»$3″ curl -s —header ‘Content-Type: application/json’ —request ‘POST’ —data «»,»text»:»$n$»>» «https://api.telegram.org/bot$/sendMessage» | grep -q ‘»ok»:false,’ if [ $? -eq 0 ] ; then exit 1 ; fi
Даем права скрипт-файлу:
# chmod +x /usr/lib/zabbix/alertscripts/zabbix-to-telegram-bot.sh
Для проверки работы скрипта запускаем его вручную следующим образом:
cd /usr/lib/zabbix/alertscripts/ ./zabbix-to-telegram-bon.sh «194533722» «test_tema» «test_message»
где «194533722» id вашего чат-бота.
Настройка оповещений в Zabbix через Telegram.
1. Заходим в Администрирование — Способы оповещений — Создать способ оповещения.
Имя: Telegram Bot;
Тип: Скрипт;
Отправка уведомлений из zabbix в telegram / Sending notifications from zabbix to telegram
Имя скрипта: zabbix-to-telegram-bot.sh;
Параметры скрипта:
Активировано: ставим галочку;
Жмем Добавить.
2. Перейти в радел Шаблоны сообщений.
Обязательно добавить шаблоны сообщений для Тип сообщения: Проблема и Восстановление системы . Пропуск этого пункта часто становится причиной ошибки «No message defined for media type.»
2. Идем в Администрирование — Пользователи — Выбираем нашего пользователя «Admin«.
В открывшемся окне пользователя переходим на вкладку «Оповещения» — Добавить.
Тип: Telegram Bot;
Отправлять на: 194533722 (ID нашего telegram аккаунта);
Остальные параметры оставляем по умолчанию или на ваше усмотрение.
Активировано: ставим галочку;
Добавить.
3. Переходим Настойка — Действие — Источник событий «Триггеры» — Создать действие.
Вкладка Действие:
Имя: Уведомление Telegram c Zabbix;
Активировано: ставим галочку;
Вкладка «Операции»:
Длительность шага операции по умолчанию: 60 — (через 60 секунд после срабатывание триггера приходит уведомление)
Нажимаем в этой же вкладке Операции — Новое.
Меняем только:
Тип операции: Отправить сообщение;
Отправлять пользователям: Admin;
Отправлять только через: Telegram Bot;
Добавить.
Во вкладке «Операции восстановления» повторяем тоже самое, что и во вкладке «Операции«.
На этом настройка оповещений Zabbix от Telegram завершена.
Остается положить какой-нибудь порт с мониторинга, и дождаться уведомление о триггере.
Источник: adminwin.ru
# Система мониторинга Zabbix. Часть 3. Настройка уведомлений
Одна из важнейших функций в системе мониторинга — отправка уведомлений. Zabbix может отправлять уведомления практически всеми доступными способами, от электронной почты до Telegram и Mattermost.
В этой статье мы рассмотрим настройку отправки стандартных уведомлений на e-mail и получение уведомлений в Telegram.
# Настройка e-mail уведомлений
Все уведомления настраиваются в разделе меню Администрирование
Здесь можно выбрать способ получения уведомлений. Выбираем «E-mail»:
Обратите внимание на 3 строки:
Основная часть настройки закончена. Убедимся, что всё работает правильно.
# Проверка оповещений
Для проверки работы оповещений в Zabbix есть встроенный инструмент «Тест».
Этот инструмент позволяет отправлять тестовое сообщение на выбранную почту:
Если тестовое письмо пришло на указанную почту, настройку почтовых уведомлений можно считать выполненной.
# Telegram-уведомления
Пишем ему /newbot , выбираем имя нашего бота и получаем в ответ сообщение об его успешном создании и токен для отправки сообщений через пользовательский api Telegram:
curl —header ‘Content-Type: application/json’ —request ‘POST’ —data » «https://api.telegram.org/botToken/sendMessage»
Тестовое сообщение отправлено и успешно получено. Можно переходить к настройке уведомлений с помощью Zabbix.
В том же разделе меню Администрирование
Способы оповещений выбираем пункт Telegram :
Основные строки для заполнения здесь — To и Token , в которых нужно указать ваш id и токен вашего бота. Остальные настройки можно не изменять, оповещения будут работать с ними.
Проверяем отправку сообщений из Zabbix:
Готово! Наш zabbix-сервер отправляет оповещения нашему боту в Telegram.
Zabbix 5 — уведомления в Telegram
Настраиваем уведомления из Zabbix 5 в Telegram. В разделе Administration → Media types (Администрация → Типы оповещений) уже есть куча предустановленных вебхуков, в том числе и Telegram, осталось его только настроить.
На самом деле есть несколько способов отправлять сообщения из Zabbix в Telegram, но здесь я рассмотрю только отправку с помощью вебхуков.
Нам понадобится создать бота для отправки сообщений. Бот может отправлять сообщения пользователям или в группу.
Создание бота в Telegram
Выводится справка по командам. Для создания бота пишем:
Нам предлагают указать для бота name (имя), я пишу:
Нам предлагают указать для бота username (логин), он должен оканчиваться на «bot» или «Bot» я пишу:
Бот создан, получаем токен «Use this token to access the HTTP API «. Копируем его и вставляем в Zabbix в разделе Administration → Media types → Telegram → Parameters → Token.
Сохраняем изменения. Кстати, в описании также приводится краткая инструкция по настройке Telegram:
Источник: sidmid.ru