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

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

2026.09.20                  


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

Важно:

Классические версии CentOS Linux 7/8 больше не получают обновления безопасности. Для продакшена лучше использовать CentOS Stream 9, Rocky Linux 9, AlmaLinux 9 или аналогичную RHEL-совместимую систему.

Ниже буду показывать установку для CentOS Stream 9 / RHEL 9-совместимых систем с Zabbix 7.0 LTS, PostgreSQL, Apache и Zabbix Agent 2.


1. Что будем устанавливать

Схема будет такой:

  • Zabbix Server;
  • веб-интерфейс Zabbix Frontend;
  • база данных PostgreSQL;
  • веб-сервер Apache;
  • Zabbix Agent 2 для мониторинга самого сервера;
  • при необходимости позже добавим удалённые агенты.



Порты:

Назначение Порт Комментарий
Zabbix Server 10051/tcp Сюда агенты и прокси отправляют данные
Zabbix Agent 10050/tcp Порт агента на наблюдаемых хостах
Web UI 80/tcp HTTP
Web UI HTTPS 443/tcp Рекомендуется настроить позже
PostgreSQL 5432/tcp Только локально или для отдельного DB-сервера

2. Требования к серверу

Для небольшого или среднего Zabbix-сервера ориентируйтесь минимум на:

  • 2 CPU;
  • 4 GB RAM, лучше 8 GB и выше;
  • 20–50 GB диска, лучше отдельный диск под БД;
  • стабильное время и DNS;
  • доступ в интернет для установки пакетов.

Для крупного окружения БД лучше выносить на отдельный сервер или использовать тюнинг PostgreSQL / TimescaleDB.


3. Подготовка системы

Обновите систему:

sudo dnf update -y

Задайте имя хоста:

sudo hostnamectl set-hostname zabbix.example.local

Проверьте время:

timedatectl

Установите и включите chrony:

sudo dnf install -y chrony
sudo systemctl enable --now chronyd

При необходимости установите часовой пояс, например:

sudo timedatectl set-timezone Europe/Moscow

Проверьте синхронизацию:

chronyc sources

4. Подключение репозитория Zabbix

Для CentOS Stream 9 / RHEL 9-совместимых систем подключите официальный репозиторий Zabbix 7.0 LTS:

sudo dnf install -y https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-1.el9.noarch.rpm

Если у вас ARM/aarch64, замените x86_64 на aarch64.

Обновите кэш пакетов:

sudo dnf clean all
sudo dnf makecache

Проверьте, что репозиторий подключился:

dnf repolist | grep -i zabbix

5. Установка PostgreSQL

В CentOS Stream 9 PostgreSQL обычно устанавливается через модуль.

Посмотрите доступные версии:

sudo dnf module list postgresql

Включите версию, например 16:

sudo dnf module reset postgresql -y
sudo dnf module enable postgresql:16 -y

Если версия 16 недоступна, включите 15 или другую доступную поддерживаемую версию.

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

sudo dnf install -y postgresql-server postgresql-contrib

Инициализируйте базу:

sudo postgresql-setup --initdb

Включите автозапуск и запустите PostgreSQL:

sudo systemctl enable --now postgresql

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

sudo systemctl status postgresql --no-pager

6. Создание базы данных и пользователя Zabbix

Задайте пароль для пользователя базы данных. Пароль ниже замените на свой. Избегайте пробелов и символа #, чтобы не было проблем с конфигурационными файлами.

ZBX_DB_PASS='ChangeMe_Strong_2026'

Создайте пользователя PostgreSQL:

sudo -u postgres psql -c "CREATE ROLE zabbix WITH LOGIN PASSWORD '${ZBX_DB_PASS}';"

Создайте базу данных zabbix:

sudo -u postgres createdb -O zabbix zabbix

Проверьте пользователя:

sudo -u postgres psql -c "\du"

Проверьте базу:

sudo -u postgres psql -c "\l"

7. Настройка аутентификации PostgreSQL

По умолчанию PostgreSQL может использовать ident для локальных TCP-подключений. Zabbix будет подключаться к БД через 127.0.0.1 или localhost, поэтому нужно разрешить аутентификацию по паролю.

Найдите файл pg_hba.conf:

PG_HBA=$(sudo -u postgres psql -At -c 'SHOW hba_file;')
echo "$PG_HBA"

Сделайте резервную копию:

sudo cp -a "$PG_HBA" "${PG_HBA}.bak"

Замените ident на scram-sha-256 для локальных подключений:

sudo sed -i -E 's/^(host[[:space:]]+all[[:space:]]+all[[:space:]]+127\.0\.0\.1\/32[[:space:]]+)ident/\1scram-sha-256/' "$PG_HBA"
sudo sed -i -E 's/^(host[[:space:]]+all[[:space:]]+all[[:space:]]+::1\/128[[:space:]]+)ident/\1scram-sha-256/' "$PG_HBA"


Перечитайте конфигурацию:

sudo systemctl reload postgresql

Проверьте подключение к базе от пользователя zabbix:

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

Если команда вернула zabbix, значит подключение работает.

Если ошибка, проверьте:

sudo tail -n 50 /var/lib/pgsql/data/log/postgresql-*.log
cat "$PG_HBA"

8. Установка пакетов Zabbix

Установите сервер, веб-интерфейс, SQL-скрипты, SELinux-политики, агент и утилиту диагностики:

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

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

zabbix_server --version
zabbix_agent2 --version

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


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

Комментарии

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