Сегодня речь пойдет о практических шагах кои нужно сделать на системе мониторинга Zabbix 5.0.9(41) развернутой в среде Ubuntu 18.04 Server по настройки связки с почтовым сервером Ubuntu 22.04 + iRedMail. У меня такая система работает дома, она следит за моими домашними сервисами и некоторыми системами во вне с целью сбора статистики и предупреждения о проблемах. Плюс — это интересно для меня как системного администратора. Это моя работа и мое хобби, а только так достигается правильная работа, когда хобби приносит удовольствие.

Итак,

Шаг №1: Домашний Zabbix 5.0.9 развернут на Ubuntu 18.04 как виртуальная машина под Debian 10 + Proxmox 6.4-13 опираясь на пошаговую заметку: "Устанавливаем Zabbix 5 + Nginx on Ubuntu 18.04 Server"

странно при открытии Web интерфейса для первоначальной настройки: http://172.33.33.148 получаю 502 Bad Gateway, а в логах:

ekzorchik@srv-zabbix:~$ sudo tail -f /var/log/nginx/error.log
2024/03/18 08:04:17 [crit] 15884#15884: *1 connect() to unix:/var/run/php7.2-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 172.35.35.24, server: 172.33.33.148, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php7.2-fpm.sock:", host: "172.33.33.148"
ekzorchik@srv-zabbix:~$ sudo php-fpm7.2 -t
[18-Mar-2024 08:07:43] NOTICE: configuration file /etc/php/7.2/fpm/php-fpm.conf test is successful

смотрю /etc/php/7.2/fpm/php-fpm.conf

проверяю содержимое каталога /var/run/php

ekzorchik@srv-zabbix:~$ ls -l /var/run/php/
total 4
-rw-r--r-- 1 root     root     5 Mar 18 08:04 php7.2-fpm.pid
srw-rw---- 1 www-data www-data 0 Mar 18 08:04 php7.2-fpm.sock
srw-rw---- 1 www-data www-data 0 Mar 18 08:04 zabbix.sock
ekzorchik@srv-zabbix:~$
ekzorchik@srv-zabbix:~$ ls -l /var/run/php7.2-fpm.sock:
ls: cannot access '/var/run/php7.2-fpm.sock:': No such file or directory
ekzorchik@srv-zabbix:~$

в описание для сайта под именем Zabbix изменяю путь до php7.2-fpm.sock

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
sudo systemctl restart nginx php7.2-fpm.service zabbix-server.service zabbix-agent.service

и смотрю Web: http://172.33.33.148 и сейчас просто белый экран во вкладке

Белый экран при открытии Web-страницы Zabbix

вместо открытия web-интерфейса zabbix только белый экран, причем код ответа сервера 200, т.е. ошибок нет, поэтому в логах тоже пусто.

Если Белый экран, что-то с правами на директории zabbix

