Авторегистрация в Zabbix + Telegram

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

Как это работает — простыми словами

Когда запускается Zabbix Agent, он отправляет на сервер сообщение: «Привет, я новый хост, вот моё имя и метка». Zabbix смотрит — есть ли правило (Action) для такой метки. Если есть — автоматически создаёт хост в интерфейсе, добавляет нужный шаблон мониторинга и может отправить уведомление.

Метка задаётся параметром HostMetadata в конфиге агента. Это просто строка — например linux, windows, prod. По ней Zabbix понимает что делать с новым хостом.

Шаг 1 — Настраиваем агент на хосте

На каждом сервере где стоит агент открываем конфиг:

nano /etc/zabbix/zabbix_agent2.conf

Находим и заполняем эти строки:

# IP твоего Zabbix-сервера
Server=192.168.8.104
ServerActive=192.168.8.104

# Имя хоста — оно появится в Zabbix именно так
Hostname=web-server-01

# Метка — по ней сработает правило авторегистрации
HostMetadata=linux

Важно: значение Hostname должно быть уникальным для каждого сервера. HostMetadata может быть одинаковым — это просто метка типа хоста.

Сохраняем и перезапускаем агент:

systemctl restart zabbix-agent2

# Проверяем что запустился
systemctl status zabbix-agent2

Шаг 2 — Создаём правило авторегистрации в Zabbix

Заходим в веб-интерфейс Zabbix и идём в Alerts → Actions → Autoregistration actions.

Нажимаем Create action в правом верхнем углу.

Вкладка Action

Вводим название, например Linux autoregistration. Это просто для удобства — как ты назовёшь, так оно и будет отображаться в списке.

Вкладка Conditions

Здесь указываем при каком условии срабатывает это правило. Нажимаем Add и заполняем:

  • Type — выбираем Host metadata
  • Operator — выбираем contains
  • Value — пишем linux

Это значит: «сработай для любого хоста у которого в метаданных есть слово linux».

Вкладка Operations

Здесь указываем что именно делать когда условие выполнилось. Добавляем операции по одной кнопкой Add:

  • Add host — создать хост в Zabbix (обязательно)
  • Add to host groups → выбираем Linux servers (или создаём свою группу)
  • Link to templates → выбираем Linux by Zabbix agent — это стандартный шаблон с метриками CPU, RAM, дисков, сети
  • Enable host — сразу включить мониторинг, иначе хост создастся отключённым

Нажимаем Add внизу страницы. Правило создано.

Шаг 3 — Настраиваем Telegram-бота

Если Telegram ещё не настроен — сначала делаем это.

Создаём бота

В Telegram находим @BotFather, пишем /newbot и следуем инструкциям. В конце получаем токен вида 7123456789:AAF....

Узнаём свой Chat ID

Находим бота @userinfobot, пишем ему что угодно — он ответит твоим Chat ID, например 123456789.

Подключаем Telegram в Zabbix

Идём в Alerts → Media types, находим Telegram в списке, нажимаем на него и вводим токен бота в поле Token. Сохраняем.

Теперь добавляем Telegram своему пользователю. Идём в Users → Users, открываем своего пользователя, вкладка Media, нажимаем Add:

  • Type — Telegram
  • Send to — вводим свой Chat ID

Сохраняем пользователя.

Шаг 4 — Добавляем уведомление в правило

Возвращаемся в Alerts → Actions → Autoregistration actions, открываем наш Linux autoregistration.

На вкладке Operations добавляем ещё одну операцию:

  • Operation typeSend message
  • Send to users — добавляем своего пользователя
  • Send only to — выбираем Telegram

Можно оставить сообщение по умолчанию или написать своё. Сохраняем.

Теперь при регистрации нового хоста придёт сообщение в Telegram:

Host name: web-server-01
Host IP: 192.168.1.45
Registration time: 2026-05-26 21:00

Проверка

Запускаем агент на новом сервере (или перезапускаем существующий) и ждём 30–60 секунд. Заходим в Monitoring → Hosts — хост должен появиться автоматически с зелёным статусом.

Если хост не появляется — смотрим логи агента:

tail -f /var/log/zabbix/zabbix_agent2.log

Ищем строки с autoregistration. Если их нет — агент не достучался до сервера, проверяем файрвол и правильность IP в конфиге.

В самом Zabbix проверяем в Reports → Action log — там видно все срабатывания Actions и если что-то пошло не так, будет описание ошибки.

Комментарии

Комментариев пока нет.