Hola a todos.
Zabbix ahora tiene un oficial Template DB PostgreSQL. En este artículo lo configuraremos en Zabbix 4.4.

NOTA
Si tienes buen dominio del inglés, te recomiendo instalar la plantilla según el manual oficial
Sin embargo, mi artículo tiene en cuenta matices que no están en ese enlace.
Preparación de la plantilla
1. Vamos al directorio personal.
cd ~2. Instalamos la utilidad git y clonamos el repositorio oficial de Zabbix que se encuentra en GitHub.
yum -y install git
git clone https://github.com/zabbix/zabbix.git3. Vamos al directorio de la plantilla PostgreSQL.
cd zabbix/templates/db/postgresql/Configuración de la plantilla para el agente Zabbix
1. Conectamos a PostgreSQL.
psql -U postgres2. Creamos un usuario zbx_monitor solo para lectura con acceso al servidor PostgreSQL.
Para PostgreSQL versión 10 y superior:
CREATE USER zbx_monitor WITH PASSWORD '' INHERIT; GRANT pg_monitor TO zbx_monitor;Para PostgreSQL versión 9.6 y anterior:
CREATE USER zbx_monitor WITH PASSWORD '';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
--Para recopilar métricas de WAL, el usuario debe ser superusuario.
ALTER USER zbx_monitor WITH SUPERUSER;3. Copiamos el directorio postgresql/ al directorio /var/lib/zabbix/. Si en /var/lib/ no existe el directorio zabbix/, créalo. El directorio postgresql/ contiene los archivos necesarios para obtener métricas de PostgreSQL.
cp -r postgresql/ /var/lib/zabbix/4. Luego, copiamos el archivo template_db_postgresql.conf al directorio de configuración del agente Zabbix /etc/zabbix/zabbix_agentd.d/ y reiniciamos el agente Zabbix.
cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/5. Ahora editamos el archivo pg_hba.conf para permitir la conexión a Zabbix. Más sobre el archivo pg_hba.conf: .
Abre el archivo:
vi /var/lib/pgsql/12/data/pg_hba.confAgrega una de las líneas (Si no entiendes por qué es necesario, agrega solo la primera línea):
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 md5NOTA
Si PostgreSQL se instaló desde el repositorio PGDG, agrega la ruta a pg_isready en la variable de entorno PATH para el usuario zabbix.
Como opción:
ln -s /usr/pgsql-12/bin/pg_isready /usr/bin/pg_isready* — como tengo pgsql versión 12, en tu caso en lugar de pgsql-12 habrá otra ruta.
Si no haces esto, Status: Ping siempre estará en estado de Down.
Agregar la plantilla en el frontend de Zabbix
Considero que aquellos que necesitan recopilar métricas de PostgreSQL ya saben cómo agregar plantillas. Por lo tanto, describiré el proceso brevemente.
- Accedemos a la página de Zabbix;
- Vamos a la página «Configuración» => «Host«;
- Hacemos clic en el botón «Crear host» o elegimos un host existente;
- En la página de creación/edición del host, seleccionamos la pestaña «Templates» y hacemos clic en el enlace «Agregar«;
- En «Group» de la lista seleccionamos «Templates/Databases», elegimos la plantilla «Template DB PostgreSQL«, hacemos clic en el botón «Select» y pulsamos el botón «mensaje de Update.«;
Esperamos un momento y finalmente, vamos a «Monitoring» => «Latest data» => «Hosts» seleccionamos el servidor con PostgreSQL => hacemos clic en «Apply«.

¡Disfruta!
Fuente: habr.com
