NOVECTRA / БАЗА ЗНАНИЙ

Уведомления Zabbix в Telegram: пошаговая настройка

Обновлено: октябрь 2026

Мониторинг выполняет свою работу только тогда, когда о проблеме узнаёт человек — быстро и там, куда он реально смотрит. Для небольшой компании таким местом чаще всего оказывается Telegram. В этой статье — полная цепочка доставки уведомлений Zabbix в Telegram: бот, идентификатор чата, способ оповещения, действие и проверка. Команды и названия разделов интерфейса приведены для линеек Zabbix 6.0 LTS и 7.0 LTS.

НОВЫЙ УРОВЕНЬ
ВАШЕЙ ИНФРАСТРУКТУРЫ
01 / ЦЕПОЧКА

Как устроена доставка уведомлений

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

Бот — программа в Telegram, через которую сообщения и уходят: у неё есть токен, то есть ключ доступа к Telegram Bot API. Чат — адресат сообщения: личный чат администратора или общая группа, у каждого есть числовой идентификатор chat_id. Способ оповещения в Zabbix — канал доставки; для Telegram это вебхук, который обращается к Bot API по HTTPS. Действие — правило, которое связывает триггеры с людьми: при каких условиях, кому и с каким текстом слать.

Порядок именно такой — от краёв к середине: сначала адресат и его идентификатор, потом канал, потом правила. Проверка на каждом шаге занимает минуту и избавляет от классической ситуации «настроили всё сразу, не работает — неизвестно что».

02 / ШАГ 1

Создать бота

Боты в Telegram создаются не в приложении, а у специального бота-распорядителя @BotFather. Команда /newbot, два ответа на вопросы — имя бота, которое видят люди, и имя пользователя, которое обязано заканчиваться на bot, — и бот существует. BotFather выдаёт токен — ключ доступа к Bot API от имени этого бота; это длинная строка вида «число:набор символов», например 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw.

/newbot
# BotFather спросит имя и имя пользователя, затем выдаст токен:
# Use this token to access the HTTP API:
# 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw

Токен стоит хранить так же, как пароль: у кого он есть, тот может писать в чаты от имени бота. Если токен попал в чужие руки, BotFather умеет перевыпускать его командой /revoke — у того же бота будет новый ключ.

Отдельное решение этого шага — личный чат или группа. Личный чат проще и уместен, когда отвечает один человек. Группа практичнее даже для одного администратора: история сообщений остаётся в ней, а дублёра достаточно добавить в участники — настраивать ничего заново не придётся.

03 / ШАГ 2

Узнать chat_id

Адресатом сообщения в Bot API является не имя пользователя, а числовой идентификатор чата. Самый прямой способ его узнать — обратиться к самому Telegram: боту нужно сначала написать (в группе — добавить бота и написать в неё), а затем запросить обновления у Bot API. Запрос выполняется из любого браузера:

https://api.telegram.org/bot<ТОКЕН>/getUpdates

# в ответе среди полей каждого обновления — объект chat:
# "chat":{"id":987654321,"first_name":"...","type":"private"}
# для групп id отрицательный:
# "chat":{"id":-1001234567890,"title":"Дежурные","type":"supergroup"}

Два практических замечания. Первое: у ботов в группах включён режим приватности — в обновления попадают только команды, а обычные сообщения нет. Чтобы группа появилась в ответе getUpdates, достаточно отправить в неё любую команду вида /any@имя_бота — или отключить режим приватности у BotFather командой /setprivacy. Второе: если список обновлений пуст, напишите боту ещё раз — getUpdates показывает только недавние события.

Полученный идентификатор — это половина адреса доставки. Записываем: он понадобится дважды — в Zabbix и при проверке. Идентификаторы групп имеют смысл хранить вместе с назначением («дежурные», «руководство») — когда каналов станет несколько, без такой пометки легко перепутать, куда какой поток должен приходить.

04 / ШАГ 3

Добавить способ оповещения в Zabbix

В Zabbix за доставку во внешние системы отвечает способ оповещения (раздел «Оповещения → Способы оповещений»). Для Telegram тип — вебхук: Zabbix сам выполнит HTTPS-запрос к Bot API и передаст в него текст сообщения. Готовый вебхук для Telegram опубликован самим Zabbix в официальном репозитории интеграций: он скачивается файлом и импортируется в Zabbix без ручного написания скрипта. У импортированного способа оповещения два собственных параметра — токен бота и необязательный адрес HTTP-прокси; идентификатор чата к способу не привязывается, он задаётся для каждого получателя позже.

До сохранения стоит нажать кнопку «Тест»: способ оповещения умеет отправлять пробное сообщение прямо из окна настройки. Три частые причины, по которым тест не проходит, — опечатка в токене, не тот chat_id и закрытый исходящий HTTPS с сервера Zabbix. Последнее стоит проверить отдельно: сервер Zabbix обращается к api.telegram.org по порту 443, и именно с сервера, а не с рабочей станции, откуда открыт интерфейс. Если исходящие соединения в сети ограничены, выручает параметр прокси — вебхук умеет ходить через него.

# проверка достижимости Bot API с самого сервера Zabbix
curl -s "https://api.telegram.org/bot<ТОКЕН>/getMe"
# ответ вида {"ok":true,"result":{"id":110201543,"is_bot":true,...}}
# означает: сеть открыта и токен действителен

