PostgreSQL

Escrito por Hitfy

Template: Template_PostgreSQL_Padrao


As coletas de dados são feitas via ODBC e agente do Zabbix


Instalação do Driver ODBC no Proxy


Validar se os pacotes do unixODBC estão instalados no servidor Zabbix Proxy:


yum install unixODBC unixODBC-devel


Instalação do Driver PostgreSQL Client


Acessar o site oficial do Postgree para realizar o download do driver e escolher a versão correta:


https://www.postgresql.org/download/linux/redhat/

?



Configuração do Oracle ODBC Driver


Configurar o arquivo do pacote unixODBC para ele carregar:


vi /etc/odbcinst.ini
[PostgreSQL]
Description    = ODBC for PostgreSQL
Driver         = /usr/lib/psqlodbc.so
Setup          = /usr/lib/libodbcpsqlS.so
Driver64       = /usr/lib64/psqlodbc.so
Setup64        = /usr/lib64/libodbcpsqlS.so
FileUsage      = 1

Validar se o arquivo de driver existe e está no caminho informado, executando o seguinte comando:

find / -name psqlodbc.so

Editar o arquivo /etc/odbc.ini para incluir uma entrada para cada base de dados monitorada. Veja o exemplo abaixo contendo duas entradas de conexões:

vi /etc/odbc.ini


[EDI]
Driver = PostgreSQL
Description = PostgreSQL Data Source
Servername = 10.1.5.85 à IP do Servidor
Port = 5432
Protocol = 12.1 (Versão do Banco)
Database = edi (Nome do Banco)


Conectar no banco de dados PostgreSQL:


Utilizar o seguinte comando:


psql -p PORTA_DO_BANCO -U USUARIO BASE


  • Importante verificar se a porta é a padrão
  • O usuário deve ser o mesmo que subiu o serviço. Utilizar o comando:


ps -ef | grep post


  • O nome da base também constará no serviço descrito acima


Caso não funcione, utilizar os seguintes comandos:


su - postgres


export PATH=/usr/pgsql-VERSAO/bin:$PATH


psql -p PORTA_DO_BANCO


Criar usuário:


Criar usuário de monitoramento a partir do script abaixo:

CREATE USER zbx_monitor WITH PASSWORD 'm0nitorvS' INHERIT;


GRANT pg_monitor TO zbx_monitor;


Teste de Conexão


Executar o comando abaixo para teste a conexão:

 isql banco usuario senha -v

Caso conecte, o retorno será conforme o quadro abaixo:

+---------------------------------------+
| Connected!              |
|                        |
| sql-statement             |
| help [tablename]                |
| quit                     |
|                        |
+---------------------------------------+
SQL>


Depois de criado o template, criar as seguintes macros em cada host (que correspondem a instâncias de banco de dados) que será monitorado:


{$ORA_DSN} = <DSN criado no arquivo /etc/odbc.ini>

{$ORA_USERNAME} = <usuário de monitoramento>

{$ORA_PASSWORD} = <senha do usuário de monitoramento>