1. Зачем настраивать алертинг в Telegram?
Система мониторинга бесполезна, если системный администратор узнаёт об аварии только от недовольных пользователей. Настройка оперативных оповещений в Telegram позволяет моментально получать информацию о сбоях (падение узлов, исчерпание места на диске, высокая нагрузка на ЦП) прямо на смартфон или в командный чат.
2. Создание Telegram-бота и получение Chat ID
Шаг 2.1. Регистрация бота через @BotFather
1. Найдите в Telegram бота @BotFather и отправьте команду /newbot.
2. Укажите имя и username бота (например, MyLab_Zabbix_Bot).
3. Сохраните полученный **HTTP API Token** (например, 123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ).
Шаг 2.2. Получение Chat ID
1. Начните диалог с вашим созданным ботом (нажмите Start) или добавьте его в групповой чат дежурных инженерных служб.
2. Чтобы узнать ID чата, отправьте любое сообщение боту @userinfobot или @getmyid_bot.
3. Конфигурация Способа Оповещения (Media Type) в Zabbix
В Zabbix 6.4 встроен нативный вебхук для Telegram, что исключает необходимость писать собственные bash или python-скрипты.
Шаг 3.1. Активация Media Type
1. Перейдите в раздел Alerts → Media types (Оповещения → Способы оповещений).
2. Найдите в списке пресет Telegram и нажмите на него.
3. В поле параметра
Token вставьте ваш **API Token**, полученный от BotFather.4. Убедитесь, что переключатель Status установлен в Enabled, и нажмите Update.
Шаг 3.2. Привязка Telegram к профилю пользователя
1. Перейдите в раздел Users → Users и выберите вашего пользователя (или Admin).
2. Откройте вкладку Media (Способы оповещения) и нажмите Add.
3. В поле Type выберите Telegram.
4. В поле Send to вставьте ваш Chat ID.
5. Отметьте важность алертов (например, Warning, Average, High, Disaster) и нажмите Add / Update.
4. Создание Действия (Trigger Action)
Укажем Zabbix, при каких условиях нужно отправлять уведомление:
- Откройте Alerts → Actions → Trigger actions.
- Нажмите Create action в правом верхнем углу.
- Укажите имя действия (например, Report problems to Telegram).
- Во вкладке Operations настройте отправку сообщений при возникновении проблемы (Operations) и при её решении (Recovery operations).
Проблема: {EVENT.NAME}
Узел: {HOST.NAME} ({HOST.IP})
Важность: {EVENT.SEVERITY}
Время: {EVENT.TIME} {EVENT.DATE}
5. Тестирование отправки алертов
Для проверки работы оповещений можно принудительно сгенерировать событие (например, остановить службу агента на тестовом хосте или воспользоваться функцией Test прямо в настройках Media Type):
# Остановка службы агента для эмуляции аварии
sudo systemctl stop zabbix-agent
Через пару минут Zabbix зафиксирует недоступность агента и пришлет уведомление в ваш Telegram-чат.