Подробный гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache - Часть 4

Подробный пошаговый гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache, Agent 2, настройкой SELinux, бэкапов и безопасности.

2026.09.20                  


Подробный гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache - Часть 4Подробный гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache - Часть 4

22. Резервное копирование

Обязательно настройте бэкапы.

Создайте каталог:

sudo mkdir -p /backup/zabbix

Резервная копия базы данных:

sudo -u postgres pg_dump -Fc zabbix > /backup/zabbix/zabbix_$(date +%F_%H%M).dump

Резервная копия конфигурации:

sudo tar -czf /backup/zabbix/zabbix_config_$(date +%F_%H%M).tgz \
  /etc/zabbix \
  /etc/httpd/conf.d/zabbix.conf \
  /etc/php.ini \
  /var/lib/pgsql/data/pg_hba.conf


Пример восстановления базы из дампа:

sudo -u postgres pg_restore -d zabbix --clean --if-exists /backup/zabbix/zabbix_YYYY-MM-DD.dump

Перед восстановлением лучше остановить zabbix-server:

sudo systemctl stop zabbix-server

После восстановления:

sudo systemctl start zabbix-server

23. Полезные команды диагностики

Статус Zabbix Server:

sudo systemctl status zabbix-server

Лог Zabbix Server:

sudo tail -f /var/log/zabbix/zabbix_server.log

Лог Zabbix Agent 2:

sudo tail -f /var/log/zabbix/zabbix_agent2.log

Логи Apache:

sudo tail -f /var/log/httpd/error_log
sudo tail -f /var/log/httpd/access_log

Проверка порта:

sudo ss -lntp | grep -E '10050|10051|80|443|5432'

Проверка агента:

zabbix_get -s 127.0.0.1 -k agent.ping

Проверка конкретного ключа:

zabbix_get -s 127.0.0.1 -k system.uname
zabbix_get -s 127.0.0.1 -k agent.version

Проверка SELinux-отказов:

sudo ausearch -m avc -ts recent

или:

sudo grep zabbix /var/log/audit/audit.log | audit2allow

24. Частые ошибки и решения

24.1. Zabbix Server не запускается

Проверьте:

sudo journalctl -u zabbix-server -n 100 --no-pager
sudo tail -n 100 /var/log/zabbix/zabbix_server.log

Частые причины:

  • неверный пароль БД;
  • неверный DBHost;
  • PostgreSQL не слушает 127.0.0.1;
  • неправильные права в pg_hba.conf;
  • порт 10051 занят другим процессом.

Проверьте подключение к БД:

PGPASSWORD="${ZBX_DB_PASS}" psql -h 127.0.0.1 -U zabbix -d zabbix -c 'SELECT current_user;'

24.2. Веб-интерфейс не может подключиться к Zabbix Server

Проверьте:

sudo systemctl status zabbix-server
sudo systemctl status httpd

Проверьте порт:

sudo ss -lntp | grep 10051

Проверьте SELinux:

getsebool httpd_can_connect_zabbix

Должно быть:

httpd_can_connect_zabbix --> on

Если нет:

sudo setsebool -P httpd_can_connect_zabbix on

24.3. Агент недоступен

Проверьте с сервера:

zabbix_get -s IP_АГЕНТА -k agent.ping

Если нет ответа:

  • закрыт порт 10050 на клиенте;
  • агент не запущен;
  • в Server= на агенте не указан IP Zabbix-сервера;
  • имя хоста в веб-интерфейсе не совпадает с Hostname= в агенте;
  • проблема с DNS или маршрутизацией.

24.4. Ошибки PHP в веб-интерфейсе

Чаще всего связаны с:

  • date.timezone;
  • недостаточно memory_limit;
  • недостаточно max_execution_time;
  • проблемы с PHP-FPM/Apache.

Проверьте /etc/php.ini и перезапустите веб-сервер:

sudo systemctl restart httpd

Если используется PHP-FPM:

sudo systemctl restart php-fpm

24.5. Ошибка импорта базы данных

Проверьте, что файл существует:

ls -l /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz

Проверьте подключение к БД:

PGPASSWORD="${ZBX_DB_PASS}" psql -h 127.0.0.1 -U zabbix -d zabbix

Если база уже была частично импортирована, лучше удалить и создать заново:

sudo -u postgres dropdb zabbix
sudo -u postgres createdb -O zabbix zabbix

Затем повторите импорт.


25. Короткий вариант установки с MySQL

Если вы хотите использовать не PostgreSQL, а MySQL, основные шаги будут такими.

Установите MySQL:

sudo dnf module enable mysql:8.0 -y
sudo dnf install -y mysql-server
sudo systemctl enable --now mysqld
sudo mysql_secure_installation

Создайте базу и пользователя:

sudo mysql -e "CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
sudo mysql -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ChangeMe_Strong_2026';"
sudo mysql -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES;"

Установите пакеты Zabbix для MySQL:

sudo dnf install -y \
  zabbix-server-mysql \
  zabbix-web-mysql \
  zabbix-apache-conf \
  zabbix-sql-scripts \
  zabbix-selinux \
  zabbix-agent2 \
  zabbix-get


Импортируйте схему:

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix

В /etc/zabbix/zabbix_server.conf укажите:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=ChangeMe_Strong_2026

Далее запуск и настройка такие же.


26. Итоговый чек-лист

После установки проверьте:

sudo systemctl status postgresql zabbix-server zabbix-agent2 httpd --no-pager

Проверьте порты:

sudo ss -lntp | grep -E '10051|10050|:80|:443|:5432'

Проверьте локальный агент:

zabbix_get -s 127.0.0.1 -k agent.ping

Откройте:

http://IP/zabbix

Убедитесь, что:

  • веб-интерфейс открывается;
  • вход работает;
  • пароль Admin изменен;
  • хост Zabbix server виден и доступен;
  • агент отвечает;
  • SELinux остается в enforcing;
  • firewall открыл только нужные порты;
  • настроены бэкапы базы и конфигов.

27. Важное замечание про CentOS 7

Если у вас именно CentOS 7, лучше запланировать миграцию на Rocky Linux 9, AlmaLinux 9 или CentOS Stream 9. CentOS 7 больше не получает обновлений безопасности, а старые версии Zabbix постепенно теряют актуальность.

Установка Zabbix на CentOS 7 возможна, но это будет легаси-вариант, обычно с более старыми версиями пакетов, старым PHP и отдельными нюансами по репозиториям. Для продакшена я бы такой вариант не рекомендовал.


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта