# Система мониторинга Zabbix. Часть 3. Настройка уведомлений

Одна из важнейших функций в системе мониторинга — отправка уведомлений. Zabbix может отправлять уведомления практически всеми доступными способами, от электронной почты до Telegram и Mattermost.

В этой статье мы рассмотрим настройку отправки стандартных уведомлений на e-mail и получение уведомлений в Telegram.

Нам понадобится готовый к работе zabbix-сервер и Postfix.

# Настройка e-mail уведомлений

Все уведомления настраиваются в разделе меню АдминистрированиеСпособы оповещений:

«notes»

Здесь можно выбрать способ получения уведомлений. Выбираем «E-mail»:

«notes_email»

Обратите внимание на 3 строки:

  1. «SMTP-сервер». Здесь указываем адрес SMTP-сервера, который будет использоваться для отправки уведомлений. Для удобства работы будем использовать Postfix, установленный на том же сервере, что и Zabbix, поэтому в качестве адреса указываем localhost.

  2. «SMTP helo». Это символическое имя нашего почтового сервера. Также указываем localhost, так как zabbix-сервер и почтовый сервер расположены на одной машине.

  3. «SMTP email». В этой строке указываем адрес, с которого будут приходить уведомления на почту. В данном случае мы выбрали «zabbix@example.com».

Основная часть настройки закончена. Убедимся, что всё работает правильно.

# Проверка оповещений

Для проверки работы оповещений в Zabbix есть встроенный инструмент «Тест».

Этот инструмент позволяет отправлять тестовое сообщение на выбранную почту:

«notes»

Если тестовое письмо пришло на указанную почту, настройку почтовых уведомлений можно считать выполненной.

# Telegram-уведомления

С настройкой уведомлений в Telegram всё немного сложнее. Для начала нам понадобится телеграм-бот, который будет получать уведомления от zabbix-сервера. Создадим его, обратившись в Telegram к мастеру создания ботов @BotFather.

Пишем ему /newbot, выбираем имя нашего бота и получаем в ответ сообщение об его успешном создании и токен для отправки сообщений через пользовательский api Telegram:

«notes»

Для работы бота нужно будет узнать наш id в Telegram. Это можно сделать с помощью одного из вспомогательных ботов Telegram, например, @my_id_bot. Открываем диалог с ботом, нажимаем Start! и получаем в ответ наш id. Теперь можно проверить работу нашего бота:

curl --header 'Content-Type: application/json' --request 'POST' --data '{"chat_id":"your_id","text":"Test notification"}' "https://api.telegram.org/botToken/sendMessage"

«notes»

Тестовое сообщение отправлено и успешно получено. Можно переходить к настройке уведомлений с помощью Zabbix.

В том же разделе меню АдминистрированиеСпособы оповещений выбираем пункт Telegram:

«notes»

Основные строки для заполнения здесь — To и Token, в которых нужно указать ваш id и токен вашего бота. Остальные настройки можно не изменять, оповещения будут работать с ними.

Проверяем отправку сообщений из Zabbix:

«notes»

Готово! Наш zabbix-сервер отправляет оповещения нашему боту в Telegram.

Мы настроили два канала отправки уведомлений в Zabbix — классический email-вариант и более современный Telegram. Zabbix также может отправлять уведомления другими способами, настройка которых аналогична указанным здесь методам.