Здравейте на всички.
Zabbix вече разполага с официален Template DB PostgreSQL. В тази статия ще го настроим в Zabbix 4.4.

ЗАБЕЛЕЖКА
Ако вашият английски е добър, препоръчвам ви да инсталирате шаблона според официалната документация
Въпреки това, в моята статия са взети предвид нюансите, които липсват в тази връзка.
Подготовка на шаблона
1. Преминаваме в домашната директория.
cd ~2. Изтегляме утилитата git и клонираме официалното хранилище на Zabbix, което се намира в GitHub.
yum -y install git
git clone https://github.com/zabbix/zabbix.git3. Преминаваме в директорията с шаблона PostgreSQL.
cd zabbix/templates/db/postgresql/Настройка на шаблона за агента Zabbix
1. Свързваме се с PostgreSQL.
psql -U postgres2. Създаваме потребител zbx_monitor само за четене с достъп до сървъра PostgreSQL.
За PostgreSQL версия 10 и по-нови:
CREATE USER zbx_monitor WITH PASSWORD '' INHERIT; GRANT pg_monitor TO zbx_monitor;За PostgreSQL версия 9.6 и по-стари:
CREATE USER zbx_monitor WITH PASSWORD '';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
-- За събиране на метрики WAL потребителят трябва да бъде superuser.
ALTER USER zbx_monitor WITH SUPERUSER;3. Копираме директорията postgresql/ в директорията /var/lib/zabbix/. Ако в /var/lib/ липсва директория zabbix/, създайте я. Директорията postgresql/ съдържа файлове, необходими за получаване на метрики от PostgreSQL.
cp -r postgresql/ /var/lib/zabbix/4. След това копираме файла template_db_postgresql.conf в конфигурационната директория на агента Zabbix /etc/zabbix/zabbix_agentd.d/ и перезапускаме агента Zabbix.
cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/5. Сега редактираме файла pg_hba.conf, за да разрешим свързването с Zabbix. Повече информация за файла pg_hba.conf: .
Отворете файла:
vi /var/lib/pgsql/12/data/pg_hba.confДобавете една от редовете (Ако не разбирате защо е нужно, добавете само първия ред.):
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5ЗАБЕЛЕЖКА
Ако PostgreSQL е инсталиран от хранилището PGDG, добавете пътя до pg_isready в променливата среда PATH за потребителя zabbix.
Както и да е:
ln -s /usr/pgsql-12/bin/pg_isready /usr/bin/pg_isready* — тъй като имам версия pgsql 12, вместо pgsql-12 ще имате друг път.
Ако това не се направи, Status: Ping винаги ще бъде в състояние Down.
Добавяне на шаблона в интерфейса на Zabbix
Смятам, че тези, на които им е необходимо да събират метрики от PostgreSQL, вече знаят как да добавят шаблони. Затова ще опиша процеса накратко.
- Влизаме на страницата на Zabbix;
- Преминаваме на страницата „Конфигурация“ => „Host«;
- Натискаме бутона „Create host“ или избираме съществуващ хост;
- На страницата за създаване/редактиране на хоста избираме раздела „Templates» и натискаме на линка «Добави«;
- В «Group» от списъка избираме «Templates/Databases», избираме шаблон «Template DB PostgreSQL«, натискаме бутона «Select» и натискаме бутона «Актуализация«;
Чакаме известно време и накрая, преминаваме в «Monitoring“ => „Последни данни“ => „Hosts» избираме сървър с PostgreSQL => натискаме «Прилагане«.

Приятно гледане!
Източник: habr.com
