Olá a todos.
O Zabbix agora tem um oficial Template DB PostgreSQL. Neste artigo, vamos configurá-lo no Zabbix 4.4.

NOTA
Se você tem um bom conhecimento de inglês, recomendo instalar o template seguindo o manual oficial
No entanto, meu artigo aborda nuances que não estão neste link.
Preparação do template
1. Acesse o diretório inicial.
cd ~2. Baixe a ferramenta git e clone o repositório oficial do Zabbix que está no GitHub.
yum -y install git
git clone https://github.com/zabbix/zabbix.git3. Navegue até o diretório com o template PostgreSQL.
cd zabbix/templates/db/postgresql/Configuração do template para o agente Zabbix
1. Conecte-se ao PostgreSQL.
psql -U postgres2. Crie o usuário zbx_monitor com acesso somente para leitura ao servidor PostgreSQL.
Para PostgreSQL versão 10 e superior:
CREATE USER zbx_monitor WITH PASSWORD '' INHERIT; GRANT pg_monitor TO zbx_monitor;Para PostgreSQL versão 9.6 e inferior:
CREATE USER zbx_monitor WITH PASSWORD '';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
--Para coletar métricas WAL, o usuário deve ser superusuário.
ALTER USER zbx_monitor WITH SUPERUSER;3. Copie o diretório postgresql/ para /var/lib/zabbix/. Se você não tiver o diretório zabbix/ em /var/lib/, crie-o. O diretório postgresql/ contém os arquivos necessários para coletar métricas do PostgreSQL.
cp -r postgresql/ /var/lib/zabbix/4. Em seguida, copie o arquivo template_db_postgresql.conf para o diretório de configuração do agente Zabbix /etc/zabbix/zabbix_agentd.d/ e reinicie o agente Zabbix.
cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/5. Agora edite o arquivo pg_hba.conf para permitir a conexão com o Zabbix. Mais detalhes sobre o arquivo pg_hba.conf: .
Abra o arquivo:
vi /var/lib/pgsql/12/data/pg_hba.confAdicione uma das linhas (Se você não entende por que isso é necessário, adicione apenas a primeira linha.):
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
Se o PostgreSQL foi instalado do repositório PGDG, adicione o caminho para pg_isready na variável de ambiente PATH para o usuário zabbix.
Como uma opção:
ln -s /usr/pgsql-12/bin/pg_isready /usr/bin/pg_isready* — como tenho a versão 12 do pgsql, você terá um caminho diferente em vez de pgsql-12.
Se isso não for feito, o Status: Ping sempre estará em estado Down.
Adicionando o template na interface do Zabbix
Acredito que aqueles que precisam coletar métricas do PostgreSQL já sabem como adicionar templates. Portanto, descreverei o processo de forma breve.
- Acesse a página do Zabbix;
- Vá para a página “Configuração” => “Host«;
- Clique no botão “Criar host” ou escolha um host existente;
- Na página de criação/edição do host, vá para a aba “Templates” e clique no link “Adicionar«;
- Na «Group» da lista, escolhemos «Templates/Databases», selecionamos o modelo «Template DB PostgreSQL«, clicamos no botão «Selecionar» e pressionamos o botão «Atualizar«;
Aguarde um momento e, finalmente, vá para «Monitoramento” => “Dados mais recentes” => “Hosts» escolhemos o servidor com PostgreSQL => clicamos em «Aplicar«.

Aproveite!
Fonte: habr.com
