Zabbix - это универсальный сервис для мониторинга всей ИТ-инфраструктуры. Создание бота для уведомлений о состоянии системы - это удобный способ дистанционного контроля.
Telegram, на самом деле, это один из многих способов оповещения в Zabbix. Выбрали его, потому что на данный момент это самый скачиваемый и популярный мессенджер с возможностью создания и кастомизации ботов.
Создание Telegram BOT
1) Зайдите в Telegram аккаунт и в поиске каналов и чатов, введите“BotFather”.
![1.jpg 1.jpg](/upload/medialibrary/7e2/r2mbd7az7034k95swktdis8979fup89a/1.jpg)
2) После перехода в “BotFather”, нажимаем “Запустить”.
![2.jpg 2.jpg](/upload/medialibrary/c28/99enz8vibsb25g8gph0dh4f2mgnzwuuc/2.jpg)
3) Прописываем команду /newbot - создать нового бота.
![3.jpg 3.jpg](/upload/medialibrary/e72/1d0o3tg5jokwodzk90da656q4kg7r0oa/3.jpg)
4) Теперь выбираем имя для бота. У нас, для примера, бота с именем “Test1”.
![4.jpg 4.jpg](/upload/medialibrary/922/y2pnlt8uy45dol6ckmfu2ssvwbungy9e/4.jpg)
Следующим шагом придумываем username - имя пользователя для бота, при этом окончание должно быть такое: _bot. В качестве примера установим - “Test1zabbix_bot”.
Важно! Ваше имя пользователя должно быть УНИКАЛЬНЫМ, если имя уже занято, то система выдаст ошибку:
![5.jpg 5.jpg](/upload/medialibrary/d04/2b2dqwq0rurncifl58qt0hrsmvvne8fv/5.jpg)
В случае успеха у вас появится следующее сообщение:
![6.jpg 6.jpg](/upload/medialibrary/da8/1atrk0mxerzn57gjtmnbsb79qe5a9d06/6.jpg)
Привязка API ключа к Zabbix
1) Заходим по ссылке (стрелка №1)и нажимаем “Запустить”.
2) Копируем строчку с вашим API.
3) Заходим в Zabbix - “Способы оповещения”,”Telegram”.
![7.jpg 7.jpg](/upload/medialibrary/ede/eh6x6o5o0sjv3ktdh44tug2l2c8plqkt/7.jpg)
4) В строку “Token” вставляем API ключ из телеграмм.
![8.jpg 8.jpg](/upload/medialibrary/416/m10jbulnjnmxtqh4knkmiiy8sup4rzxa/8.jpg)
5) Переводим шаблон отправки сообщений на русский язык, но можно оставить как есть, зависит от того, с каким языком вам удобнее работать. Переходим в “Шаблон сообщений”, “Изменить” и в появившемся окне выбираем язык.
Не меняем значения таких переменных как:{EVENT.TIME} on {EVENT.DATE}
![9.jpg 9.jpg](/upload/medialibrary/9e0/c1ke1ymx9frzu1kk06mwqff1tmp8o8og/9.jpg)
Создания способа уведомления для пользователей или групп
Определяем адресатов и характер уведомлений. Можно настроить бота как на отправку уведомлений о конкретных проблемах одному человеку, так и нескольким людям в группу, где все смогут его увидеть.
У нас настроена группа для отправки общих уведомлений по всем системам, которые мониторятся, а специалисту по 1С приходят только уведомления о проблемах, связанных с серверами 1С.
Настраиваем уведомления в группу
1) Создаем группу и добавляем туда необходимых людей.
![10.jpg 10.jpg](/upload/medialibrary/e41/a0sn6p25l1vad2ugp41iojdra25eiz04/10.jpg)
2) Добавляем в группу созданного бота и делаем его администратором.
![11.jpg 11.jpg](/upload/medialibrary/ffe/58fufkr8qlqv14nrdgctpvzzhx554ddd/11.jpg)
3) Ищем в поиске телеграмм @myidbot и добавляем его в чат, также делаем администратором.
![12.jpg 12.jpg](/upload/medialibrary/d83/o0fk4gn3uh2if575n9qbxvhjv1yywg49/12.jpg)
4) В группе прописываем команду “/getgroupid@myidbot”. Если всё сделано верно, то система выдаст следующие значение:
![13.jpg 13.jpg](/upload/medialibrary/a2c/drv350f9el2q5qs3metyxhquegik4t33/13.jpg)
5) Копируем всё после ID is : -67164657
6) Далее заходим в интерфейс Zabbix “Администрирование”, “Пользователи”, выбираем пользователя. У нас для примера - это “Admin”, нажимаем на него и заходим в настройки профиля.
![14.jpg 14.jpg](/upload/medialibrary/01f/i7uawat19k4d0mjj5c3cg56snrcr5y0l/14.jpg)
7) Выбираем вкладку “Оповещения”, нажимаем “Добавить”.
![15.jpg 15.jpg](/upload/medialibrary/938/pmxraedp33f8jkbzituz40rbnug5j473/15.jpg)
8) Выбираем тип “Telegram”, в строчке “Отправлять на” вставляем ранее скопированный Your group ID.
Так же вместо него можно вставить свой личный Your own ID, в случае, если хотите, чтобы бот отправлял уведомления только вам в личные сообщения. Такой ID можно получить, написав в личные сообщения боту @myidbot команду /getid.
![16.jpg 16.jpg](/upload/medialibrary/8bd/1hn2064x7pfm06iwkwayir10119u9c7l/16.jpg)
9) Нажимаем “Добавить”. Если все действия выполнены верно, то у вас будет отображаться следующее:
![17.jpg 17.jpg](/upload/medialibrary/a9c/7f2522pfbf19eok7zjeqyzea4jefkcw0/17.jpg)
Проверьте “Status”, должно быть “Активировано”.
Тестирование и проверка
Переходим к проверке отправки уведомлений.
1) Заходим “Администрирование”, “Способы оповещений”, находим в списке Telegram и нажимаем “Тест”.
![18.jpg 18.jpg](/upload/medialibrary/4e7/cvmb37o6kmnl4w262xmknlltrz35xny2/18.jpg)
В строку to вставляем Your group ID, нажимаем “Тест”.
![19.jpg 19.jpg](/upload/medialibrary/71b/4kj6t7p2tmf94w4myflpb0tw0pemmt3i/19.jpg)
Проверяем Telegram аккаунт, если все сделано правильно, то придет тестовое оповещение.
![20.jpg 20.jpg](/upload/medialibrary/a4c/4tejv69095v6hxi7grv1z30dsd4300sy/20.jpg)
Другие способы оповещения в Zabbix
Zabbix обладает большими возможностями выбора способа оповещений. Вот некоторые из них:
- Brevis.one
- Discord
- 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.
В статье показан один из способов оповещений, который используется у нас.