Configurando DBforBIX no Zabbix

     Nesse tutorial vou abordar a instalação e configuração do DBforBIX, uma excelente ferramenta de coleta de dados de Banco de Dados para o Zabbix. Ela suporta vários banco de dados, como MySQL, PostgreSQL, Oracle, entre outros.

     O DBforBIX age como um “intermediário” entre o servidor Zabbix e o banco de dados, fazendo a coleta dos dados no banco de dados e as enviando ao servidor Zabbix. Veja ilustração abaixo:

*Ilustração reproduzida a partir da documentação oficial do DBforBIX

     Pré-requisitos:

  • Centos 5x ou 6x (outras distro também são suportadas)
  • Java SE 1.6
  • Zabbix 1.8x ou posterior (funciona bem no Zabbix 2.0🙂 )
     Para que o DBforBIX funcione, é necessário que a máquina de instalação tenha acesso ao banco de dados que será monitorado. Outra alternativa, até mais segura, é fazer uma instalação stand-alone, ou seja, cada banco de dados ter o DBforBIX instalado no próprio host. Porém, além de isso gerar uma demanda maior de tempo de trabalho e complicar um pouco o gerenciamento, nem sempre isso é possível.
     No meu caso (que é o exemplo usado neste tutorial) fiz a instalação no Zabbix Server e criei uma VPN para cada host que possuí um banco a ser monitorado; isso porquê tenho vários hosts que conecto por meio da Internet, assim evito trafegar dados de forma “aberta”.

     Instalação

  Faça o download em http://www.smartmarmot.com/?s2member_file_download=dbforbix-0.6.zip e descompacte o arquivo em /opt/dbforbix
  Cria uma entrada no init.d:
# cd /opt/dbforbix
# cp init.d/dbforbix /etc/init.d/
  Deixa arquivos executáveis:
# chmod +x /etc/init.d/dbforbiix
# chmod +x run.sh
  Habilita inicio automático
# chkconfig –add dbforbix
# chkconfig dbforbix on

     Configuração

     Toda a configuração do dbforbix fica em /opt/dbforbix/conf/config.props. Vamos utilizar o arquivo de exemplo para fazermos a configuração incial:
# cd /opt/dbforbix
# cp conf/config.props.sample conf/config.props
    
    Nessa instalação, usarei os seguintes dados como exemplo:
IP do Servidor Zabbix: 10.1.1.1
IP do banco Mysql que irei monitorar: 10.1.1.20
IP do banco PostgreSQL que irei monitorar: 10.1.1.30
Nome da base Mysql: my-db-mysql
Nome da base PostgreSQL: my-db-pgsql
Nome do host Mysql cadastrado no Zabbix=DB-Mysql
Nome do host PostgreSQL cadastrado no Zabbix=DB-Pgsql

É recomendável que o DBforBIX utilize um usuário específico para esse fim. Abaixo crio o usuário zabbix_monitor no Mysql e PostgreSQL.

# Mysql
mysql> CREATE USER ‘zabbix’@’%’ identified by ‘minhasenha’;
mysql> GRANT SELECT, SHOW VIEW ON  *.* TO  ‘zabbix’@’%’;

# PostgreSQL
postgres# CREATE USER zabbix_monitor WITH PASSWORD ‘minhasenha’;
postgres# GRANT SELECT ON pg_stat_activity to zabbix_monitor;
postgres# GRANT SELECT ON pg_stat_activity to zabbix_monitor;
postgres# GRANT SELECT ON pg_database to zabbix_monitor;
postgres# GRANT SELECT ON pg_authid to zabbix_monitor;
postgres# GRANT SELECT ON pg_stat_bgwriter to zabbix_monitor;
postgres# GRANT SELECT ON pg_locks to zabbix_monitor;
postgres# GRANT SELECT ON pg_stat_database to zabbix_monitor;

    Para outros banco de dados, você pode consultar a documentação oficial.

Vamos configurar agora o dbforbix:

# vim conf/config.props.sample
#Lista de servidores Zabbix
ZabbixServerList=ZabbixServer
#Parâmetros dos servidor Zabbix
ZabbixServer.Address=10.1.1.1
ZabbixServer.Port=10051

#PidFile

DBforBIX.PidFile=./logs/dbforbix.pid

#Tempo de atualização dos itens
DBforBIX.Sleep=30

#Número de Thread’s (máximo)
DBforBIX.MaxThreadNumber=100

#Lista de databases. É importante observar que esse é o nome do host cadastrado no Zabbix Server.
DatabaseList=DB-Mysql,DB-Pgsql

#Altere as opções abaixo apenas se tiver necessidade:
DatabaseList.MaxActive=10

DatabaseList.MaxWait=100

DatabaseList.MaxIdle=1

#Dados do banco Mysql
DB-Mysql.Url=jdbc:mysql://10.1.1.20:3306/my-db-mysql
DB-Mysql.User=zabbix_monitor
DB-Mysql.Password=minhasenha
DB-Mysql.DatabaseType=mysql
DB-Mysql.QueryListFile=./conf/mysqlquery.props

#Dados do banco PostgreSQL
DB-Pgsql.Url=jdbc:postgresql://10.1.1.30:5432/my-db-pgsql
DB-Pgsql.User=zabbix_monitor
DB-Pgsql.Password=minhasenha
DB-Pgsql.DatabaseType=pgsql
DB-Pgsql.QueryListFile=./conf/pgsqlquery.props

Agora precisamos configurar as query’s de consulta ao banco. Nesse caso, irei utilizar as que vem no exemplo, que já possuem bastante informações.

# mv conf/mysqlquery.props.sample conf/mysqlquery.props
# mv conf/pgsqlquery.props.sample conf/pgsqlquery.props

O DBforBIX está configurado, basta apenas inicia-lo. Vamos configurar agora o Zabbix Server. Faça o    upload dos templates, que estão dentro da pasta Templates que vem no arquivo do DBforBIX.

Clique em Configuration-Template

      Depois clique em Import
     Selecione o template, e clique em Import
Caso a importação tenha exito, mostrará a mensagem conforme tela abaixo:
    Importe todos os templates que irá utilizar, e pronto! Agora basta adicionar o template no host configurado e iniciar o DBforBIX, com o comando abaixo:
# service dbforbix start
OU
# /opt/dbforbix/run.sh
 
 Fonte: gesiel bernardes

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: