Monitorando Banco de Dados Postgres com ZABBIX
Neste artigo irei demonstrar como realizar o monitoramento de banco de dados utilizado o Zabbix, sem adicionais, com a ferramenta pura.
Instalando o servidor PostgreSQL no Linux
Instalando os pacotes:
Debian/Ubuntu.
# apt-get install postgresql
# su postgres -c psql
ALTER USER postgres WITH PASSWORD 'senha';
\q
Para permitir que acesse o banco apenas informando a senha, configure no arquivo pg_hba.conf, alterando a coluna METHOD de todas as linhas de "ident" para "md5".
O diretório dos arquivos de configuração do PostgreSQL:
Debian/Ubuntu: /etc/postgresql/9.1/main/
Feito a instalação e mudança de senha do usuário postgres, você estará apto a desenvolver o trabalho no seu computador conectando normalmente ao postgres, porém, se a ideia é disponibilizar o acesso ao banco para receber conexões de outras máquinas, você vai ter que alterar dois arquivos no diretório do PostgreSQL: postgresql.conf e pg_hba.conf.
No arquivo postgresql.conf, na linha listen_addresses, descomente-o removendo o "#" e troque o "localhost" por "*", deixando a linha assim:
Dessa forma seu PostgreSQL vai "escutar" não só conexões provenientes da sua própria máquina. A próxima configuração no mesmo arquivo é habilitar a encriptação de passwords, para fazer isso descomente a linha abaixo removendo o "#", ficando a linha assim:
Finalmente a próxima configuração no arquivo pg_hba.conf. Neste arquivo você consegue restringir o acesso ao seu banco de dados por IP. Normalmente queremos liberar o acesso para servidor "zabbix" no meu exemplo, quero liberar somente o servidor zabbix as máquinas.
Terminando a configuração, reinicie o PostgreSQL.
Debian/Ubuntu:
# /etc/init.d/postgresql-8.4 restart
Obs.: caso seja um servidor de produção e não um de homologação pode ser utilizando o comando:
# /etc/init.d/postgresql-9.1 reload
onde serão lidas as configurações realizadas.
Testando a conexão:
# psql -U postgres
Senha para usuário postgres:
psql (8.4.4)
Digite "help" para ajuda.
postgres=#
ou também, "sudo su postgres" e depois psql, onde irá realizar o logon com usuário postgres.
Debian/Ubuntu.
# apt-get install postgresql
Configurando o PostgreSQL
Atribua a senha no usuário postgres do PostgreSQL:# su postgres -c psql
ALTER USER postgres WITH PASSWORD 'senha';
\q
Para permitir que acesse o banco apenas informando a senha, configure no arquivo pg_hba.conf, alterando a coluna METHOD de todas as linhas de "ident" para "md5".
O diretório dos arquivos de configuração do PostgreSQL:
Debian/Ubuntu: /etc/postgresql/9.1/main/
Feito a instalação e mudança de senha do usuário postgres, você estará apto a desenvolver o trabalho no seu computador conectando normalmente ao postgres, porém, se a ideia é disponibilizar o acesso ao banco para receber conexões de outras máquinas, você vai ter que alterar dois arquivos no diretório do PostgreSQL: postgresql.conf e pg_hba.conf.
No arquivo postgresql.conf, na linha listen_addresses, descomente-o removendo o "#" e troque o "localhost" por "*", deixando a linha assim:
listen_addresses = '*'
Dessa forma seu PostgreSQL vai "escutar" não só conexões provenientes da sua própria máquina. A próxima configuração no mesmo arquivo é habilitar a encriptação de passwords, para fazer isso descomente a linha abaixo removendo o "#", ficando a linha assim:
password_encryption = on
Finalmente a próxima configuração no arquivo pg_hba.conf. Neste arquivo você consegue restringir o acesso ao seu banco de dados por IP. Normalmente queremos liberar o acesso para servidor "zabbix" no meu exemplo, quero liberar somente o servidor zabbix as máquinas.
host all all 10.5.2.0 255.255.0.0 md5
Terminando a configuração, reinicie o PostgreSQL.
Debian/Ubuntu:
# /etc/init.d/postgresql-8.4 restart
Obs.: caso seja um servidor de produção e não um de homologação pode ser utilizando o comando:
# /etc/init.d/postgresql-9.1 reload
onde serão lidas as configurações realizadas.
Testando a conexão:
# psql -U postgres
Senha para usuário postgres:
psql (8.4.4)
Digite "help" para ajuda.
postgres=#
ou também, "sudo su postgres" e depois psql, onde irá realizar o logon com usuário postgres.