Мониторинг СУБД PostgreSQL в Cloud Director средствами Zabbix
Эффективный мониторинг производительности и состояния СУБД PostgreSQL в среде VMware Cloud Director
Следуем официальной документации
Установка Zabbix
Установка необходимого репозитория под соответствующую версию Zabbix.
(На момент написания статьи я использовал 7 LTS)
1 | rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm |
Установка пакетов Zabbix-агента
1 | tdnf install zabbix-agent2 zabbix-agent2-plugin-postgresql* |
Редактируем конфигурационный файл Zabbix Agent
/etc/zabbix/zabbix_agent2.conf
1 | Server=ip_zabbix_server |
Запуск 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 | CREATE USER zbx_monitor WITH PASSWORD '<password>' INHERIT; |
Настройка подключения к PostgreSQL
Подключаемся по ssh на cell-ноду Cloud Director.
Создаем файл ext-access.conf
:
1 | vi /opt/vmware/appliance/etc/pg_hba.d/ext-access.conf |
1 | # TYPE DATABASE USER ADDRESS METHOD |
где DB_name – имя БД (в нашем случае vcloud), DB_user – по умолчанию vcloud, network/prefix – сеть, откуда можно подключиться к БД.
Пример:
1 | # TYPE DATABASE USER ADDRESS METHOD |
После редактирования файла, данные с файла автоматически добавятся в конец файла /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 | Plugins.PostgreSQL.Sessions.User=zbx_monitor |
Пользуясь официальной документацией Zabbix выполняем настройку плагина в UI Zabbix
Проверяем.