Мониторинг. · 20 min read · Oct 09, 2025
Как установить и настроить сервер и клиент Zabbix на Rocky Linux 9

Zabbix — это бесплатное и открытое решение для мониторинга ИТ-инфраструктуры, такой как сети, серверы, виртуальные машины и облачные сервисы. Его ядро написано на C и Java, а фронтенд — на PHP. Фронтенд предоставляет веб-интерфейс для отслеживания и мониторинга метрик, таких как использование сети, загрузка ЦП, дисковое пространство и т. д., и отправляет уведомления на основе настроенных триггеров.
Zabbix работает по модели клиент/сервер. Клиенты или агенты, доступные для различных операционных систем, связываются с сервером для отправки данных. Для систем без агента Zabbix предоставляет возможность использовать общие протоколы мониторинга, такие как Простой протокол управления сетью (SNMP) или Интерфейс управления интеллектуальной платформой (IPMI).
В этом руководстве вы узнаете, как установить сервер и клиент Zabbix на сервер Rocky Linux 9.
Предварительные требования
- Два сервера с Rocky Linux 9. Один будет функционировать как сервер, а другой — как клиент, который мы будем мониторить с помощью сервера.
- Непривилегированный пользователь с правами sudo.
- Полное доменное имя (FQDN), например
zabbix.example.com, указывающее на ваш сервер. - Учетная запись SMTP с почтовым сервисом, таким как Amazon SES или Mailgun.
- Все обновлено.
$ sudo dnf update - Для работы руководства и сервера Zabbix требуется несколько основных пакетов. Некоторые из них уже могут быть на вашем сервере.
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
Шаг 1 - Настройка брандмауэра
Первый шаг — настроить брандмауэр. Rocky Linux использует брандмауэр Firewalld. Проверьте статус брандмауэра.
$ sudo firewall-cmd --state
running
Брандмауэр работает с различными зонами, и публичная зона является той, которую мы будем использовать по умолчанию. Перечислите все службы и порты, активные на брандмауэре.
$ sudo firewall-cmd --permanent --list-services
Он должен показать следующий вывод.
cockpit dhcpv6-client ssh
Открытые порты 10050 и 10051 необходимы серверу Zabbix для подключения к агенту.
$ sudo firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
Разрешите порты HTTP и HTTPS.
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Проверьте статус брандмауэра еще раз.
$ sudo firewall-cmd --permanent --list-all
Вы должны увидеть аналогичный вывод.
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: cockpit dhcpv6-client http https ssh
ports: 10051/tcp 10050/tcp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Перезагрузите брандмауэр, чтобы применить изменения.
$ sudo firewall-cmd --reload
Шаг 2 - Установите SELinux в режим разрешения
Настройте SELinux для работы в режиме разрешения. В этом режиме SELinux не будет блокировать никакие процессы, но будет записывать все в файл журнала аудита. Мы будем использовать это позже для настройки правил SELinux.
$ sudo setenforce 0 && sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Проверьте статус SELinux.
$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33
Шаг 3 - Настройка Nginx и репозитория PHP
Пакет Zabbix автоматически установит PHP и Nginx. Но он захватит более старые версии из них. Поэтому нам нужно убедиться, что процесс установит последнюю доступную версию.
Создайте и откройте файл /etc/yum.repos.d/nginx.repo для редактирования.
$ sudo nano /etc/yum.repos.d/nginx.repo
Вставьте следующий код в него.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Включите основной репозиторий Nginx.
$ sudo dnf config-manager --enable nginx-mainline
Далее нам нужно настроить репозиторий PHP.
Первый шаг — получить репозиторий Epel.
$ sudo dnf install epel-release -y
Далее установите репозиторий Remi.
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Проверьте доступные потоки PHP.
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
php remi-8.3 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Версия по умолчанию — 8.1. На момент написания этого руководства Zabbix совместим с PHP 8.2. Поэтому включите репозиторий PHP 8.2 от Remi. Следующая версия Zabbix будет поддерживать PHP 8.3, поэтому вы можете включить ее, если ваша версия Zabbix 6.0.26 или выше.
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.2
Теперь мы можем перейти к установке Zabbix.
Шаг 4 - Установка сервера Zabbix
Пакеты Zabbix по умолчанию предоставляются в репозитории EPEL. Перед тем как продолжить установку, нам нужно отключить их. Откройте файл /etc/yum.repos.d/epel.repo для редактирования и добавьте следующую строку в секцию [epel].
[epel]
...
excludepkgs=zabbix*
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Последняя версия Zabbix — 6.4.x, но мы будем использовать LTS (долгосрочную поддержку), которая гораздо более стабильна для производственной среды.
Установите репозиторий Zabbix.
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
Удалите весь кэш RPM.
$ sudo dnf clean all
Установите сервер Zabbix, фронтенд и агент. Мы будем использовать сервер PostgreSQL для нашей цели, и поэтому нам нужен пакет zabbix-web-pgsql. Если вы используете сервер MySQL/MariaDB/Percona, то вам нужно будет установить пакет zabbix-web-mysql.
$ sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
Шаг 5 - Установка и настройка PostgreSQL
Zabbix работает с PostgreSQL 13 и выше. Rocky Linux 9 поставляется с PostgreSQL 13 по умолчанию. Однако мы будем использовать PostgreSQL 16 для нашего руководства.
Установите RPM-файл репозитория PostgreSQL.
$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Отключите встроенный модуль PostgreSQL.
$ sudo dnf -qy module disable postgresql
Теперь вы можете установить PostgreSQL с помощью следующей команды.
$ sudo dnf install -y postgresql16-server postgresql16-contrib
Инициализируйте базу данных.
$ sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
Включите службу PostgreSQL.
$ sudo systemctl enable postgresql-16
Запустите службу PostgreSQL.
$ sudo systemctl start postgresql-16
Проверьте статус службы PostgreSQL.
$ sudo systemctl status postgresql-16
? postgresql-16.service - PostgreSQL 16 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-16.service; enabled; preset: disabled)
Active: active (running) since Thu 2024-01-18 14:54:46 UTC; 10s ago
Docs: https://www.postgresql.org/docs/16/static/
Process: 3407 ExecStartPre=/usr/pgsql-16/bin/postgresql-16-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 3412 (postgres)
Tasks: 7 (limit: 24694)
Memory: 17.4M
CPU: 117ms
CGroup: /system.slice/postgresql-16.service
??3412 /usr/pgsql-16/bin/postgres -D /var/lib/pgsql/16/data/
??3413 "postgres: logger "
??3414 "postgres: checkpointer "
??3415 "postgres: background writer "
??3417 "postgres: walwriter "
??3418 "postgres: autovacuum launcher "
??3419 "postgres: logical replication launcher "
Создайте пользователя базы данных Zabbix.
$ sudo -u postgres createuser --pwprompt zabbix
Вам будет предложено ввести пароль.
Enter password for new role:
Enter it again:
Создайте базу данных Zabbix.
$ sudo -u postgres createdb -O zabbix zabbix
Импортируйте начальную схему и данные базы данных. Вам снова будет предложено ввести ваш пароль.
$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Этот процесс может занять несколько минут.
Откройте файл /etc/zabbix/zabbix_server.conf для редактирования.
$ sudo nano /etc/zabbix/zabbix_server.conf
Найдите переменную DBPassword, раскомментируйте ее, удалив хэш (#) перед ней, и установите ее значение на пароль, выбранный на предыдущем шаге.
DBPassword=psqlpassword
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Запустите и включите службы сервера и агента Zabbix.
$ sudo systemctl enable zabbix-server zabbix-agent --now
Шаг 6 - Настройка PHP
Zabbix устанавливает файлы конфигурации PHP и Nginx, которые мы будем использовать. Однако нам нужно внести несколько изменений, прежде чем мы сможем их использовать.
Сначала откройте /etc/php-fpm.d/zabbix.conf для редактирования.
$ sudo nano /etc/php-fpm.d/zabbix.conf
Измените значения user = apache и group = apache на nginx, как показано ниже.
user = nginx
group = nginx
Это связано с тем, что, поскольку мы используем Nginx из его официального репозитория, он работает под пользователем nginx, а не apache, под которым работает дистрибутивная версия Nginx.
Вы также можете редактировать любые другие значения, связанные с PHP, или добавлять любые пользовательские определения здесь. После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Запустите и включите службу PHP-FPM.
$ sudo systemctl enable php-fpm --now
Шаг 7 - Установка SSL
Нам нужно установить Certbot для генерации SSL-сертификата. Мы будем использовать установщик пакетов Snapd для этого. Поскольку Rocky Linux не поставляется с ним, установите установщик Snapd. Он требует репозиторий EPEL (Дополнительные пакеты для корпоративного Linux), чтобы работать. Но поскольку мы уже установили его на шаге 3, мы можем сразу перейти к делу.
Установите Snapd.
$ sudo dnf install -y snapd
Включите и запустите службу Snap.
$ sudo systemctl enable snapd --now
Установите пакет Snap core и убедитесь, что ваша версия Snapd обновлена.
$ sudo snap install core && sudo snap refresh core
Создайте необходимые ссылки для работы Snapd.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Установите Certbot.
$ sudo snap install --classic certbot
Используйте следующую команду, чтобы убедиться, что команда Certbot может быть выполнена, создав символическую ссылку на директорию /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Проверьте, работает ли Certbot правильно.
$ certbot --version
certbot 2.8.0
Запустите следующую команду для генерации SSL-сертификата.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d zabbix.example.com
Вышеуказанная команда загрузит сертификат в директорию /etc/letsencrypt/live/zabbix.example.com на вашем сервере.
Сгенерируйте сертификат группы Диффи-Хеллмана.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Проверьте службу планировщика обновления Certbot.
$ sudo systemctl list-timers
Вы найдете snap.certbot.renew.service в числе запланированных для выполнения служб.
NEXT LEFT LAST PASSED UNIT ACTIVATES -------------------------------------------------------------------------------------------------------------------------------------
Sat 2024-01-20 10:04:02 UTC 1min 32s left Sat 2024-01-20 08:52:11 UTC 1h 10min ago dnf-makecache.timer dnf-makecache.service
Sun 2024-01-21 00:00:00 UTC 13h left Sat 2024-01-20 00:00:10 UTC 10h ago logrotate.timer logrotate.service
Sat 2024-01-20 21:13:00 UTC 11h left Sat 2024-01-20 08:19:11 UTC 1h 43min ago snap.certbot.renew.timer snap.certbot.renew.service
Выполните пробный запуск процесса, чтобы проверить, работает ли обновление SSL.
$ sudo certbot renew --dry-run
Если вы не видите ошибок, вы готовы. Ваш сертификат будет автоматически обновляться.
Шаг 8 - Настройка Nginx
Zabbix устанавливает файл конфигурации Nginx по умолчанию. Нам нужно отредактировать его, чтобы добавить код для включения SSL-сертификатов. Нам также нужно изменить порт listen и добавить код для перенаправления HTTP-ссылок на HTTPS.
Откройте файл /etc/nginx/conf.d/zabbix.conf для редактирования.
$ sudo nano /etc/nginx/conf.d/zabbix.conf
Отредактируйте код так, чтобы файл выглядел следующим образом.
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
root /usr/share/zabbix;
index index.php;
access_log /var/log/nginx/zabbix.access.log;
error_log /var/log/nginx/zabbix.error.log;
ssl_certificate /etc/letsencrypt/live/zabbix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zabbix.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/zabbix.example.com/chain.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location = /favicon.ico {
log_not_found off;
}
location / {
try_files $uri $uri/ =404;
}
location /assets {
access_log off;
expires 10d;
}
location ~ \.ht {
deny all;
}
location ~ /(api/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location /vendor {
deny all;
return 404;
}
location ~ [^/\.php(/|$) {
fastcgi_pass unix:/run/php-fpm/zabbix.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /usr/share/zabbix;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
# enforce HTTPS
server {
listen 80;
listen [::]:80;
server_name zabbix.example.com;
return 301 https://$host$request_uri;
}
После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Откройте файл /etc/nginx/nginx.conf для редактирования.
$ sudo nano /etc/nginx/nginx.conf
Добавьте следующую строку перед строкой include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Проверьте вашу конфигурацию Nginx.
$ sudo nginx -t
Запустите и включите службу Nginx.
$ sudo systemctl enable nginx --now
Шаг 9 - Доступ к фронтенду Zabbix
Перед установкой фронтенда Zabbix установите разрешения на директорию /etc/zabbix/web, чтобы Nginx мог к ней получить доступ.
$ sudo chown -R nginx:nginx /etc/zabbix/web
Откройте URL https://zabbix.example.com в вашем браузере, и вы увидите следующий экран.

Нажмите кнопку Next step, чтобы завершить установку Zabbix. На следующей странице проверяются системные требования, и если они все удовлетворены.

Если проблем нет, нажмите кнопку Next step, чтобы продолжить. Далее вам будет предложено ввести учетные данные вашей базы данных. Снимите отметку с опции Database TLS encryption, так как мы ее не настраивали.

Нажмите кнопку Next step, чтобы продолжить. Введите имя вашего сервера Zabbix. Это необязательно, но если настроено, оно будет отображаться в строке меню и заголовках страниц.

Нажмите кнопку Next step, чтобы продолжить. Вам будет предложено подтвердить все настройки.

Если все в порядке, нажмите кнопку Next step, чтобы продолжить. Вы должны увидеть сообщение, информирующее вас о том, что установка завершена успешно.

Нажмите кнопку Finish, чтобы завершить процесс. Вы будете перенаправлены на страницу входа.

Имя пользователя по умолчанию — Admin, а пароль — zabbix. Введите информацию для входа и нажмите кнопку Sign in, чтобы получить доступ к панели управления Zabbix.

Шаг 10 - Настройка SELinux
Разрешите HTTP-демону подключаться к Zabbix.
$ sudo setsebool -P httpd_can_connect_zabbix 1
Разрешите Zabbix подключаться ко всем TCP-портам.
$ sudo setsebool -P zabbix_can_network on
Включите daemons_enable_cluster_mode, чтобы избежать ошибок менеджера HA.
$ sudo setsebool -P daemons_enable_cluster_mode on
Создайте пакет пользовательской политики SELinux, используя журнал аудита.
$ sudo grep "denied.*zabbix" /var/log/audit/audit.log | audit2allow -M zabbix_policy
****************** ВАЖНО *********************
Чтобы сделать этот пакет политики активным, выполните:
semodule -i zabbix_policy.pp
Установите созданный пакет пользовательской политики SELinux.
$ sudo semodule -i zabbix_policy.pp
Запустите команду, чтобы проверить наличие ошибок базы данных.
$ sudo sealert -a /var/log/audit/audit.log
Это предложит вам множество правил для применения.
Выполните следующие команды.
$ sudo ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
$ sudo semodule -X 300 -i my-phpfpm.pp
$ sudo ausearch -c 'zabbix_agentd' --raw | audit2allow -M my-zabbixagentd
$ sudo semodule -X 300 -i my-zabbixagentd.pp
Примените политику, чтобы разрешить Nginx предоставлять доступ к PostgreSQL.
$ sudo setsebool -P httpd_can_network_connect_db 1
Примените политику, чтобы разрешить подключения к внешним хостам.
$ sudo setsebool -P httpd_can_network_connect 1
Установите SELinux в режим принуждения.
$ sudo setenforce 1 && sudo sed -i 's/^SELINUX=.*/SELINUX=enforcing/g' /etc/selinux/config
Шаг 11 - Установка агента Zabbix на удаленной системе
Основная задача агента Zabbix — собирать информацию с системы и отправлять ее на центральный сервер Zabbix для анализа. Мы установим агента на систему Rocky Linux 9, но вы можете сделать это на любом дистрибутиве.
Шаг 11.1 - Настройка брандмауэра на удаленной системе
Откройте порт 10050, чтобы разрешить агенту Zabbix подключаться к серверу.
$ sudo firewall-cmd --add-port=10050/tcp --permanent --zone=public
$ sudo firewall-cmd --reload
Шаг 11.2 - Установка агента Zabbix
Вам нужно повторить шаг 4, кроме последнего оператора установки. Это означает, что нужно отредактировать файл /etc/yum.repos.d/epel.repo и добавить следующую строку в секцию [epel].
[epel]
...
excludepkgs=zabbix*
Затем установите репозиторий Zabbix и очистите кэш RPM.
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
$ sudo dnf clean all
Установите агента Zabbix.
$ sudo dnf install zabbix-agent
Шаг 11.3 Настройка агента Zabbix
Zabbix поддерживает шифрование на основе сертификатов, но для простоты этого руководства мы будем использовать предустановленные ключи (PSK) для защиты соединения между сервером и агентом.
Сгенерируйте файл PSK.
$ sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"
Покажите ключ для копирования.
$ cat /etc/zabbix/zabbix_agentd.psk
797c84746dfe86f71b0f207785906d2bb886be27149b296d86df6b1ec9de6bbe
Скопируйте этот ключ, так как он нам понадобится позже.
Агент Zabbix хранит свою конфигурацию в файле /etc/zabbix/zabbix-agentd.conf. Откройте его для редактирования.
$ sudo nano /etc/zabbix/zabbix_agentd.conf
Раскомментируйте следующие переменные и обновите их значения, как показано ниже.
Server=
ServerActive=
HostMetadata=ZabbixLinuxClient
Hostname=zabbixclient.example.com
Укажите IP-адрес вашего сервера Zabbix в качестве значения для переменных Server и ServerActive. Переменная HostMetadata может быть любой, что вы можете использовать для идентификации системы. Она также используется в процессе автоматической регистрации на фронтенде Zabbix, о котором мы поговорим позже. Элемент Hostname относится к имени системы узла агента Zabbix.
Вы можете узнать имя хоста, используя следующую команду.
$ cat /etc/hostname
Далее найдите раздел, который настраивает безопасное соединение между сервером и агентом. Найдите переменную TLSConnect и измените ее значение с unencrypted на psk, как показано ниже.
...
### Option: TLSConnect
# Как агент должен подключаться к серверу или прокси. Используется для активных проверок.
# Можно указать только одно значение:
# unencrypted - подключаться без шифрования
# psk - подключаться с использованием TLS и предустановленного ключа
# cert - подключаться с использованием TLS и сертификата
#
# Обязательно: да, если параметры TLS-сертификата или PSK определены (даже для 'unencrypted' соединения)
# По умолчанию:
# TLSConnect=psk
...
Далее найдите раздел TLSAccept и измените его значение на psk, как показано ниже.
...
### Option: TLSAccept
# Какие входящие соединения принимать.
# Можно указать несколько значений, разделенных запятой:
# unencrypted - принимать соединения без шифрования
# psk - принимать соединения, защищенные TLS и предустановленным ключом
# cert - принимать соединения, защищенные TLS и сертификатом
#
# Обязательно: да, если параметры TLS-сертификата или PSK определены (даже для 'unencrypted' соединения)
# По умолчанию:
# TLSAccept=psk
...
Далее найдите раздел TLSPSKIdentity и измените его значение на PSK 001, как показано.
...
### Option: TLSPSKIdentity
# Уникальная строка с учетом регистра, используемая для идентификации предустановленного ключа.
#
# Обязательно: нет
# По умолчанию:
# TLSPSKIdentity=PSK 001
...
Это идентификатор PSK, который вы будете использовать для добавления хоста через веб-интерфейс Zabbix.
Наконец, найдите раздел TLSPSKFile и измените его значение на местоположение файла PSK, как показано.
...
### Option: TLSPSKFile
# Полное имя файла, содержащего предустановленный ключ.
#
# Обязательно: нет
# По умолчанию:
# TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Шаг 11.4 - Запустите агента Zabbix
Запустите и включите службу агента Zabbix.
$ sudo systemctl enable zabbix-agent --now
Шаг 12 - Добавление клиента Zabbix на фронтенд Zabbix для мониторинга
Мы можем добавить новый хост в существующие определенные группы хостов или создать новую группу хостов. Группы хостов позволяют вам классифицировать типы узлов, которые вы мониторите. Чтобы создать новую группу хостов, откройте опцию Host groups в меню Configuration.
Добавьте имя группы в поле и нажмите кнопку Apply, чтобы создать группу.
Чтобы создать новый хост, нажмите опцию Hosts в меню Configuration и нажмите кнопку Create host в правом верхнем углу.

Добавьте имя хоста узла Zabbix.
Введите Linux by Zabbix agent в разделе Templates и выберите шаблон из выпадающего списка.
Аналогично, введите Linux Servers в разделе Groups и выберите его.
Нажмите кнопку Add в разделе Interfaces и выберите Agent.
Затем добавьте IP-адрес узла клиента Zabbix. После завершения всплывающее окно New host должно выглядеть следующим образом.

Далее переключитесь на вкладку Encryption. Выберите PSK для обоих параметров Connections to host и Connections from host. Установите PSK Identity на PSK 001, которое является значением, установленным на шаге 11.3 для переменной TLSPSKIdentity ранее. Затем установите значение PSK как ключ, который вы сгенерировали на машине агента ранее.

После завершения нажмите кнопку Add, чтобы завершить добавление хоста.
Вы должны увидеть новый хост в списке с зеленой меткой, указывающей на то, что агент подключен к серверу и работает как ожидалось.

Шаг 13 - Настройка уведомлений по электронной почте
Zabbix поддерживает множество типов уведомлений, таких как электронная почта, Slack, Telegram, SMS и т. д. Для целей нашего руководства мы настроим уведомления по электронной почте. Перейдите на фронтенд Zabbix, нажмите Administration, а затем Media types в левом меню. Вы увидите два типа электронной почты, один для обычной электронной почты и другой для HTML-электронной почты.

Нажмите на опцию Email (HTML), и вы получите следующую страницу.

Введите данные вашего SMTP-сервера. Для нашего руководства мы используем сервис Amazon SES. Нажмите кнопку Update, когда закончите, чтобы сохранить данные. Вы будете возвращены на страницу Media types. Нажмите кнопку Test на странице, чтобы протестировать настройки электронной почты. Это создаст всплывающее окно. Заполните свой адрес электронной почты и нажмите кнопку Test, чтобы отправить тестовое письмо.

Вы должны увидеть успешное сообщение во всплывающем окне, уведомляющее, что все прошло хорошо, и вы должны получить следующее письмо в своем почтовом ящике. Закройте всплывающее окно, нажав кнопку Cancel.

Шаг 14 - Создание нового пользователя
Пользователь Zabbix по умолчанию не настроен для получения каких-либо уведомлений. Хотя мы можем это сделать, пользователь по умолчанию также небезопасен для использования. Лучший вариант — создать нового пользователя, а затем отключить пользователя по умолчанию.
Перейдите в раздел Administration >> Users в меню и нажмите кнопку Create user в правом верхнем углу, чтобы открыть следующую страницу.

Заполните данные пользователя. Выберите Zabbix administrators в качестве группы пользователей. После завершения нажмите вкладку Media. Нажмите кнопку Add и выберите Email (HTML) в качестве типа.

Введите свой адрес электронной почты в поле Send to и нажмите кнопку Add, чтобы добавить опцию электронной почты. Далее переключитесь на вкладку Permissions и нажмите кнопку Select, чтобы добавить Super admin role.

Нажмите кнопку Add, чтобы завершить добавление пользователя. Далее вам нужно выйти из фронтенда, снова войти как новый пользователь и вернуться на страницу пользователей. Нажмите на пользователя Admin, выберите группу Disabled и обновите пользователя. Это отключит пользователя по умолчанию от использования.
Шаг 15 - Отправка тестового оповещения
По умолчанию Zabbix отслеживает количество свободного места на сервере. Он обнаруживает все монтирования дисков и регулярно выполняет проверки.
Первый шаг — включить триггер уведомления, который позволяет Zabbix отправлять уведомления всем администраторам. У Zabbix уже настроен триггер по умолчанию. Нам нужно включить его, чтобы он работал. Перейдите в Configuration >> Actions >> Trigger actions и нажмите статус Disabled, чтобы изменить его на Enabled, как показано.

Далее войдите в узел Zabbix и создайте временный файл, достаточно большой, чтобы вызвать предупреждение о использовании диска.
Сначала определите свободное место на сервере.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 780M 51M 730M 7% /run
/dev/vda2 94G 12G 78G 13% /
/dev/vda1 260M 7.0M 253M 3% /boot/efi
tmpfs 390M 4.0K 390M 1% /run/user/1001
Это показывает, что у нас около 78 ГБ свободного места. Далее используйте команду fallocate, чтобы предварительно выделить более 80% дискового пространства. Это достаточно, чтобы вызвать предупреждение.
$ fallocate -l 74G /tmp/temp.img
Проверьте использование диска еще раз.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 780M 54M 726M 7% /run
/dev/vda2 94G 86G 3.9G 96% /
/dev/vda1 260M 7.0M 253M 3% /boot/efi
tmpfs 390M 4.0K 390M 1% /run/user/1001
Zabbix вызовет предупреждение о пространстве на диске и отправит уведомление по электронной почте по этому поводу. Письмо будет выглядеть следующим образом.

Вы также можете проверить панель управления на наличие предупреждений, которые должны появиться в течение нескольких секунд.

Удалите временный файл, когда закончите.
$ rm -f /tmp/temp.img
Вы должны получить еще одно письмо, уведомляющее вас о том, что проблема была решена.

Шаг 16 - Настройка автоматической регистрации для узлов Linux
Когда вам нужно добавить несколько узлов на сервер Zabbix, процесс может стать немного утомительным. К счастью, фронтенд Zabbix позволяет вам автоматизировать процесс с помощью автоматической регистрации.
Перейдите в Actions >> Autoregistration actions и нажмите кнопку Create action в правом верхнем углу.

На новом экране дайте имя ( Автоматическая регистрация серверов Linux) действию.
Нажмите кнопку Add под Conditions, чтобы добавить условие, и выберите Host metadata в качестве типа, содержит в качестве оператора и Linux в качестве значения.

Нажмите Add, чтобы продолжить, и страница создания действия должна выглядеть следующим образом.

Нажмите на вкладку Operations, выберите Add to host group в качестве операции и выберите Linux servers в качестве Host groups. Нажмите кнопку Add, чтобы завершить.

Если вы хотите использовать шифрование PSK, вы также можете настроить это. Перейдите в меню Administration >> General >> Autoregistration и включите оба параметра шифрования. Введите идентификатор PSK и ключ PSK, созданные на сервере Zabbix. Вы можете использовать этот идентификатор PSK и ключ на каждом узле, и они будут зашифрованы с использованием этих значений.

С этого момента каждый раз, когда вы устанавливаете и настраиваете агента Zabbix на сервере Linux, он будет автоматически добавляться на фронтенд Zabbix.
Заключение
Это завершает наше руководство по установке и настройке сервера Zabbix на системе Rocky Linux 9. Мы также установили агента Zabbix на удаленном сервере для подключения к серверу. Если у вас есть какие-либо вопросы, оставляйте их в комментариях ниже.
Get new posts in your inbox
No spam. Unsubscribe anytime.