Облачное хранилище
graylog telegram notification plugin настройка уведомлений telegram
Обложка статьи: настройка отправки уведомлений из Graylog в Telegram через Telegram Notification Plugin, интеграция для мониторинга и алертов.

Telegram давно стал удобным каналом для оперативных уведомлений в инфраструктуре. В связке с Graylog он позволяет получать алерты практически в реальном времени без зависимости от email или сторонних систем.

В этой статье разберем, как установить и настроить Telegram Notification Plugin для Graylog: от создания бота в Telegram до получения первых уведомлений и оптимизации алертинга.

Telegram Notification Plugin для Graylog

Telegram Notification — это плагин для Graylog, который позволяет отправлять уведомления о событиях (alerts) напрямую в чат Telegram.

Решение особенно полезно для системных администраторов и инженеров, которым важно оперативно получать сигналы о сбоях, инцидентах безопасности и других событиях инфраструктуры без зависимости от email.


Что делает плагин

Плагин интегрируется в механизм уведомлений Graylog и позволяет:

  • отправлять события в Telegram в реальном времени
  • использовать кастомные шаблоны сообщений
  • работать с личными чатами, группами и каналами
  • быстро внедрить уведомления без внешних сервисов

Это минималистичное и эффективное решение для алертинга.


Требования

Для корректной работы необходимо:

  • Graylog версии 3.1 или выше
  • доступ к серверу Graylog для установки плагина
  • доступ к Telegram

Рекомендуется использовать актуальную версию Graylog, так как API уведомлений периодически меняется.


Установка плагина

  1. Скачайте последнюю версию плагина с GitHub (файл вида graylog-plugin-telegram-notification-x.x.x.jar)
  2. Поместите файл в директорию плагинов, указанную в конфигурации graylog.conf: plugin_dir = /path/to/plugins
    graylog-telegram-alert-example
  3. Перезапустите сервис Graylog: systemctl restart graylog-server
  4. После перезапуска плагин станет доступен в интерфейсе уведомлений

Настройка Telegram

Создание бота

  1. Откройте Telegram
  2. Найдите BotFather
  3. Выполните команды:
    /start
    /newbot
    Пример размещения jar файла плагина Telegram Notification в директории plugins Graylog перед перезапуском сервиса
  4. Сохраните полученный Bot Token

Получение Chat ID

Есть несколько способов:

  • через специальные боты (например get_id)
  • через Telegram API
  • через Message Tool

Поддерживаются:

  • личные чаты
  • группы
  • каналы

Важно учитывать:

  • для каналов Chat ID обычно начинается с -100
  • бот должен быть добавлен в чат
  • для каналов — обязательно назначить бота администратором

Настройка уведомления в Graylog

  1. Перейдите: Alerts → Notifications
  2. Создайте новое уведомление
  3. Выберите тип: Telegram Notification
  4. Укажите:
  • Bot Token
  • Chat ID
  • шаблон сообщения
    graylog telegram notification настройка alert bot token chat id

Пример шаблона сообщения

Alert: ${event_definition_title}
Источник: ${source}
Сообщение: ${message}
Уровень: ${event_priority}
Время: ${event_timestamp}

Получится что-то вроде такого:
Конфигурация уведомления Telegram в интерфейсе Graylog с указанием Bot Token, Chat ID и шаблона сообщения
Можно использовать любые переменные, доступные в системе событий Graylog.


Обновление плагина

Процесс обновления стандартный:

  1. Удалить старую версию .jar
  2. Скопировать новую
  3. Перезапустить Graylog
systemctl restart graylog-server

Иногда требуется пересоздать уведомления, если изменилась структура параметров.


Практические рекомендации

Если внедрять это в реальную инфраструктуру, стоит учитывать:

Разделение потоков уведомлений
Не отправляйте всё в один чат. Разделите:

  • критические события (critical)
  • предупреждения (warning)
  • служебные уведомления

Иначе Telegram быстро превратится в нечитабельный поток.

Фильтрация событий
Настраивайте alert-условия в Graylog максимально точно. Telegram — это не SIEM, туда должны попадать только важные события.

Форматирование сообщений
Добавляйте в шаблон:

  • hostname
  • IP
  • severity
  • короткое описание

Чем меньше «воды», тем быстрее реакция.

Резервирование каналов
Для критичных систем используйте:

  • Telegram + email
  • Telegram + Slack

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

Безопасность
Bot Token — это фактически пароль:

  • не храните его в открытых репозиториях
  • ограничьте доступ к конфигурациям
  • при утечке — сразу перевыпускайте

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

Уведомления не приходят

Проверить:

  • правильность Bot Token
  • корректность Chat ID
  • добавлен ли бот в чат

Ошибка 403

Причина:

  • бот не имеет прав отправки сообщений

Решение:

  • добавить в группу
  • назначить администратором (для каналов)

Alert не срабатывает

Проверить:

  • Event Definition
  • Conditions
  • наличие входящих логов

FAQ

Можно ли использовать несколько Telegram чатов
Да. Для этого создаются отдельные Notification-объекты в Graylog.

Поддерживается ли форматирование сообщений
Да. Можно использовать переменные и базовую разметку Telegram (Markdown/HTML — зависит от реализации плагина).

Работает ли с новыми версиями Graylog (4/5/6)
Не всегда. Нужно проверять совместимость конкретной версии плагина. Иногда требуется форк или обновлённый билд.

Можно ли отправлять разные типы событий в разные чаты
Да, через разные Event Definitions и Notifications.

Можно ли использовать одного бота для нескольких проектов
Да, но лучше разделять ботов по средам (prod/dev), чтобы избежать путаницы.

Что делать при высокой нагрузке
Telegram имеет rate limits. При большом количестве событий:

  • уменьшайте количество алертов
  • агрегируйте события
  • используйте throttling в Graylog

Полезные ссылки

  • Graylog — официальная документация
  • Telegram Bot API
  • BotFather — создание ботов
  • GitHub репозиторий плагина (поиск: graylog telegram notification plugin)

Когда это реально нужно

Используйте Telegram-уведомления в Graylog если:

  • нет полноценного мониторинга (Zabbix/Prometheus)
  • нужна быстрая интеграция без инфраструктуры
  • важна реакция в реальном времени

Не используйте как единственный канал — Telegram не гарантирует доставку.