Найти в Дзене
Alfa IT Studio

Создание и привязка Telegram-bot для уведомлений Zabbix

Оглавление

Zabbix - это универсальный сервис для мониторинга всей ИТ-инфраструктуры. Создание бота для уведомлений о состоянии системы - это удобный способ дистанционного контроля.

Telegram, на самом деле, это один из многих способов оповещения в Zabbix. Выбрали его, потому что на данный момент это самый скачиваемый и популярный мессенджер с возможностью создания и кастомизации ботов.

Создание Telegram BOT

1) Зайдите в Telegram аккаунт и в поиске каналов и чатов, введите“BotFather”.

-2

2) После перехода в “BotFather”, нажимаем “Запустить”.

-3

3) Прописываем команду /newbot - создать нового бота.

-4

4) Теперь выбираем имя для бота. У нас, для примера, бота с именем “Test1”.

-5

Следующим шагом придумываем username - имя пользователя для бота, при этом окончание должно быть такое: _bot. В качестве примера установим - “Test1zabbix_bot”.

Важно! Ваше имя пользователя должно быть УНИКАЛЬНЫМ, если имя уже занято, то система выдаст ошибку:

-6

В случае успеха у вас появится следующее сообщение:

-7

Привязка API ключа к Zabbix

1) Заходим по ссылке (стрелка №1)и нажимаем “Запустить”.

2) Копируем строчку с вашим API.

3) Заходим в Zabbix - “Способы оповещения”,”Telegram”.

-8

4) В строку “Token” вставляем API ключ из телеграмм.

-9

5) Переводим шаблон отправки сообщений на русский язык, но можно оставить как есть, зависит от того, с каким языком вам удобнее работать. Переходим в “Шаблон сообщений”, “Изменить” и в появившемся окне выбираем язык.
Не меняем значения таких переменных как:{EVENT.TIME} on {EVENT.DATE}

-10

Создания способа уведомления для пользователей или групп

Определяем адресатов и характер уведомлений. Можно настроить бота как на отправку уведомлений о конкретных проблемах одному человеку, так и нескольким людям в группу, где все смогут его увидеть.

У нас настроена группа для отправки общих уведомлений по всем системам, которые мониторятся, а специалисту по 1С приходят только уведомления о проблемах, связанных с серверами 1С.

Настраиваем уведомления в группу

1) Создаем группу и добавляем туда необходимых людей.

-11

2) Добавляем в группу созданного бота и делаем его администратором.

-12

3) Ищем в поиске телеграмм @myidbot и добавляем его в чат, также делаем администратором.

-13

4) В группе прописываем команду “/getgroupid@myidbot”. Если всё сделано верно, то система выдаст следующие значение:

-14

5) Копируем всё после ID is : -67164657

6) Далее заходим в интерфейс Zabbix “Администрирование”, “Пользователи”, выбираем пользователя. У нас для примера - это “Admin”, нажимаем на него и заходим в настройки профиля.

-15

7) Выбираем вкладку “Оповещения”, нажимаем “Добавить”.

-16

8) Выбираем тип “Telegram”, в строчке “Отправлять на” вставляем ранее скопированный Your group ID.
Так же вместо него можно вставить свой личный Your own ID, в случае, если хотите, чтобы бот отправлял уведомления только вам в личные сообщения. Такой ID можно получить, написав в личные сообщения боту @myidbot команду /getid.

-17

9) Нажимаем “Добавить”. Если все действия выполнены верно, то у вас будет отображаться следующее:

-18

Проверьте “Status”, должно быть “Активировано”.

Тестирование и проверка

Переходим к проверке отправки уведомлений.

1) Заходим “Администрирование”, “Способы оповещений”, находим в списке Telegram и нажимаем “Тест”.

-19

В строку to вставляем Your group ID, нажимаем “Тест”.

-20

Проверяем Telegram аккаунт, если все сделано правильно, то придет тестовое оповещение.

-21

Другие способы оповещения в Zabbix

Zabbix обладает большими возможностями выбора способа оповещений. Вот некоторые из них:

  • Brevis.one
  • Discord
  • Email
  • Email (HTML)
  • Express.ms
  • Express.ms
  • iLert
  • iTop
  • Jira
  • Jira ServiceDesk
  • Jira with CustomFields
  • ManageEngine ServiceDesk
  • Mattermost
  • MS Teams
  • Opsgenie
  • OTRS
  • PagerDuty
  • Pushover
  • Redmine
  • Rocket.Chat
  • ServiceNow
  • SIGNL4
  • Slack
  • SMS
  • SolarWinds Service Desk
  • SysAid
  • Telegram
  • TOPdesk
  • VictorOps
  • Zammad
  • Zendesk

Если необходимо привязать и настроить оповещения к проблемам определенного устройства или сервера, то посмотрите нашу статью Как автоматизировать мониторинг серверов 1С с помощью Telegram средствами Zabbix Agent.

В статье показан один из способов оповещений, который используется у нас.