BOGACHEV.BIZ / KNOWLEDGE BASE

Technical Guidebook

← К каталогу публикаций

Мониторинг СУБД PostgreSQL в Cloud Director средствами Zabbix

Эффективный мониторинг производительности и состояния СУБД PostgreSQL в среде VMware Cloud Director

Следуем официальной документации

Установка Zabbix

Установка необходимого репозитория под соответствующую версию Zabbix.
(На момент написания статьи я использовал 7 LTS)

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm
tdnf clean all

Установка пакетов Zabbix-агента

tdnf install zabbix-agent2 zabbix-agent2-plugin-postgresql*

Редактируем конфигурационный файл Zabbix Agent

/etc/zabbix/zabbix_agent2.conf

Server=ip_zabbix_server
Hostname=server-hostname

Запуск Zabbix-агента

systemctl enable zabbix-agent2 --now

Добавляем правило в файрвол

Открываем /etc/systemd/scripts/ip4save-vmw

Добавляем в начало файла

-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT

И перечитываем конфиг.

iptables-restore < /etc/systemd/scripts/ip4save-vmw

Создаем нового пользователя PostgreSQL

Подклчючаемся к базе данных

sudo -i -u postgres /opt/vmware/vpostgres/current/bin/psql
CREATE USER zbx_monitor WITH PASSWORD '<password>' INHERIT;
GRANT pg_monitor TO zbx_monitor;

Настройка подключения к PostgreSQL

Подключаемся по ssh на cell-ноду Cloud Director.

Создаем файл ext-access.conf:

vi /opt/vmware/appliance/etc/pg_hba.d/ext-access.conf
# TYPE DATABASE USER ADDRESS METHOD
host DB_name DB_user network/prefix md5

где DB_name – имя БД (в нашем случае vcloud), DB_user – по умолчанию vcloud, network/prefix – сеть, откуда можно подключиться к БД.

Пример:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host all zbx_monitor localhost trust
host all zbx_monitor 127.0.0.1/32 md5
host all zbx_monitor 172.16.**.**/32 md5

После редактирования файла, данные с файла автоматически добавятся в конец файла /var/vmware/vpostgres/current/pgdata/pg_hba.conf. Однако иногда этого не происходит и можно самостоятельно перечитать конфиг:

sudo -i -u postgres /opt/vmware/vpostgres/current/bin/psql -c 'SELECT pg_reload_conf();'

Редактируем конфигурационный файл плагина Zabbix

/etc/zabbix/zabbix_agent2.d/plugins.d/postgresql.conf

Plugins.PostgreSQL.Sessions.User=zbx_monitor
Plugins.PostgreSQL.Sessions.Password=<password>

Пользуясь официальной документацией Zabbix выполняем настройку плагина в UI Zabbix


Проверяем.