Предварительная подготовка сервера Настройка сервера на PostgreSQL 14 Установка и настройка zabbix 7 Настройка базы данных Запуск процесса zabbix-сервера Настройка из веб-интерфейса
Окружение
Zabbix - это программное обеспечение для мониторинга многочисленных параметров сети, жизнеспособности и целостности серверов. Zabbix использует гибкий механизм оповещений, что позволяет пользователям конфигурировать уведомления практически для любого события и быстро реагировать на проблемы с серверами. Zabbix предлагает отличные функции отчетности и визуализации данных, основанные на данных истории. Это делает zabbix идеальным для планирования мощности и мониторинга состояния серверов.
Zabbix разделяется на два вида: zabbix-agent и zabbix-server.
Zabbix-server собирает данные со всех клиентов, обрабатывает их, выводя на экран в веб-интерфейсе, и рассылает уведомления.
Zabbix-agent установлен на серверах, с которых необходимо собирать информацию об их состоянии, таких агентов может быть множество.
Для zabbix 7 требуется postgresql 14 и выше. В инструкции будет рассмотрен пример настройки сервера на postgresql 14. Версия postgresql в командах будет выделена красным цветом и, при необходимости, может быть изменена.
Перейдите в сеанс пользователя root:
su -
Здесь и далее команды будут выполняться с правами пользователя root, если не указано иное.
1. Настройте политики безопасности с помощью команд:
setsebool -P httpd_can_network_connect on setsebool -P httpd_can_network_connect_db on
2. Обновите систему.
dnf update
3. Установите следующие пакеты и добавьте пакет httpd в автозагрузку.
dnf install httpd zabbix7-lts-apache-conf zabbix7-lts-sql-scripts systemctl enable httpd
1. Установите сервер баз данных postgresql и добавьте его в автозагрузку:
dnf install postgresql14-server systemctl enable postgresql-14
2. Выполните инициализацию нового сервера баз данных postgresql:
/usr/bin/postgresql-14-setup initdb
3. Запустите postgres:
systemctl start postgresql-14
Установите zabbix:
dnf install zabbix7-lts-server-pgsql zabbix7-lts-web-pgsql zabbix7-lts-agent
Далее необходимо отредактировать файл php.ini:
nano /etc/php.ini
Приведите параметры к следующему виду:
date.timezone = Europe/Moscow #обязательно укажите свой часовой поясpost_max_size = 16M max_execution_time = 300 max_input_time = 300
и сохраните изменения.
Сначала нужно создать пользователя и базу данных, для этого необходимо выполнить команду:
su postgres
и подключиться к серверу базы данных:
psql
Затем создайте пользователя и базу данных с именем zabbix и предоставьте пользователю права на использование данной БД (пароль укажите свой):
CREATE ROLE zabbix WITH NOSUPERUSER LOGIN PASSWORD 'zabbixpassword'; CREATE DATABASE zabbix WITH OWNER zabbix; GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
Будет создан пользователь с именем zabbix, паролем zabbixpassword и база данных с именем zabbix.
При выполнении команд получится следующее:
postgres=# CREATE ROLE zabbix WITH NOSUPERUSER LOGIN PASSWORD 'zabbixpassword'; CREATE ROLE postgres=# CREATE DATABASE zabbix WITH OWNER zabbix; CREATE DATABASE postgres=# GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix; GRANT
Проверьте, что таблицы создались:
\l
Отключитесь от базы:
\q
Завершите сессию пользователя postgres:
exit
Затем необходимо перенастроить сам сервер postgresql:
nano /var/lib/pgsql/14/data/postgresql.conf
Найдите строку:
listen_addresses = 'localhost'
и приведите ее к виду:
listen_addresses = '*'
Затем раскомментируйте строку:
port = 5432
После этого необходимо предоставить права доступа пользователю zabbix к базе данных по паролю, для этого требуется отредактировать другой файл:
nano /var/lib/pgsql/14/data/pg_hba.conf
найдите строку:
host replication all 127.0.0.1/32 scram-sha-256
и перед ней добавьте запись, чтобы выглядело следующим образом:
host zabbix zabbix 127.0.0.1/32 password host replication all 127.0.0.1/32 scram-sha-256
Далее замените все scram-sha-256 на md5, конечный вариант файла:
local all all peer # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peerhost zabbix zabbix 127.0.0.1/32 password host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5
Перезапустите сервер postgresql:
systemctl restart postgresql-14
Импортируйте содержимое SQL-дампа в базу данных:
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Сменить пароль psql можно так:
passwd postgres
На этом настройка базы данных закончена, осталось настроить zabbix-сервер.
Отредактируйте файл конфигурации сервера zabbix. Пропишите данные для подключения к базе данных:
nano /etc/zabbix/zabbix_server.conf
Измените строки (их нужно раскомментировать, если они закоментированы, и присвоить нужные значения, если их нет или они отличаются):
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbixpassword
Запустите zabbix-сервер и добавьте его в автозагрузку:
systemctl restart zabbix-server systemctl enable zabbix-server systemctl restart zabbix-agent systemctl enable zabbix-agent systemctl restart httpd
Откроется страница приветствия.
Выберите язык и нажмите «Далее»
Нажмите «Далее».
В поле:
Database host — укажите адрес сервера 127.0.0.1;
Database port — стандартный порт postgres 5432;
Database name — имя базы данных zabbix;
User — логин пользователя zabbix;
Password — пароль пользователя zabbixpassword.
Нажмите «Далее». При неправильно указанных данных или неправильной конфигурации базы данных появится сообщение об ошибке подключения к базе.
Нажмите «Финиш».
Нажмите «Войти».
Вы попадете в панель управления. На этом настройка zabbix на PSQL завершена.
Дата последнего изменения: 24.03.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.