Там же, в настройках способа оповещения, живут шаблоны сообщений — тексты для событий разных типов. Для начала достаточно стандартных: в них подставляются макросы {ALERT.SUBJECT} и {ALERT.MESSAGE}, которые действие наполнит по своему шаблону.

05 / ШАГ 4

Привязать получателя и создать действие

Способ оповещения сам по себе никому не пишет: у каждого пользователя Zabbix в профиле есть вкладка «Оповещения», где перечислены его каналы. Добавляем Telegram, в поле «Отправлять на» вписываем chat_id из второго шага — для группы со знаком минус. Здесь же можно ограничить важность: например, доставать человека только по «Высокой» и «Чрезвычайной», если предупреждающие события решено оставлять почте.

Последнее звено — действие (раздел «Оповещения → Действия»). Условие по умолчанию — «проблема» у узлов из группы; операции — кому и в каком порядке слать. Здесь же настраивается эскалация: если проблема не закрыта, действие повторяется через заданное время, а следующим шагом уходит дублёру. Текст сообщения задаётся шаблоном операции — и это место, где стоит потратить десять минут: сообщение, в котором видны имя проблемы, узел, длительность и ссылка на событие, читается в чате мгновенно, без открытия интерфейса.

# шаблон операции для событий «Проблема» (в тексте действия)
Проблема: {TRIGGER.NAME}
Узел: {HOST.NAME}
Важность: {TRIGGER.SEVERITY}
Длительность: {EVENT.AGE}
Подробнее: {TRIGGER.URL}

Проверять цепочку лучше всего честным срабатыванием: на тестовом узле останавливается агент или занижается порог заведомо безопасного триггера. Кнопка «Тест» на шаге третьем проверила канал; действие проверяет весь путь — от триггера до телефона.

06 / ГРАБЛИ

Типовые проблемы и что с ними делать

  • «Тест проходит, боевые сообщения не приходят». Канал исправен, но действие не выбрало получателя: проверьте вкладку «Оповещения» в профиле пользователя и условия действия — чаще всего не совпадает группа узлов или важность.
  • «Chat id: Bad Request». Идентификатор группы указан без минуса или с лишним пробелом. Идентификатор нужно копировать из ответа getUpdates целиком.
  • «Cannot connect to api.telegram.org». Сервер Zabbix не имеет исходящего HTTPS. Проверка curl-ом с самого сервера показывает это сразу; лечится правилом файрвола или прокси в настройках вебхука.
  • Шторм триггеров. У Bot API есть ограничения на частоту сообщений в один чат, и при лавине срабатываний часть сообщений задерживается. Лавину гасят в Zabbix: порогами, средними за интервал вместо мгновенных значений и осмысленным набором триггеров — об этом подробнее в нашей статье о первом контуре мониторинга.
  • Уведомления в чате, который никто не читает. Формально цепочка работает, фактически мониторинга нет. Канал доставки должен совпадать с тем, где дежурный проводит день, — это решение организационное, и оно важнее любого технического шага.

И отдельная строка — сами копии. Telegram отлично доносит «копия не создалась», но не отвечает на вопрос, восстановится ли копия, которая создалась. Этому посвящена наша статья о мониторинге резервных копий.

07 / ВОПРОСЫ И ОТВЕТЫ

Частые вопросы

Почему Telegram, а не почта?+

Дело не в выборе мессенджера, а в месте, куда человек смотрит непрерывно. Почта хороша для предупреждающих событий и сводок; критичные — там, где дежурный заметит их за минуту. Zabbix позволяет совмещать каналы по важности событий.

Безопасно ли хранить токен бота в Zabbix?+

Доступ к интерфейсу Zabbix у вас уже защищён — токен хранится там же, где пароли способов оповещения любого другого канала. Риск появляется, если токен скопирован ещё где-то: тогда его стоит перевыпустить у BotFather.

Можно ли слать в разные чаты по разным узлам?+

Да: у каждого получателя свой chat_id в профиле, а действие выбирает, кому слать, по условиям — группе узлов, важности, времени суток. Для двух-трёх маршрутов одного действия достаточно.

Подойдёт ли это для Zabbix 5.0 или 5.4?+

Механика вебхуков появилась раньше и в этих версиях работает так же; отличаются только названия разделов интерфейса. Но для новой настройки разумнее сразу брать LTS-линейку 6.0 или 7.0 — у них длинная поддержка без смены механики между minor-версиями.

Один бот на компанию или отдельный для каждого администратора?+

Для доставки достаточно одного бота: адресатом выступает чат, а не человек. Отдельные боты оправданы, если хочется развести потоки — например, критичные события и предупреждения — по разным группам с разным составом участников.

Куда приходят сообщения, если у Telegram авария?+

Ни один канал доставки не стоит один: вебхук отмечает неудачную попытку, Zabbix повторяет отправку по своей логике повторов, а резервным каналом остаётся почта. Дублирование канала — нормальная практика для критичных событий, а не избыточность.

08 / ЧТО ДАЛЬШЕ

Связанные материалы

Уведомления — последнее звено мониторинга, но настраивать его имеет смысл вместе с первым контуром проверок: что мониторить в небольшой компании и как не утонуть в шуме, — в нашей статье о Zabbix для небольшой компании.

Постановка мониторинга под ключ — от контура проверок до уведомлений и сопровождения порогов — направление мониторинга и наблюдаемости.