Подробный гайд по установке 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 и отдельными нюансами по репозиториям. Для продакшена я бы такой вариант не рекомендовал.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.