terça-feira, 29 de maio de 2012

Monitoramento com Zabbix 2.0



Pessoal nesse tutorial vou explicar como instalar e configurar o ZABBIX 2.0, um monitor de rede que coleta e guarda informações da rede e de hosts remotos sendo possível realizar consultas de performance e estado posteriormente.

Nesse exemplo utilizei uma máquina virtual com Debian Squeeze com 1 Gb de Ram e processador Dual-Core.


Antes de iniciarmos a instalação em si precisamos atualizar nosso sistema e instalar as dependências para que o Zabbix funcione perfeitamente.

# aptitude update
# aptitude upgrade

# aptitude install make flex gcc gpp php-net-socket  libpq5 libpq-dev snmp apache2 libapache2-mod-php5 php5 php5-gd php5-curl libcurl4-openssl-dev php5-mysql php5-snmp php-pear perl-base liburi-perl libapache2-mod-perl2 libwww-perl libtool libextutils-pkgconfig-perl pkg-config libsnmp-dev libcurl3 rcconf libgd-text-perl php5-cgi perl-modules libpdf-api2-perl libssh2-1-dev mysql-server libmysql++-dev  libmysqlclient-dev  snmpd libsnmp-dev curl libiksemel-dev libiksemel-utils fping lm-sensors libsysfs2

Obs: Durante o processo de instalação do mysql irá ser solicitado a senha de root, cuidado para não perder esta senha.

Crie o usuário zabbix no sistema

#  adduser --disabled-password --disabled-login --shell=/bin/false zabbix

Agora vamos baixar o pacote do Zabbix:

# cd /opt
# wget  -cv  http://sourceforge.net/projects/zabbix/files/latest/2.0.0/zabbix-2.0.2.tar.gz

Descompacte o arquivo:
# tar  -xvzf zabbix-2.0.2.tar.gz

# cd zabbix-2.0.2/

Vamos executar o ./configure com alguns parâmetros:

# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp
--with-libcurl --with-jabber

  # make install

Com isso nosso sistema já esta instalado, mas ainda falta alguns ajustes, vamos há eles:

Iremos criar a base de dados no mysql e executar os scripts .sql do zabbix:

# mysql -u root –p
(Entre com sua senha de root)

Mysql> create database zabbix;
Mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘nova_senha’;
Mysql> quit;

# cd /opt/zabbix-2.0.0/database/mysql/

# mysql  -D zabbix  -u zabbix  -p <  schema.sql
(Entre com sua senha do usuário zabbix)

# mysql  -D zabbix  -u zabbix  -p <  images.sql
(Entre com sua senha do usuário zabbix)

# mysql  -D zabbix  -u zabbix  -p <  data.sql
(Entre com sua senha do usuário zabbix)

Pronto com isso nossa configuração do mysql esta encerrada, vamos para as confs do zabbix:

# mkdir /etc/zabbix
# chown –R zabbix.zabbix /etc/zabbix
# cd /opt/zabbix-2.0.2/conf
# pico zabbix_agent.conf

Confirme se a linha define o ip do servidor zabbix esta apontando para ele mesmo:

Server=127.0.0.1

# pico zabbix_server.conf

Altere as linhas a seguir no seu arquivo:

DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

Obs: No meu caso coloquei a senha do usuário zabbix do Mysql como zabbix.

Salve e saia do arquivo.

# cp zabbix_*.conf /etc/zabbix/

Agora temos que copiar os scripts de inicialização do zabbix para iniciar automaticamente no boot :

# cd /opt/zabbix-2.0.0/misc/init.d/debian/
# cp zabbix-* /etc/init.d/
# chmod 755 /etc/init.d/zabbix­-server
# chmod 755 /etc/init.d/zabbix-­agent
# rcconf

Marque os dois scrips do zabbix e dê OK.

# /etc/init.d/zabbix-­server start
# /etc/init.d/zabbix-­agent start
# ps –aux | grep zabbix

Se o zabbix estiver rodando numa boa podemos seguir com a instalação e partir para o frontend:

# mkdir /var/www/zabbix/
#  cp -R /opt/zabbix-2.0.2/frontends/php/* /var/www/zabbix/
# pico /etc/php5/apache2/php.ini

Adicione as seguintes linhas ao final do arquivo:


date.timezone = America/Sao_Paulo
max_execution_time = 300
memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 16M
max_execution_time = 600
max_input_time = 600


Reinicie o Apache para atualizar as novas configurações do PHP:

# /etc/init.d/apache2 restart

# chown -R www-data:zabbix /var/www/zabbix

Agora abra o navegador e digite:

<endereco_do_servidor>/zabbix/

Será exibida a tele inicial de configuração do zabbix:


Clique em Próximo:





