Разберем как настраивать систему оповещений в Zabbix. По-умолчанию в системе Zabbix, предусмотрено несколько видов оповещения событий, это Email, Jabber, SMS.
В пункте Тип, выбираем Email и заполняем все остальные поля, своими данными. Нажимаем Обновить (Update).
В свойствах пользователя, переходим во вкладку Оповещения (Media) и нажимаем Добавить (Add).
Указываем Тип уведомления Email, вбиваем куда отправлять уведомления, задаем время и дни недели когда отправлять уведомления. Указываем какие уведомления направлять на указанный адрес, отмечаем галочкой Активировано и нажимаем Добавить (Add).
Видим что оповещение для пользователя успешно добавилось. Нажимаем Обновить (Update).
Теперь активируем систему уведомлений. Переходим Настройка (Configuration) — Действия (Actions). Нажимаем на Деактивировано (Deactivated), состояние перейдет в Активировано (Enabled).
На этом настройка отправки уведомлений на Email настроено. Проверим работу, на одном из имеющихся узлов сети я отключу SSH. На почту мне пришло уведомление о проблеме с SSH на узле сети Jakonda.
Теперь включу SSH на узле сети Jakonda и получаю уведомление что сервис SSH на Jakonda возобновил работу.
Все успешно отрабатывает, уведомления проходят на указанный мной электронный адрес. Теперь о появлении какой либо проблеме на имеющихся узлах сети, я буду вовремя оповещен.
- Configure Email Media Type on Zabbix
- Send Zabbix email notifications via Gmail
- Send Zabbix email notifications via Office 365
- Send Zabbix email notifications via internal mail server
- Test Zabbix Email Notifications via frontend
- Настройка предварительных почтовых уведомлений и эскалации
- A) Создайте базовое триггерное действие, которое будет отправлять почтовые уведомления
- B) Как настроить уведомления на основе состояния
- C) Настройка отложенных почтовых уведомлений в Zabbix
- D) Эскалация проблем с неподтверждением в Zabbix
- E) Примеры эскалации
- F) Изменить содержимое электронной почты (шаблоны сообщений)
- A) Как исправить проблему «Zabbix alerter обрабатывает более 75% занятости»
- B) Как решить проблему «Эскалатор Zabbix обрабатывает более 75% занятости»
- C) Оптимизация предупреждений Zabbix в больших средах (увеличение числа одновременных сеансов)
- E) Очистка предупреждений и эскалаций Zabbix из базы данных (остановка предупреждений по электронной почте)
Понравилась или оказалась полезной статья, поблагодари автора
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА
However, consider reading the full tutorial if you like to learn about advance notifications and escalations, changing email content, delaying email alerts, optimize Zabbix mail notifications in a large environment, common email notification errors, and more.
Picture showing how Zabbix email notification works
This guide describes how to integrate Zabbix with a Gmail, Office 365, and an internal email server (SMTP), but keep in mind that you can use any SMTP server with minor configuration changes.
Configure Email Media Type on Zabbix
We must first tell the Zabbix which mail server to use for notifications by configuring existing media type called “Email“. Choose from three options: Gmail, Office 365, and Internal mail server integration.
Send Zabbix email notifications via Gmail
Gmail is free and available to everyone, so I guess that this option will be used most of the time. Plus, with Gmail, you get lots of space (15GB) just for storing Zabbix alerts that you can search and view in the Gmail “Sent” folder.
Make sure that email server smtp.gmail.com is reachable via TCP port 587 from the Zabbix server (check the firewall). Also, you need to enable the “Allow less secure apps” option. Log in through your browser with a Gmail account and go to the https://myaccount.google.com/lesssecureapps and click on the “Allow less secure apps” button.
How to enable “Allow less secure apps” option on the Gmail account
Now that we have “Allow less secure apps” option enabled, let’s configure Zabbix to send emails using your Gmail account.
Zabbix mail settings for Gmail mail server
Send Zabbix email notifications via Office 365
More and more companies are using Office 365 to send Zabbix mail notifications. The configuration is pretty simple, just make sure that email server smtp.office365.com is reachable by the Zabbix server via TCP port 587 (check the firewall).
Zabbix mail settings for Office 365
Send Zabbix email notifications via internal mail server
This option is used mostly in companies that have installed an internal mail server (i.e. Microsoft Exchange Server). Make sure that TCP port 25 is open on the firewall and that the mail relay option is enabled on your mail server.
Zabbix mail settings for local mail server
Test Zabbix Email Notifications via frontend
Click on the “Test” option in the last column of the row where is your media type located and a new window will appear. In the “Send to” field, enter the email to which Zabbix will send alerts and click the “Test” button.
Изображение, показывающее, как проверить тип носителя «Электронная почта» через интерфейс Zabbix
Вы можете перейти к следующему шагу, если получите сообщение «Проверка типа носителя прошла успешно». В противном случае проверьте брандмауэр и попробуйте погуглить сообщение об ошибке, выдаваемое инструментом проверки.
Включение триггерных действий по умолчанию в Zabbix
ПОЗДРАВЛЯЕМ! Вы успешно настроили уведомления по электронной почте в Zabbix! Больше ничего менять не нужно, так как другие шаги необязательны.
Настройка предварительных почтовых уведомлений и эскалации
В этом туториале я написал только об уведомлениях, а теперь пришло время упомянуть эскалации. Zabbix предоставляет гибкие правила построения эскалаций. В зависимости от настроек, Zabbix может автоматически эскалировать (переходить к следующему этапу эскалации) нерешенные проблемы и выполнять действия, назначенные каждому этапу эскалации.
Как работает эскалация Zabbix (источник: zabbix.com)
Давайте углубимся в триггерные действия и узнаем, как создавать предварительные почтовые уведомления и эскалации.
A) Создайте базовое триггерное действие, которое будет отправлять почтовые уведомления
Триггерные действия позволяют нам создавать почтовые уведомления и эскалации, поэтому прежде всего давайте создадим базовое триггерное действие, подобное тому, которое предварительно настроено в Zabbix (отключите предварительно настроенный триггер, если вы не собираетесь его использовать).
Как настроить действие триггера – Шаг 1
На вкладке «Действие» введите имя триггерного действия в поле «Имя» и нажмите «Включено». Оставьте «Условия» как есть, но не волнуйтесь, мы вернемся к этому позже.
Как настроить действие триггера – Шаг 2
Как настроить действие триггера – Шаг 3
Обратите внимание, что уведомления «Обновление» и «Восстановление» являются необязательными, их не нужно настраивать, если вы не хотите получать такие уведомления.
Когда вы закончите настройку, нажмите большую кнопку «Добавить» внизу.
B) Как настроить уведомления на основе состояния
Давайте поиграем. Я обновлю текущие триггерные действия, чтобы отправить уведомление по электронной почте только в случае:
Как настроить опережающее действие триггера – пример 1
Как вы можете видеть на картинке выше, конфигурация довольно проста. На вкладке «Действие» нажмите кнопку «Добавить», чтобы добавить условия, но будьте осторожны при вводе операторов «И» и «ИЛИ» в поле «Тип вычислений — Пользовательское выражение».
Это всего лишь один пример, и он довольно прост. Zabbix предлагает множество опций, которые позволяют настраивать уведомления по электронной почте в соответствии с вашими потребностями.
Прежде чем перейти к другому примеру, я хотел бы подчеркнуть одну важную вещь. Zabbix поддерживает теги событий, которые могут значительно расширить возможности Zabbix. Теги — это отдельная тема, поэтому буду краток.
С помощью тегов вы можете выполнить интеллектуальную корреляцию аварийных сигналов, и каждый аварийный сигнал может быть обогащен полезной информацией, такой как географическое положение, производственная или тестовая среда, какие службы затронуты, кто обслуживает систему и т. д.
Почему я вам это говорю? Потому что вы можете использовать теги в действиях триггера с типом условия «Имя тега» и «Значение тега» и оптимизировать уведомления до совершенства!
C) Настройка отложенных почтовых уведомлений в Zabbix
Давайте настроим наше существующее триггерное действие так, чтобы оповещения Zabbix отправлялись через 5 минут после создания проблемы (события).
Изображение, показывающее, как настроить отложенное уведомление в Zabbix
Имейте в виду, что вы не получите уведомление по почте, если тревога сработает и будет снята в течение 5 минут.
D) Эскалация проблем с неподтверждением в Zabbix
Теперь, когда вы знаете, как работает отложенное уведомление и уведомление по условию, давайте создадим простую процедуру эскалации. Мы добавим дополнительный шаг, который будет проверять активные проблемы, которые не были решены или подтверждены через 24 часа, и уведомлять об этом босса.
Обратите внимание, что я все еще использую то же действие триггера, что и раньше. Выберите вкладку «Операции», отредактируйте текущий шаг 2 и установите 24 часа в поле «Продолжительность шага».
Как настроить опережающее действие триггера – пример 2
И это как сообщение:
После этого убедитесь, что вы добавили условие, которое будет обрабатывать неподтвержденные события. Нажмите на кнопку «Добавить», а затем на кнопку «Обновить», и все готово!
E) Примеры эскалации
Вы можете найти еще несколько примеров расширенных эскалаций на официальном сайте Zabbix. Однако, для вашего удобства, я вставлю их сюда.
Экскалации Zabbix – пример 1 (источник: zabbix.com)
Экскалации Zabbix – пример 2 (источник: zabbix.com)
Экскалации Zabbix – пример 3 (источник: zabbix.com)
Экскалации Zabbix – пример 4 (источник: zabbix.com)
F) Изменить содержимое электронной почты (шаблоны сообщений)
Вы можете изменить содержание почтовых сообщений двумя способами:
Вы заметили, что я добавил числа в конце каждого макроса? Для чего это? Некоторые триггеры используют несколько элементов, в этом случае вам нужно сообщить Zabbix, в каком порядке они определены в выражении триггера.
Проверьте поддерживаемые макросы по местоположению, чтобы узнать все доступные макросы, которые вы можете использовать в уведомлениях Zabbix.
Большинство проблем с уведомлениями Zabbix связаны с сетевыми проблемами (брандмауэр, ACL), плохо реализованными триггерами и перегруженными серверными процессами Zabbix, обрабатывающими уведомления и эскалации (оповещатели и эскалаторы).
Убедитесь, что порт SMTP (25, 587, 2525 или любой другой, который вы используете) разрешен на локальном брандмауэре, а также на вашем сетевом устройстве безопасности, если ваш почтовый сервер находится в другой подсети.
В качестве общей рекомендации убедитесь, что вы назначили достаточное количество процессов оповещения и эскалатора в файле конфигурации сервера Zabbix (путь по умолчанию: «/etc/zabbix/zabbix_server.conf»).
Прежде чем вы начнете добавлять новые процессы, спросите себя, оптимизировали ли вы свои уведомления и триггеры? Используете ли вы гистерезис на триггерах? Вам нужны все эти триггеры? Потому что таким образом вы уменьшите количество почтовых уведомлений и эскалаций и, следовательно, нагрузку на эти процессы.
График «Занятость внутренних процессов Zabbix %», показывающий процессы Zabbix
И не сходите с ума и не назначайте больше процессов, чем необходимо, это принесет больше вреда, чем пользы. Вы можете просмотреть, насколько эти процессы используются, на графике «Внутренние процессы Zabbix заняты, %» на хосте «Zabbix server». Как правило, увеличивайте количество процессов постепенно, если они используются более чем на 60%.
Продолжайте читать, чтобы узнать, как решить некоторые распространенные проблемы с уведомлениями.
A) Как исправить проблему «Zabbix alerter обрабатывает более 75% занятости»
За отправку уведомлений отвечают процессы Alerter, и вы можете увеличить их количество, используя параметр «StartAlerters» в конфигурационном файле Zabbix. Однако, прежде чем вносить какие-либо изменения, посмотрите, насколько эти процессы используются за последние 3 дня, на графике «Внутренние процессы Zabbix заняты, %» на хосте «Zabbix server».
Установите любое число от 1 до 100, по умолчанию 3. Для этого найдите строку «# StartAlerters=3» в конфигурационном файле Zabbix (путь по умолчанию: «/etc/zabbix/zabbix_server.conf») , раскомментируйте его и постепенно увеличивайте это число до тех пор, пока процессы оповещения не будут заняты менее чем на 60%:
### Опция: StartAlerters
# Количество предварительно разветвленных экземпляров оповещений.
# Оповещения отправляют уведомления, созданные операциями действий.
#
# Обязательно: нет
# Диапазон: 0-100
# По умолчанию:
Начните с 10 и не забывайте перезапускать Zabbix сервер после каждого изменения файла конфигурации командой:
systemctl перезапустить zabbix-сервер
И помните, что я сказал ранее, не назначайте больше процессов, чем необходимо, это принесет больше вреда, чем пользы!
B) Как решить проблему «Эскалатор Zabbix обрабатывает более 75% занятости»
Вы получите предупреждение «Эскалатор Zabbix обрабатывает более 75% занятости», если серверу Zabbix необходимо обработать большое количество эскалаций (триггерных действий), а процессов недостаточно для обработки.
Процессы эскалатора отвечают за обработку эскалаций, настроенных в действиях триггера, и вы можете увеличить их количество, используя параметр «StartEscalators» в файле конфигурации Zabbix. Однако, прежде чем вносить какие-либо изменения, посмотрите, насколько эти процессы используются за последние 3 дня, на графике «Внутренние процессы Zabbix заняты, %» на хосте «Zabbix server».
Установите любое число от 1 до 100, по умолчанию 1. Для этого найдите строку «# StartEscalators=1» в конфигурационном файле Zabbix (путь по умолчанию: «/etc/zabbix/zabbix_server.conf»), раскомментируйте ее и постепенно увеличивайте это число до тех пор, пока процессы эскалатора не будут загружены менее чем на 60%. :
### Опция: StartEscalators
# Количество предварительно разветвленных экземпляров эскалаторов.
#
# Обязательно: нет
# Диапазон: 0-100
# По умолчанию:
Начните с 3 и не забывайте перезапускать Zabbix сервер после каждого изменения файла конфигурации::
C) Оптимизация предупреждений Zabbix в больших средах (увеличение числа одновременных сеансов)
Все типы носителей обрабатываются параллельно. Максимальное количество одновременных сеансов может быть настроено по типу носителя, но общее количество процессов оповещения на сервере может быть ограничено только параметром «StartAlerters» в файле конфигурации сервера.
«Безлимитный» означает большее количество параллельных сеансов и увеличенную емкость уведомлений. Эту опцию следует использовать в больших средах, где вам может потребоваться отправить много уведомлений одновременно.
Проверьте, разрешает ли локальный брандмауэр на сервере Zabbix порт SMTP. Например, чтобы проверить, доступен ли SMTP-сервер Gmail «smtp.gmail.com» через порт 587, используйте эту команду на сервере Zabbix:
Используйте эти команды, чтобы открыть TCP-порт 587 на сервере CentOS / RHEL, где установлен сервер Zabbix:
firewall-cmd —permanent —zone=public —add-port=587/tcp
брандмауэр-cmd —reload
А если на Ubuntu / Debian / Rasbian установлен брандмауэр UFW, вы можете использовать эту команду, чтобы разрешить SMTP-порт 587.
sudo ufw allow 587/tcp
E) Очистка предупреждений и эскалаций Zabbix из базы данных (остановка предупреждений по электронной почте)
Люди постоянно совершают ошибки, один неправильно настроенный триггер на важном шаблоне может сгенерировать миллионы сигналов тревоги. Когда что-то подобное происходит, Zabbix потребуется несколько дней, чтобы обработать все предупреждения, и пока он это делает, никто не будет получать уведомления о новых проблемах, потому что они находятся в конце очереди предупреждений.
К счастью, для этого есть решение. Остановите оповещения и эскалации Zabbix непосредственно в MySQL/MariaDB, используя следующие команды:
ОБНОВЛЕНИЕ предупреждений SET status=2,error=» WHERE status=0 AND alerttype=0;
Кроме того, вы можете обрезать (удалить) оповещения из таблиц с помощью команды «ОТРЕЗАТЬ оповещения;» если вас не волнует история предупреждений.
Вы можете удалить эскалацию с помощью этой команды:
Спасибо, что читаете.