Сегодня речь пойдет о практических шагах кои нужно сделать на системе мониторинга 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 только белый экран, причем код ответа сервера 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
нажимаю 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@
и нажимаю 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.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 (Тест)
указываем кому написать:
- Send to: support@ekzorchik.com
- Subject: Test subject
- Message: This is the test message from Zabbix
и нажимаем Test
вижу статус Media type test successful.
проверяю ящик 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 (Оповещения)
и нажимаю 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
перехожу в 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 принимает вид:
нажимаю Update
После чего Configuration — Actions принимают вид:
Шаг №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: отмечаю галочкой
и нажимаю 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.