ekzorchik@srv-zabbix:~$ sudo nano /etc/nginx/sites-available/zabbix.conf
server {
        listen 80;
        root /usr/share/zabbix;
        index index.php;
        server_name 172.33.33.148;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
ekzorchik@srv-zabbix:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ekzorchik@srv-zabbix:~$
ekzorchik@srv-zabbix:~$ sudo pkill php7.2-fpm
ekzorchik@srv-zabbix:~$ sudo systemctl restart nginx php7.2-fpm.service zabbix-server.service zabbix-agent.service

Мастер первой инсталляции Zabbix успешно запустился.

нажимаю Next step

этап Check of pre-requisites:

колонка Required все параметры в значении OK

и нажимаю Next step

этап Configure DB connection:

  • Database type: MySQL
  • Database host: localhost
  • Database port: 0
  • Database name: db_zabbix
  • User: us_zabbix
  • Password: 612mbddr@

Указываю параметры подключения к MySQL для Zabbix

и нажимаю Next step

этап Zabbix server details

  • Host: localhost
  • Port: 10051
  • Name: Zabbix Server

и нажимаю Next step

этап Pre-installation summary

проверяю что все что указал ранее верно, и я нигде не ошибся

и нажимаю Next step

этап Install

вижу надпись: «Congratulations! You have successfully installed Zabbix frontend.

Configuration file «conf/zabbix.conf.php» created.»

отлично.

и нажимаю Finish.

Шаг №2: Авторизуюсь в развернутой системе мониторинга на базе Ubuntu 18.04 + Zabbix 5.0

  • URL: http://172.33.33.148/index.php
  • Username: Admin
  • Password: zabbix
  • Remember me for 30 days: отмечаю галочкой

и нажимаю Sign in

смотрю и вижу Web-интерфейс Администрирования и управления, а также если переместиться в самый низ страницы по центру значится, что версия моего Zabbix 5.0.41.

Zabbix 5.0.41 успешно установлен на Ubuntu 18.04 Server

Отлично. Хоть и не Zabbix 5.0.9, но все же ветка 5.0, думаю столь отличительных нюансов в последующей настройке быть не может. Остаемся как есть.

Шаг №3: На своем почтовом сервер ("Установка iRedMail 1.6.3 on VPS Ubuntu 22.04 Server") под управлением связки создаю почтовый ящик для уведомлений:

https://mail.ekzorchik.com/iredadmin — Username&Password и нажимаю Login — Domains and Accounts — перехожу в ekzorchik.com — Users и создаю ящик

Display Name: alerter@ekzorchik.com

Pass: password

Шаг №4: Настраиваю что в Zabbix’ксе версии 5.0.41 все уведомления будут идти от имени почтового ящика alerter@ekzorchik.com который создал для системы мониторинга:

http://172.33.33.148/index.php — Username&Password и нажимаю Sign in — Administration (Администрирование) — Media types (Способы оповещений), деактивирую все способы оповещения за исключением Name: Email

перехожу в Name: Email

вкладка Media type:

  • Name (Имя): Email
  • Type (Тип): Email
  • SMTP server (SMTP сервер): mail.ekzorchik.com
  • SMTP server port (Порт SMTP сервера): 465
  • SMTP helo: ekzorchik.com
  • SMTP email: alerter@ekzorchik.com
  • Connect security (Безопасность подключения): SSL/TLS
  • SSL verity peer (Проверка SSL узла): отмечаю галочкой
  • SSL verify host (Проверка SSL хоста): отмечаю галочкой
  • Authentication (Аутентификация): Username and password
  • Username (Имя пользователя): alerter@ekzorchik.com
  • Password (Пароль): password
  • Message format (Формат сообщения): Plain text (Простой текст)
  • Description (Описание):
  • Enabled (Активировано): Отмечаю галочкой

и нажимаю Update

Шаг №5: Проверяем что настройки подключения к почтовому ящику alerter@ekzorchik.com верны и через Zabbix можно отправлять сообщения:

http://172.33.33.148/index.php — Username&Password и нажимаю Sign in — Administration — Media types —

Name: Email — Отмечаю галочкой и в колонке Action (Действие) нажимаю Test (Тест)

Проверяем что настройки подключения к почтовому ящику alerter@ekzorchik.com верны и через Zabbix можно отправлять сообщения:

указываем кому написать:

  • Send to: support@ekzorchik.com
  • Subject: Test subject
  • Message: This is the test message from Zabbix

Указываем кому писать и нажимаем Test

и нажимаем Test

вижу статус Media type test successful.

вижу статус Media type test successful.

проверяю ящик support@ekzorchik.com и вижу отправленное тестовое сообщение которое свидетельствует, что в Zabbix успешно добавлены настройки подключения к почтовому серверу ящика alerter@ekzorchik.com

проверяю ящик support@ekzorchik.com и вижу отправленное тестовое сообщение которое свидетельствует, что в Zabbix успешно добавлены настройки подключения к почтовому серверу ящика alerter@ekzorchik.com

Шаг №6: Теперь создаем пользователя или связываем уже существующего административного пользователя Zabbix с почтой кому следует присылать уведомления:

http://172.33.33.148/index.php — Username&Password и нажимаю Sign in — Administration (Администрирование) — Users (Пользователи)– переходим в учетную запись Alias (Псевдоним): Admin

вкладка User (Пользователь):

  • Alias (Псевдоним): Admin
  • Name (Имя): Zabbix
  • Surname (Фамилия): Administrator
  • Groups (Группы): Zabbix administrators
  • Password (Пароль): Change password
  • Language (Язык): English (en_US)
  • Theme (Тема): System default
  • Auto-login (Авто-вход): отмечено галочкой
  • Refresh (Обновить): 30s
  • Rows per page (Строк на странице): 50

вкладка Media (Оповещения) — нажимаю Add

  • Type (Тип): выбираю способ оповещения Email
  • Send to (Отправлять на): указываю ящик support@ekzorchik.com
  • When active (Когда активен): 1-7,00:00-24:00
  • Use if severity (Использовать, если важность): отмечаю Waring (Предупреждение), Average (Средняя), High (Высокая), Disaster (Чрезвычайная)
  • Enabled (Активировано): Отмечаю галочкой

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

и нажимаю Add

в результате для пользователей вкладки Media (Оповещения)

в результате для пользователей вкладки Media (Оповещения)

и нажимаю Update для сохранения изменений внутри учетной записи.

Шаг №7: Теперь включаем возможность отправки отчетов на Email, как в случае аварии, так и восстановлении аварии:

http://172.33.33.148/index.php — Username&Password и нажимаю Sign in — Configuration (Настройка) — Actions (Действия)

  • Name: Report problems to Zabbix administrators
  • Operation: Send message to user groups: Zabbix administrators via all media
  • Status: Disabled

На заметку: по умолчанию отправка отчетов выключена

изменяю на Status c Disabled на Enabled

Теперь включаем возможность отправки отчетов на Email, как в случае аварии, так и восстановлении аварии:

перехожу в Name: Report problems to Zabbix administrators

вкладка Action (Действие)

  • Name: Report problems to Zabbix administrators
  • Conditions: нажимаю Add
  • Type: Trigger severity
  • Operator: equals
  • Severity: Warning

и нажимаю Add

и также через Add для уровней Average, High, Disaster проделываю

в итоге должно получится следующее:

Уровни проблем

перехожу на вкладку Operations

Default operation step duration (Длительность шага операции по умолчанию): 1h

Pause operations for suppressed problems (Приостановить операции для подавления проблем): Отмечаю галочкой

Operations (Операции): перехожу в Edit для Steps=1

  • Operation type (Тип операции): Send message
  • Steps (Шаги): 1-1
  • Step duration (Длительность шага): 0
  • Send to user groups (Отправлять группам пользователей): Zabbix Administrators
  • Send only to (Отправлять только через): Email
  • Custom message (Пользовательское сообщение): отмечаю галочкой
  • Subject (Тема): {HOST.NAME} {TRIGGER.STATUS}:{TRIGGER.NAME}
  • Message: (Сообщение)
    • Текущее время: {DATE} {TIME}
    • Узел сети: {HOST.NAME}
    • Элемент данных: {ITEM.NAME}
    • Trigger severity: {TRIGGER.SEVERITY}

Что делать с случае проблем.

и нажимаю Update

перехожу в Recovery operations: Edit

  • Operation type: Send message
  • Send to user groups: Zabbix administrators
  • Send only to: Email
  • Custom message: Отмечаю галочкой
  • Subject: {HOST.NAME} {TRIGGER.STATUS}:{TRIGGER.NAME}
  • Message:
    • Текущее время: {DATE} {TIME}
    • Узел сети: {HOST.NAME}
    • Элемент данных: {ITEM.NAME}
    • Trigger severity: {TRIGGER.SEVERITY}

Что делать в случае восстановлении работоспособности.

и нажимаю Update

Итого вкладка Operations принимает вид:

Итого вкладка Operations принимает вид:

нажимаю Update

После чего Configuration — Actions принимают вид:

Действия по важности событий для отправки на группу Zabbix administrators

Шаг №8: Перехожу в профиль, т. к. я один то и учетная запись по умолчанию у меня (Admin) и появления сообщениях о проблемах в Webпанель администрирования Zabbix:

http://172.33.33.148/index.php — Username&Password и нажимаю Sign in — User settings

User profile: Zabbix Administrator

вкладка Messaging

  • Frontend messaging: отмечаю галочкой
  • Message timeout: 60
  • Play sound: Once
  • Trigger severity: снимаю галочки с Not classified & Information
  • Show suppressed problems: отмечаю галочкой

Появление сообщений о проблемах в Web-панель администрирования Zabbix:

и нажимаю Update

Шаг №9: Проверяю как работает уведомление на почту, выключаю любой сервис/хост в инфраструктуре у которого настроен триггер с уведомлением High.

отключил сеть на добавленном в мониторинг хосте и на почту пришло уведомление вида:

Сообщение на почту о проблеме.

восстанавливаю сеть на узле w10 и на почту приходит уведомление вида:

Сообщение на почту о восстановлении работоспособности узла.

На заметку: нужно доработать текст тела письма для лучше понимания что с узлом при восстановлении. Но это уже тема отдельной заметки. Можно к примеру, в Action (Действия) - Operation (Операции) снять галочку с Custom message (Пользовательское сообщение) тем самым отработает дефолтные параметры, обозначенные в Administration - Name: Email — вкладка "Шаблоны сообщений"

Дефолтный шаблон о проблеме и о проблемы что нет.

Т.е. есть куда отталкивать в составлении своего шаблона сообщений.

Подведу итог, я практически разобрал как на систему мониторинга Ubuntu 18.04 + Zabbix 5.0.41 приспособить отправку уведомление о проблемах посредством связки с почтовым сервером на базе Ubuntu 22.04 + iRedMail 1.6.3 со всеми нюансами и замечаниями. Проверил все на боевом исполнении и теперь могу перенести данные наработки применительно к боевой системе на работе.

На этом заметка для самого себя успешно подготовлена, до новых встреч, с уважением автор блога Олло Александр aka ekzorchik.