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>