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

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

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

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

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

Установка Zabbix

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

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

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

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

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

/etc/zabbix/zabbix_agent2.conf

1
2
Server=ip_zabbix_server
Hostname=server-hostname

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

1
systemctl enable zabbix-agent2 --now

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример:

1
2
3
4
# 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. Однако иногда этого не происходит и можно самостоятельно перечитать конфиг:

1
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

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

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


Проверяем.