Se estiver tudo OK clique em próximo, se não reveja suas configurações no arquivo php.ini.


Aqui iremos colocar o nome da base de dados do mysql, o nome do usuário e a senha, clique em test connection, se aparecer um Ok, clique em próximo:


Clique em Próximo:



Clique em Próximo:


Clique em Finsh:



Irá aparecer a seguinte tela no browser :




Com tudo que fizemos ate aqui o servidor zabbix ainda não esta sendo monitorado, para que isso aconteça clique na aba configuration -> hosts para visualizar o host do zabbix depois quique em not monitored e ative-o na janela que irá aparecer:



Para mudar o idioma para Português vá no menu profile no canto superior direito da tela e mude para Português no campo Language, depois é só salvar. Bem Pessoal é isso espero esse tutorial seja útil pra vocês, no próximo tutorial iremos aprender como configurar um host para ser monitorado pelo zabbix e como adicionamos ele aqui em nosso servidor, até mais, qualquer dúvida é só postar. vlw




18 comentários:

  1. Parabéns ricardo muito pratico seu artigo, vou implementar nesse final de semana e ver como fica..
    abraços,

    ResponderExcluir
  2. Vlw Luciano, testa sim, qualquer coisa estamos ai... ;)

    ResponderExcluir
  3. Ricardo bom dia, estou com problema ao criar triggers e itens para monitoramento dos servidores windows em relação a serviços como dns, dhcp tem algum post que seja especifico de como criar e editar triggers.
    em relação ao post acima está perfeito parabéns.

    ResponderExcluir
  4. Este comentário foi removido pelo autor.

    ResponderExcluir
  5. Ricardo, parabéns pelo post. fiz tudo direitinho e está tudo funcionando perfeitamente.

    Se puder me da uma força para configurar o envio de alertas por Email autenticado eu agradeço.

    Abs.

    ResponderExcluir
  6. Rodrifaus o link abaixo deve ajuda-lo:

    http://www.zabbixbrasil.org/wiki/tiki-index.php?page=Envio+de+alertas+por+e-mail+utilizando+SMTP+autenticado

    ResponderExcluir
  7. Renan Sgorlom o link abaixo mostra como resetar a senha padrão do zabbix:

    http://www.zabbix.com/forum/showthread.php?t=16801

    ResponderExcluir
  8. Ricardo primeiramente meus parabéns, excelente artigo.

    Saberia como fazer para enviar alerta via SMS?

    Hoje faço isso via DUDE, contrato SMS dessa empresa www.torpedus.com.br e configuro um script em que caso dê problema em algum serviço, ele dispara um SMS para os celulares do pessoal do Noc.

    Abraços!

    ResponderExcluir
  9. Jociano apesar de não ter testado essa funcionalidade acho que o link abaixo vai ajuda-lo e ainda sem custos pelo sms, se por acaso vc testar e funcionar gostaria de pedi-lo para dar um toque pra depois eu testar tbm, se por acaso não funcionar avisa que a gente quebra a cabeça juntos, obrigado pelo elogio, isso incentiva muito o nosso trabalho.

    http://gesielbernardes.blogspot.com.br/2012/02/configurando-zabbix-para-enviar-sms-sem.html

    ResponderExcluir
  10. Como faço para saber a versão do meu Zabbix Instalado???

    Obg.

    ResponderExcluir
  11. Edivânio na tela de login do zabbix aparece a versão, fica no canto esquerdo inferior.

    ResponderExcluir
  12. Prezados, fica sempre a mensagem: Zabbix server is not running: the information displayed may not be current, procurei no google e não encontrei uma solução..

    ResponderExcluir
    Respostas
    1. Este comentário foi removido pelo autor.

      Excluir
    2. Joel Pinheiro,

      Conseguiu alguma solução para este problema? a minha instalação também ocorreu isso e não estou conseguindo resolver.

      Excluir
  13. Bom dia Ricardo estou também utilizando esta maravilhosa ferramenta aqui na empresa mas estou deparando com um erro que não consigo resolver, ele não deixa eu escolher o mysql so fica no postgres, ja tentei colocar na mão mas nada, ja instalei todas as bibliotecas mencionadas e nada o cara não que sair do postgres.

    ResponderExcluir
  14. fiz tudo certinho mas não inicia o zabbix

    ResponderExcluir
  15. Otimo tutotial, fiz a instalação duas vezes a forma como esta ai e não funcionou quando dou /etc/init.d/zabbix restart não aparece nada e quando abro o navegador e digito o endereço a tela fica em branco.

    ResponderExcluir
    Respostas
    1. Igão, comigo também ocorreu a mesma coisa!
      Eu reinstalei e funcionou. Provavelmente ficou faltando uma dependencia de pacotes e também não executou o make install.

      Excluir