quinta-feira, 21 de abril de 2011

Instalando o Zabbix 1.8.4 no Ubuntu Server 10.10

Em ambientes de TI complexos com muitos ativos de rede e servidores muitas vezes problemas ocorrem sem o conhecimento do administrador de rede, o pior dos cenários é quando o administrador é informado sobre problemas em sua infraestrutura pelos usuários pois isso reflete diretamente na visão dos usuários a respeito do departamento de TI. Em um cenário como esse a TI está sempre apagando incêndios e os usuários estão quase sempre insatisfeitos com os serviços prestados.
Através das ferramentas de monitoramento como Nagios, Zenoss e o Zabbix tratado neste post a TI passa a ser pró-ativa resolvendo problemas antes mesmo do conhecimento dos mesmos pelos usuários.
Já utilizo o Zabbix há algum tempo e com sua nova versão resolvi abordar os procedimentos de instalação e configuração da ferramenta de monitoramento.

Inicialmente devemos baixar o Zabbix, o download pode ser realizado através do link:

http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.4.tar.gz?download

Concluído o download agora vamos instalar a dependências para a compilação do Zabbix conforme abaixo:

# apt-get install gcc automake mysql-server libsnmp-dev libmysqld-dev libcurl4-gnutls-dev libopenipmi-dev libssh2-1-dev

Concluída a instalação passamos para o arquivo com o código fonte, que neste caso foi colocado em /opt

Inicialmente iremos extrair o conteúdo do arquivo com o comando:

# tar xzvf zabbix-1.8.4.tar.gz

Após a extração será criado o diretório zabbix-1.8.4 em /opt, é agora que iremos determinar o suporte a determinadas funcionalidades dependendo do ambiente em que vc irá utilizar o Zabbix como por exemplo em que banco de dados o servidor será instalado, se haverá suporte a verificações via ssh ou dispositivos IPMI. As opções de compilação podem ser verificadas através do comando abaixo dentro do diretório /opt/zabbix-1.8.4/

# ./configure --help

Após definir as funcionalidades desejadas passamos para a compilação no meu caso o Zabbix foi compilado conforme o comando abaixo:

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

Uma vez compilado devemos executar os comandos abaixo para concluir a instalação:

# make
# make install

Com o Zabbix instalado passamos a configuração da base de dados que conforme compilação será armazenada no servidor mysql, para tal devemos proceder com os passos a seguir:

# mysql -u root -p
>create database zabbix character set utf8;
>grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'senha';
>exit

# mysql -u root -p zabbix < /opt/zabbix-1.8.4/create/schema/mysql.sql
# mysql -u root -p zabbix < /opt/zabbix-1.8.4/create/data/data.sql
# mysql -u root -p zabbix < create/data/images_mysql.sql

Com isso nossa base de dados está preparada, agora devemos criar o usuário para rodar o servidor, criar o diretório dos arquivos de configuração, copias os exemplos de arquivos de configuração e os arquivos de inicialização do servidor.

# useradd -m -s /bin/bash zabbix
# mkdir /etc/zabbix
# cp misc/conf/{zabbix_server.conf,zabbix_agentd.conf} /etc/zabbix
# cp /opt/zabbix-1.8.4/misc/init.d/debian/{zabbix-agent,zabbix-server} /etc/init.d

Agora passamos para a configuração do servidor conforme abaixo:

[zabbix_server.conf]
...
LogFile=/var/log/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=SUASENHA
...

No arquivo de configuração indicamos um arquivo para log porém, o arquivo não existe devemos então criá-lo e atribuí-lo ao usuário zabbix:

# touch /var/log/zabbix_server.log
# chown zabbix.zabbix /var/log/zabbix_server.log
# chown -R zabbix.zabbix /var/log/zabbix_server.log

O servidor já está pronto para uso e pode ser inicializado através do comando:

# /etc/init.d/zabbix-server start

Porém o servidor por sí não é suficiente, uma vez que para configurar os hosts e ítens a ser monitorados devemos instalar a interface web.

Devemos instalar o apache2 e o php mais as dependências para a interface web do Zabbix.

# apt-get install apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl libpq5 php5-common php5-mysql php5-gd

O próximo passo é copiar os arquivos da interface para o diretório apropriado no apache2;

# cp -r /opt/zabbix-1.8.4/frontends/php/ /var/www/
# mv /var/www/php /var/www/zabbix

Com isso podemos acessar a interface web e prosseguir com a configuração através da interface web. Reinicialize o apache e acesse a interface no endereço:

http:/seu-ip/zabbix

O processo de configuração é bem intuitívo a única observação a ser feita é na tela de pré-requisitos, algumas opções vão estar em desconformidade e devemos realizar alterações no arquivos /etc/php/apache2/php.ini e alterar o valor padrão das variáveis para atender as necessidades do Zabbix. A baixo estão as variáveis e os valores mínimos para prosseguir com a instalação, se seu ambiente for maior pondere cuidadosamente os valores atribuídos pois esta configuração impacta diretamente na performance do zabbix.

[php.ini]
...
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
date.timezone = America/Maceio
...

Assim concluímos os pré-requisitos e concluímos a instalação do zabbix.

Após digitar o usuário e senha você entrará na dashboard, é através dela que você pode ver o que está sendo monitorado. O Zabbix utiliza o princípio de Hosts >> Itens >> Triggers >> Actions para realizar seu monitoramento, devemos adicionar os hosts e os itens que serão monitorados neste host em seguida configuramos as triggers que analisam os itens e geram alarmes de acordo com as opções especificadas pelo administrador, já as Actions são as ações tomadas mediante as alterações das triggers que podem ser a execução de um script, o envio de um email para o administrador, etc.

A configuração do Zabbix é um tópico bastante extenso e não será abordado neste post, maiores informações para a configuração do zabbix podem ser encontradas no link abaixo:

http://www.zabbix.com/documentation/1.8/manual/config

Há também um livro sobre o Zabbix que possui bastante informação a respeito da ferramenta, maiores informações sobre o livro podem ser encontradas no link abaixo:

http://www.amazon.com/Zabbix-Network-Monitoring-Rihards-Olups/dp/184719768X/ref=sr_1_1?s=books&ie=UTF8&qid=1303788117&sr=1-1

É isso ai galera, quaisquer dúvidas ou esclarecimentos estou a disposição.
Um grande abraço a todos da comunidade.

4 comentários:

  1. Parabéns pelo post.
    Curti mesmo cara.

    ResponderExcluir
  2. Vlw garoto, qualquer coisa é só falar.

    ResponderExcluir
  3. Cara, esse tutorial seu -e show demais! Eu uso ele sempre quando preciso instalar o zabbix em algum servidor meu. Pra retificar: funciona normalmente com o 1.8.5 e fica a sugestão de adicionar o "--with-jabber" na hora de fazer o ./configure. Antes de fazer isso, eu sempre instalo as libs do iksemel para que não dê erro na hora de compilar com o "apt-get install libiksemel-dev libiksemel-utils libiksemel3".
    Fica a dica, mas esse tutorial seu é material obrigatório para instalação.
    Abraço

    ResponderExcluir
  4. como instalar o agente no windows 7 desta versão

    ResponderExcluir