Você está na página 1de 35

Pontifícia Universidade Católica do Paraná

Curso de Especialização em Redes e Segurança de Sistemas

Avaliação da Ferramenta Zabbix

Jhonatan Geremias

CURITIBA ­ 2010
Zabbix – Ferramenta de Monitoramento
 
Adilson Galiano Filho, Jhonatan Geremias

Curso de Especialização em Redes e Segurança de Sistemas

Pontifícia Universidade Católica do Paraná

Curitiba, Abril de 2010

Resumo

O   presente   artigo   tem   como   objetivo   apresentar   uma   abordagem   de   uma  


ferramenta denominada Zabbix, uma ferramenta criada para monitorar o desempenho  
e a disponibilidade dos ativos de uma rede, seu sistema foi projetado para trabalhar  
através  da coleta  das informações de servidores, switches, roteadores, e os  demais  
diferenciados equipamentos encontrados na rede, as informações coletadas na rede são 
armazenadas em um banco de dados, permitindo uma posterior analise dos dados, por 
meio das consultas e da geração de alertas é possível identificar, prevenir e solucionar  
problemas de modo proativo. Este artigo tem por finalidade permitir que o usuário seja  
capacitado  a reproduzir  e utilizar  o mesmo ambiente  em  que desenvolvemos  nossa 
analise   sobre   o   Zabbix,   habilitando   o   usuário   a   instalar,   configurar   e   até   mesmo 
monitorar os ativos da rede.
1. Introdução

Visando   alcançar   um   diagnostico   mais   preciso   da   infra­estrutura   da   rede, 


escolhemos   uma   ferramenta   de   monitoramento   de   rede   de   nome   Zabbix,   que   se 
apresentou como uma das soluções mais completas disponíveis do mercado. 
Através deste artigo, temos por finalidade transpassar um material que seja uma 
fonte   rica   e   bem   detalhada,   e   apresente   de   forma   clara   e   objetiva   essa   promissora 
ferramenta   que   a   cada   nova   versão   lançada   trás   muitas   novidades   para   os 
administradores de redes. Esperamos ainda que esse material seja de grande valia, e 
possa   servir   como   guia   de   consulta   para   administradores   de   redes   que   estejam 
interessados em adotar o Zabbix como ferramenta de monitoramento em sua rede. 
O   artigo   em   questão   segue   redigido   detalhadamente,   procuramos 
cuidadosamente   colocá­lo   passo   a   passo   para   aqueles   que   desejarem   reproduzir   um 
ambiente   similar   em   sua   rede,   não   tenham   muitas   dificuldades,   esse   artigo   será 
apresentado de forma muito similar aos roteiros apresentados em algumas disciplinas no 
sistema   de educacional  a distância,  PUCPR, Eureka, contendo  todas  as  informações 
necessárias para aqueles que tenham como objetivo, implantar essa nova tecnologia em 
suas organizações. Os detalhamentos técnicos formados neste artigo abordam de forma 
pedagógica, além da técnica, e com o intuito de seguir a linha de apresentação citada 
preferimos a apresentação de um estudo de caso em específico, elaborado pelo aluno 
Esley   Bonomo   ao  curso   de   Pós   Graduação   em   Administração   em   Redes   Linux,   da 
Universidade Federal de Lavras, datado do ano de 2006. Essa preferência é explicada 
devido às funcionalidades estarem apresentadas em uma excelente didática e semelhante 
à   forma   esquemática   sendo   implantada   em   nosso   ambiente   de   trabalho   profissional 
atual.   Conforme  observado em disciplinas  desse programa  LATU SENSU  a ação de 
monitoramento   é   necessária,   e   vem   a   ser   um   dos   princípios   básicos   para   se   obter 
segurança e disponibilidade em redes modernas administradas.

1.1 O que é o Zabbix?

Conforme podemos observar o Zabbix é uma ferramenta de monitoramento de 
rede,   o   que   significa   que  o   Zabbix   é   uma   ferramenta   que   nos   permite   monitorar   a 
performance   e   disponibilidade   de   todos   serviços   e   ativos   da   rede,   ou   seja,   desde 
aplicações envolvidas na rede, até os inúmeros equipamentos que são interligados a ela, 
tais como servidores, hosts, switches, roteadores entre muitos outros. 
A principio o Zabbix é um sistema que consegue coletar informações de todos 
dispositivos  que estão interligados  na rede, absorvendo as  informações  por meio  de 
scripts, via agente ou até mesmo através do protocolo SNMP.
Esse poderoso sistema de gerência e monitoramento absorve todas as informações 
requisitadas, e permite que as informações sejam coletadas e armazenadas em um banco 
de dados como MySQL, PostgreSQL, SQLite ou até mesmo no Oracle.
O   Zabbix   através   de   uma   interface   web   bem   amigável   possibilita   que   as 
informações   que   foram   armazenadas   anteriormente   nas   bases   de   dados,   sejam 
consultadas e analisadas por meio de alertas. Os alertas permitem que os problemas que 
estejam ocorrendo em nossa rede ou equipamentos sejam identificados, assim sendo 
possível tomar decisões e efetuar melhorias.
1.2 História

Como vimos o Zabbix é uma excelente ferramenta que permite o monitoramento 
de toda a infra­estrutura de uma rede, um dos grandes responsáveis por essa ferramenta 
é   Alexei  Vladishev,   que   é   apresentado   como   criador   e   principal   desenvolvedor   do 
projeto   Zabbix.   O   projeto   e   o   desenvolvimento   do   Zabbix   se   iniciaram   2001, 
centralizado na cidade de Riga, na Letônia, foi desenvolvido utilizando a linguagem de 
programação PHP, disponibilizando ao usuário uma interface web com suporte a banco 
de dados.
O   Zabbix   é   um   software   que   adota   a   licença   Open   Source,   ou   seja,   é   um 
software livre que adota a licença publica geral (GPL), sendo considerado como uma 
das   melhores   ferramentas  de   monitoramento   na   atualidade,   muitas   das   suas 
funcionalidades   que   foram   herdadas   do   Nagios   e   do   Cacti   a   tornaram   uma   das 
ferramentas mais poderosa e completas disponíveis. 
Curiosamente o nome Zabbix é oriundo de uma pesquisa do autor, através de 
urls de busca, objetivando encontrar um nome ainda não utilizado e divulgado ne rede 
mundial de computadores. O nome Zabbix até então não era de significado algum, hoje 
é   sinônimo   de   gerência   organizada,   alta   performance   e   disponibilidade   aliadas   à 
eficiência de equipamentos e serviços.

2 Estrutura do Zabbix

O Zabbix oferece portabilidade a diversos sistemas operacionais desde  Linux, 
Solaris, HP­UX, AIX, FreeBSD, OpenBSD, NetBSD, Mac OS X, Windows,  e outros. 
Disponibilizando   agentes   aos   mais   diversos   sistemas   operacionais,   permitindo   o 
monitoramento entre diferentes plataformas.
Entretanto existe uma dependência em relação à estrutura do Zabbix, visto que o 
mesmo foi projetado com o intuito de ser uma ferramenta Open Source, seu servidor 
necessariamente deve ser hospedado em uma máquina com o Linux ou Mac OS, visto 
que não existe um pacote do servidor disponível para as versões do Windows.
Contudo   essa   dependência   não   afeta   o   monitoramento   da   rede,   visto   que   o 
sistema está divido em três distintas partes:

 Servidor Zabbix
 Agente Zabbix
 Interface do Zabbix

Servidor Zabbix: O servidor é responsável pela coleta e o armazenamento dos dados 
monitorados. Como já vimos o servidor deve ser necessariamente hospedado em uma 
máquina com o sistema operacional baseado na família do Unix (Linux ou Mac OS);

Agente Zabbix: O agente é responsável por repassar todas as informações que foram 
coletadas do sistema operacionais em qual está rodando para o servidor. O agente 
permanece instalado na máquina e rodando como daemon ou serviço, e assim que o 
servidor solicita alguma requisição o agente processa a requisição e retorna os dados 
solicitados, dados tais como: consumo dos recursos de HD, memória, estatística de 
processador, entre outros;

Interface do Zabbix: A interface é a estrutura que permite que o administrador tenha 
acesso para interagir e administrar o sistema. A fim de permitir um fácil acesso ao 
monitoramento dos dados e configurações através do ZABBIX, a interface do Zabbix 
foi projetada para ser acessada via web, permitindo que o administrador ou usuário 
acessem através do próprio browser instalado em seu sistema operacional. Para alguns 
navegadores em específico, o Zabbix disponibiliza até mesmo alguns plugins para 
facilitar o acesso ao servidor, sendo o caso do Firefox como exemplo. 

2.1 Por que utilizar o Zabbix?

A   escolha   de   uma   ferramenta   de   monitoramento   está   diretamente   ligada   aos 


problemas   que   são   apresentados   no   âmbito   a   qual   está   direcionado   a   empresa, 
lembrando que independente  do setor onde a empresa atue,  existe  a necessidade  de 
traçar um plano de estratégia de negócio. Para um monitoramento eficaz e preciso é 
necessário traçar laços em conjunto ao plano de estratégia, onde podemos definir as 
políticas de segurança da empresa. As políticas de segurança serão responsáveis por 
estabelecer  o nível de segurança que deverá ser adotado  pela  organização,  e ai sim 
escolher uma ferramenta para monitoramento que seja ideal para empresa. Mas entre 
tantas ferramentas de monitoramento por utilizar o Zabbix?
Este artigo não tem como intenção definir o Zabbix como a melhor ferramenta 
de monitoramento disponível, e nem colocar as demais ferramentas em descrédito. O 
artigo em questão tem a única finalidade de despertar o interesse do administrador da 
rede, para que o mesmo conheça a ferramenta e entre outras escolha por si só.
Para facilitar a escolha da ferramenta, faço referência ao artigo apresentado por Raphael 
Celuppi, que apresentou na turma anterior deste mesmo curso de especialização um 
excelente artigo: “Implantação do Zabbix para monitoramento de infra­estrutura”. No seguinte 
tópico em específico “Escolha da Ferramenta” ele apresentou bem um comparativo entre 
as ferramentas Nagios, Cacti e o Zabbix

“O Zabbix foi comparado a algumas ferramentas  Open Source  de monitoramento de infra­


estrutura como o Nagios e o Cacti, cujo quais são excelentes ferramentas mas que não possui uma suíte  
completa de ferramentas como Zabbix, que possui tanto uma interface de monitoramento e alerta em 
tempo real excelente como o Nagios e também possui histórico de informações e gráficos iguais ao do 
CACTI nos trazendo assim o melhor das duas ferramentas mais utilizadas atualmente em uma.”

Segue abaixo as funcionalidades de cada ferramenta, estruturado semelhantemente: 

Nagios: 

 Monitoramento de aplicação, serviços, sistemas operacionais e componentes de 
infra­estrutura;
 API para desenvolvimento de sistemas customizados. 
 Cliente proprietário; 
 Suporte ao protocolo SNMP;
 Visão centralizada de todos os sistemas monitorados;
 Informações detalhadas dos componentes monitorados na interface web;
 Rápida detecção de problemas na infraestrutura;
 Alertas via e­mail e SMS;
 Alertas customizáveis, para o envio diretamente a pessoa responsável;
 Base de conhecimento para problemas com soluções conhecidas;
 Configurações de eventos para ações pré­configuradas, como reiniciar o serviço 
com problema;
 Planejamento de infra­estrutura para o acompanhamento do envelhecimento do 
parque tecnológico;
 Paradas programadas, para o sistema não enviar alertas nesses períodos;
 Relatórios para o acompanhamento dos SLA’s; 
 Históricos de envio de alertas e notificações;
 Suporte a plugins de terceiros; 
 Multiusuário web com níveis de acessos. 

Cacti: 

 Número ilimitado de gráficos por host;
 Envio de alertas via e­mail e script personalizado;
 Armazenamento configurável de históricos; 
 Rápido resequenciamento dos itens gráficos;
 Suporte completo ao RRDTOOL; 
 Suporte ao protocolo SNMP;
 Modelos gráficos pré­configurados;
 Gerenciamento totalmente web; 
 Multiusuário web com níveis de acessos. 

Zabbix: 

 Gerenciamento centralizado; 
 Acesso centralizado as informações; 
 Numero ilimitado de proxies;
 Monitoramento em tempo real;
 Monitoramento de alertas para disponibilidade, integridade, entre outros; 
 Alertas via e­mail, SMS, mensagem instantânea e via script configurado;
 Log de auditoria;
 Visualização via abas web e mapas;
 Execução de comandos remotos; 
 Suporte a serviços de TI hierárquico;
 Relatórios em tempo real de SLA’s;
 Facilidade de integração com sistemas de terceiros;
 Modelos pré­configurados de hosts; 
 Facilidade de compartilhamento de modelos;
 Sistema de auto busca de dispositivos a serem monitorados;
 Monitoramento de páginas web;
 Suporte a qualquer plataforma;
 Suporte ao protocolo SNMP; 
 Agente próprio de alta performance; 
 Rápida curva de aprendizagem; 
 Multiusuário web com níveis de acessos flexíveis. 

Foram especificadas apenas as funcionalidades do Nagios e do Cacti, pois muitas 
das funcionalidades que o Zabbix possui hoje foram herdadas dessas outras duas 
ferramentas, lembrando que ainda existem inúmeras outras excelentes ferramentas que 
devem ser observadas para escolha da ferramenta de monitoramento ideal tais como o 
Ntop, Nessus, Snort, Nmap, MTGR entre outros.

Requisitos de Hardware e Software

As informações dos requisitos necessários para instalação do Zabbix foram 
retiradas do próprio site do fabricante do Zabbix, sendo correspondentes à versão atual 
(Zabbix 1.8.2) do mesmo. 

Requisitos de Hardware

O servidor Zabbix requer os recursos do sistema conforme segue tabela abaixo:

Figura 1 ­ Requisitos de Hardware

Plataformas Suportadas:

Segue abaixo a tabela referente as plataformas que são suportadas tanto pelo 
servidor como também pelo agente: 
Figura 2 ­ Plataformas Suportadas

Requisitos de Software

 Apache: versão 1.3.12 ou superior;
 Banco de dados: o banco de dados mais utilizados em conjunto com o Zabbix 
hoje é o MySQL (versão 3.22  ou superior), mais nada impede ao administrador, 
utilizar outro banco de dados tais como o  PostgreSQL (versão 7.0.2  ou 
superior), Oracle (versão 9.2.0.4 ou superior), SQLite (versão 3.3.5 ou superior). 
Contudo tem se cogitado no próprio fórum do Zabbix, que segundo Alexei as 
tendências futuras são as de utilizar o PGSql no ambiente de desenvolvimento, pois 
oferece o amadurecimento de algumas funcionalidades que agregariam mais valor ao ZABBIX, 
tais como desempenho e segurança;
 PHP: versão 4.0 ou superior;
 Módulo PHP GD ou GD2: módulo requerido para mostrar mapas e gráficos;
 Browser: Navegador web do cliente que suporte páginas HTML e imagens 
PNG.

3 Instalação do Zabbix

Para efetuar a análise da ferramenta do Zabbix, dentre as diversas distribuições 
do Linux, optamos adotar o GNU/Linux Ubuntu, entre alguns dos motivos que regem 
nossa   escolha,   segue   o   fator   da   distribuição   ser   bem   documentada,   possuir   uma 
arquitetura voltada tanto para desktop quanto para servidores, ser uma das distribuições 
Linux   mais   popular   atualmente,   pela   facilidade   na   instalação   de   aplicativos   com   o 
Synaptic e a questão de compatibilidade com pacotes Debian.
Iniciaremos a instalação do Zabbix do pré suposto que o Ubuntu já está instalado 
na máquina. Neste artigo utilizamos  a última  versão disponível do Ubuntu (ubuntu­
9.10­desktop­i386).
Apenas por fins técnicos e futuras comparações a fins acadêmicos, instalamos o 
servidor do Zabbix em uma máquina HP Compaq DC7700, Duo Core (1,86GHz), 1024 
RAM e 80GB de disco.
Para facilitar a análise do Zabbix, utilizamos do ambiente proporcionado aqui 
mesmo   na   PUCPR,   visto   que   os   dois   alunos   que   lhes   dirigem   nesse   artigo,   são 
funcionários dessa instituição, um funcionário do núcleo de informática (NIAA) e outro 
do programa de pós­graduação em informática (PPGIa).
Os passos descritos abaixo seguem de maneira muito similar a um roteiro, foram 
adotados desta forma com o objetivo de facilitar o processo de instalação e configuração 
do Zabbix. Facilitando um pouco aos administradores de rede que tiverem interesse em 
projetar um ambiente similar.    
Conforme   restrição   de   rede   adotada   através   do   proxy   aqui   na   PUCPR,   é 
necessário configurar a criação do seguinte arquivo para utilizar os comandos do apt­
get.

Criando o arquivo apt.conf:

 cd /etc/apt
 sudo touch apt.conf
 sudo gedit apt.conf

Acrescentar a seguinte linha no arquivo:
Acquire::http::proxy "http://virtualproxy.pucpr.br:3128/";

Agora já será possível realizar atualização e utilizar o comando apt­get (ou se desejar 
utilizar o aplicativo Synaptic).
Baixando a lista dos pacotes disponíveis:
 sudo apt­get update

Verificando e atualizando os pacotes no sistema:
 sudo apt­get upgrade

Reiniciando a máquina:
 sudo reboot

Atualizando o sistema todo para uma nova versão mesmo que seja exigida a adição ou 
remoção de algum pacote:
 apt­get dist­upgrade

Reiniciando a máquina
 sudo reboot

Adicionado o pacote básico necessário para o ambiente de desenvolvimento 
 sudo apt­get install build­essential

Instalando o servidor de banco de dados Mysql, será solicitado que você cadastre uma 
senha para o usuário root do mysql:
 sudo apt­get install mysql­server
Figura 3 ­ Cadastrando Password Mysql

Será solicitado que seja confirmada a senha cadastrada no Mysql:

Figura 4 ­ Confirmando password Mysql

Acessando o Mysql: 
 mysql ­u root ­p

Será solicitada a senha do usuário root do Mysql cadastrada anteriormente:
Verificando as databases disponíveis:
 show databases;

Criando um database teste:
 create database teste;

Definindo um database que ser utilizada:
 use teste;

Verificando o database criada:
 show databases;

Excluindo o database "teste":
 drop database teste;
Verificando que a database foi realmente excluída:
 show databases;

Saindo do Mysql
 exit

Instalando a biblioteca libmysqlclientXX­dev
Verificando a versão mais atual disponíveis:
 sudo apt­cache search libmysqlclient

Instalando a última versão disponível da biblioteca libmysqlclient16­dev:
 sudo apt­get install libmysqlclient16­dev

Efetuando a instalação do PHP5:
 sudo apt­get install php5

Instalando a biblioteca do php5 para processamento de imagens:
 sudo apt­get install php5­gd

Instalando a biblioteca do php5 para o Mysql:
 sudo apt­get install php5­mysql

Instalando o pacote do protocolo SNMP (Protocolo Simples de Gerência de Rede)
 sudo apt­get install snmp

Instalando o pacote de bibliotecas para  o protocolo SNMP:
 sudo apt­get install libsnmp­dev

Instalando o pacote daemon para protocolo SNMP:
 sudo apt­get install snmpd

Instalando  biblioteca de código aberto para protocolos SSL e TLS:
 sudo apt­get install libcurl4­openssl­dev

Criando um usuário zabbix no Ubuntu:
 sudo adduser zabbix

Adicionando o usuário zabbix no grupo de administradores:
 sudo adduser zabbix admin

Baixando o pacote de instalação do servidor zabbix, efetuamos o download direto do 
site   do   Zabbix   “http://www.zabbix.com/download.php”,   estamos   utilizando   a   versão 
zabbix­1.8.1   que   foi   a   versão   mais   recente   disponível   no   ato   da   implementação   do 
servidor. Atualmente o Zabbix já possui uma nova versão para download, publicada dia 
29/03/2010 e já disponível no site. 
Descompactando o arquivo do Zabbix, :
 tar  ­zxvpf zabbix­1.8.1.tar.gz

Criando o database do zabbix, ao executar o comando abaixo será solicitado o password 
do usuário root do Mysql:
 mysql –e 'create database zabbix;' –u root –p 

Verificando se o database foi criado, ao executar o comando abaixo será solicitado o 
password do usuário root do Mysql:
 mysql –e 'show databases;' –u root –p

Adicionando usuário zabbix e definindo permissões, ao executar o comando abaixo será 
solicitado o password do usuário root do Mysql:
 sudo mysql –e "grant all privileges on zabbix.* to zabbix@localhost identified  
by 'zabbix';" ­u root ­p

Verificando se o usuário foi criado, ao executar o comando abaixo será solicitado o 
password do usuário root do Mysql:
 mysql –e 'select user from mysql.user' –u root –p

A consulta do comando anterior retorna a lista de usuários cadastrados  pelo Mysql, 
analise a lista e verifique se o usuário zabbix consta nessa lista de usuários.

Acessando o Mysql com o usuário zabbix, ao executar o comando abaixo será solicitado 
o password do usuário zabbix do Mysql:
sudo mysql ­u zabbix –p

Criando schema zabbix, ao executar o comando abaixo será solicitado o password do 
usuário zabbix do Mysql:
 mysql –D zabbix –u zabbix –p < /home/zabbix/zabbix­
1.8.1/create/schema/mysql.sql 

Verificando se o schema foi criado, ao executar o comando abaixo será solicitado o 
password do usuário zabbix do Mysql:
 mysql ­e "show schemas;" –u zabbix –p

Importando as tabelas do zabbix para dentro do Mysql, ao executar o comando abaixo 
será solicitado o password do usuário zabbix do Mysql:
 mysql –D zabbix –u zabbix –p < /home/zabbix/zabbix­
1.8.1/create/data/data.sql

Importando   as   tabelas   de   imagem   do   zabbix   para   dentro   do   Mysql,   ao   executar   o 


comando abaixo será solicitado o password do usuário zabbix do Mysql:
 mysql –D zabbix –u zabbix –p < /home/zabbix/zabbix­
1.8.1/create/data/images_mysql.sql
Configuração do servidor do Zabbix

Acessando  o  terminal   com  o usuário  zabbix,   será  solicitado  o  password do  usuário 
zabbix::
 su zabbix

Localizando e se posicionando dentro do diretório do Zabbix:
 cd zabbix­1.8.1

Configurando e compilando os arquivos do Zabbix:
 sudo ./configure –prefix=/usr –with­mysql –with­net­snmp –with­libcurl –
enable­server –enable­agent && make install

Configurando o Zabbix arquivo services.
Editando arquivo services
 sudo gedit /etc/services

Adicionando   as   seguintes   linhas   no   final   do   arquivo   services,   as   linhas   abaixo 


correspondem às portas que o Zabbix utilizará:
zabbix_agent 10050/tcp 
zabbix_trap 10051/tcp

Criando diretório zabbix:
 sudo mkdir /etc/zabbix

Definindo proprietário para o diretório zabbix: 
 sudo chown –R zabbix.zabbix /etc/zabbix

Localizando e se posicionando dentro do diretório do Zabbix:
 cd /home/zabbix/zabbix­1.8.1

Copiando os arquivos necessários para pasta /etc/zabbix:
 cp misc/conf/zabbix_* /etc/zabbix/

Editando arquivo zabbix_agentd.conf:
 gedit /etc/zabbix/zabbix_agentd.conf

Verificando se o parâmetro Server está apontando para o endereço do servidor, ou seja, 
apontando para ele mesmo:
Server=127.0.0.1

Editando arquivo zabbix_server.conf:
 gedit /etc/zabbix/zabbix_server.conf

Atribuindo usuário que foi criado anteriormente:
DBUser=zabbix

Retirando o comentário  da linha abaixo e acrescentando o password do usuário zabbix:
DBPassword=zabbix

Copiando os arquivos init.d do zabbix.
Estaremos   utilizando   os   arquivos   zabbix­agent   e   zabbix­server,   devido   a 
compatibilidade estaremos utilizando os arquivos da distribuição do Debian:
 sudo cp misc/init.d/debian/zabbix­* /etc/init.d

Configurando os arquivos init.d do zabbix.
Editando o arquivo zabbix­server:
 sudo gedit /etc/init.d/zabbix­server

Localizando a linha abaixo:
DAEMON=/home/zabbix/bin/${NAME}

Substituindo a linha anterior pela linha abaixo:
DAEMON=/usr/sbin/${NAME}

Editando o arquivo zabbix­agent:
 sudo gedit /etc/init.d/zabbix­agent

Localizando a linha abaixo:
DAEMON=/home/zabbix/bin/${NAME}

Substituindo a linha anterior pela linha abaixo:
DAEMON=/usr/sbin/${NAME}

Definindo as permissões dos arquivos zabbix­server e zabbix­agent:
 sudo chmod 755 /etc/init.d/zabbix­server
 sudo chmod 755 /etc/init.d/zabbix­agent

Adicionando os níveis de execução defaults do sistema para o zabbix­server:
 sudo update­rc.d zabbix­server defaults

Adicionando os níveis de execução defaults do sistema para o zabbix­agent:
 sudo update­rc.d zabbix­agent defaults

Iniciando o servidor:
 sudo /etc/init.d/zabbix­server start

Iniciando o agente:
 sudo /etc/init.d/zabbix­agent start

Verificando se ambos os processos estão rodando:
 ps –aux | grep zabbix

Criando diretório public_html:
 mkdir /home/zabbix/public_html

Localizando e se posicionando dentro do diretório do Zabbix:

 cd /home/zabbix/zabbix­1.8.1

Copiando os arquivos da interface web:
 cp –R frontends/php/* /home/zabbix/public_html/

Localizando o arquivo 000­default no apache:
 cd /etc/apache2/sites­enabled

Editando arquivo 000­default:
 sudo gedit 000­default

Adicionando as linhas abaixo ao arquivo 000­default:
Alias /zabbix /home/zabbix/public_html/
<Directory /home/zabbix/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Configurando arquivo php.ini
Localizando o arquivo php.ini:
 cd /etc/php5/apache2

Editando arquivo php.ini:
 sudo gedit php.ini

Alterando as linhas abaixo:
max_execution_time = 300;
date.timezone = America/Sao_Paulo

Reiniciando o Apache:
 sudo /etc/init.d/apache2 restart
Configurando a interface web

Acessando o servidor pela interface web: 
http://10.96.24.149/zabbix 
Será Apresentada uma tela de boas vindas, leia a introdução e pode prosseguir 
clicando no botão “Next”:

Figura 5 ­ Introdução para instalação da Interface Web

Na tela abaixo será apresentado o termo de uso do Zabbix, após a leitura do 
termo se você estiver ciente e concordar, marque a opção “I Agree”, e clique em “Next” 
para prosseguir:

Figura 6 ­ Termo de uso do Zabbix

Na tela abaixo será apresentado um check­list dos pré­requisitos para instalação. 
Se aparecer algum tipo erro, ajuste o mesmo e verificando a configuração, clique em 
“Retry” para testar. Quando todos os pré­requisitos estiverem com o status “ok” clique 
em “Next” para prosseguir:
Figura 7 ­ Check­List dos Pré­requisitos

No ambiente que criamos em específicos, foi necessário acrescentar a seguinte 
configuração ao arquivo php.ini:

Localizando e se posicionando dentro do diretório apache2:
 cd /etc/php5/apache2

Editando o arquivo php.ini:
 sudo gedit php.ini

Alterando as linhas conforme abaixo: configurando arquivo php.ini:
memory_limit = 128M
post_max_size = 16M

Removendo o comentário e alterando o valor da mesmo:
mbstring.func_overload = 2

Figura 8 ­ Aprovação do Check­List
Configurando   a   conexão   com   o   banco   de   dados,   preencha   o   campo   com   as 
informações necessárias, clique em “Test connection” para averiguar a conexão Clique 
em “Next” quando o teste de conexão for bem sucedido.

Figura 9 ­ Configurar conexão banco de dados

Será   apresentado   um   sumário   para   que   sejam   confirmadas   as   opções   da 


instalação, se tudo estiver em ordem clique em “Next” para prosseguir:

Figura 10 ­ Sumário Pré­Instalação

Configurando o arquivo zabbix.conf.php,  para facilitar o processo, clique  em 


“Save   Configuration   File”   e   salve   o   arquivo   para   a   sua   máquina.   Copie   o   arquivo 
zabbix.conf.php para /home/zabbix/public_html/conf/zabbix.conf.php no servidor. Para 
efetuar a transferência do arquivo, utilize o comando SCP, caso seja uma máquina com 
Windows   você   poderá   utilizar   o   aplicativo   WinSCP   disponível   para   download   na 
ESPEC (http://espec.ppgia.pucpr.br/). Após essa cópia clique em “Retry”, verifique o 
status, quando o estiver “ok” clique em Next para prosseguir:
Figura 11 ­ Configuração arquivo zabbix.conf.php

A tela abaixo apresenta que o status da configuração da interface do zabbix está 
corretamente configurado, a interface já pode ser instalado, clique em “Next” para 
prosseguir:    

Figura 12 ­ Instalar Interface Web

Clique em “Finish” para concluir a instalação:
Figura 13 ­ Concluir Instalação

Acessando   a   interface   web  do   Zabbix,   para   efetuar   o  login,   entre   com   o  username 
“Admin” e password “zabbix”:

Figura 14 ­ Acessar a Interface do Zabbix

3.1 Alterando idioma do servidor

Para alterar o idioma default (inglês) para português, efetue o login através da 
interface web, após ter logado, na parte superior da página clicar em profile:

Figura 15 ­ Alterando Idioma I

 Na janela seguinte, é só alterar a linguagem de inglês para português e salvar as 
alterações.
Figura 16 ­ Alterando Idioma II

3.2 Instalando Agente do Zabbix (Windows)

Agora que já estamos com o servidor e a interface web Instalada e devidamente 
configurada,   passaremos   para   etapa   de   instalação   do   agente   do   zabbix,   a   principio 
abordaremos a instalação no sistema operacional Windows XP.
Primeiramente   devemos   copiar   os   arquivos   do   agente   para   as   máquinas   que 
serem monitoradas, os arquivos podem ser encontrados no servidor do Zabbix dentro do 
seguinte diretório:
 cd /home/zabbix/zabbix­1.8.1/bin/

Se   preferir   poderá   efetuar   o   download   do   agente   do   Zabbix   no   próprio   site   do 


zabbix,   efetue   o   download   da   versão   correspondente   ao   servidor   instalado   e   da 
plataforma que esteja utilizando.
http://www.zabbix.com/download.php 

Criando diretório zabbix, sugerimos que o diretório seja criado na raiz do “C:”, 
ou seja, em “c:/zabbix”.

  Os arquivos encontrados devem ser copiados para máquina a ser monitorada, 
segue abaixo os arquivos: 
 zabbix_agentd.exe
 zabbix_get.exe
 zabbix_sender.exe

É   necessário   também   obter   o   arquivo   de   configuração   do   agente   do   Zabbix 


“zabbix_agentd.conf”, copie o arquivo da seguinte pasta no servidor:
 cd /etc/zabbix

Utilize o arquivo que corresponde ao Windows, aqui ele foi encontrado com o 
seguinte nome zabbix_agentd.win.conf, copie o arquivo para dentro da pasta do zabbix 
localizada na máquina com Windows que será monitorada “c:/zabbix”. Altere o nome 
do arquivo para zabbix_agentd.conf.
Edite o arquivo zabbix_agentd.conf através do bloco de notas, altere os dados 
conforme correspondente:

IP do servidor do Zabbix:
Server=xxx.xxx.xxx.xxx

Caminho do arquivo de log do agente zabbix:
LogFile=c:/zabbix/zabbix_agentd.log

Criaremos um serviço para gerenciar o processo do agente zabbix, abra o prompt 
do Windows, posicione o diretório atual dentro da pasta do zabbix “c:/zabbix”, para 
criar um serviço para gerenciar o agente do zabbix execute o comando abaixo:
 zabbix_agentd.exe ­i ­c zabbix_agentd.conf

Figura 17 ­ Criando serviço agente Zabbix

Agora   é   só   iniciar   o   serviço   do   agente   do   zabbix,   abra   o   executar   e   digite 


“services.msc”, você poderá localizar o serviço com o seguinte nome "ZABBIX Agent", 
será só iniciar o serviço e a máquina está pronta para ser monitorada.

Figura 18 ­ Gerenciando Serviço

3.3 Instalando Agente do Zabbix (Ubuntu)

Estaremos instalando o agente do Zabbix em uma máquina com o Linux Ubuntu, 
devido à compatibilidade do Ubuntu com o Debian, estaremos utilizando um pacote do 
agente do zabbix disponibilizado pela distribuição do Debian, para facilitar você poderá 
efetuar o download deste pacote no seguinte site:
 
http://packages.debian.org/sid/i386/zabbix­agent/download 
 
Para instalação desse pacote do debian é necessária instalar a seguinte biblioteca:
 sudo apt­get install libopenipmi0

Instalando o pacote debian do agente zabbix:
 sudo dpkg ­i zabbix­agent_1.8.1­1_i386.deb

Verificando se o agente do Zabbix foi instalado corretamente:
 ps – ef | grep zabbix

Adicionando Host no Zabbix

Acesse na aba principal o link Configuração ­> Hosts ­> Criar “Host”, na tela que será 
apresentada, preencha os campos básicos:

Nome da máquina:
Nome: ia.cwbdis.pucpr.br

Servidor DNS:
DNS name: cwbdis.pucpr.br

IP da máquina:
IP: xxx.xxx.xxx.xxx

Templates: 
Linked templates: Template_Windows

  Observando   que   os   templates   definem   quais   parâmetros   serão   monitorados, 


sendo possível utilizar vários templates para monitorar o mesmo servidor, desde que 
estes não tenham conflitos entre si. Neste momento, vamos apenas utilizar um template 
básico,   “Template_Windows”,   “Template_Linux   e   Template_Standalone”,   os   dois 
primeiros são baseados em agentes, e o “Standalone” é para monitoramento simples. 
Após ter configurado o “Host”, clique em “Save”. Abra a aba “Overview” e 
verifique se o seu servidor está sendo monitorado.
4 Funcionalidades

4.1 Estudo de Caso [15]

4.1.1 Configuração do Ambiente

Para ver o funcionamento da ferramenta, foi necessário a criação deste ambiente 
na   ferramenta.   Este   ambiente   foi   criado   contendo   três   máquinas   e   um  switch.  O 
ambiente   é   simples,   porém   pode   auxiliar   no   entendimento   da   ferramenta   para   uma 
utilização   em   um   ambiente   real,   seja   ele   qual   for.   Neste   ambiente   podem   ser 
monitorados dados básicos dos servidores (como HTTPD, FTP, SSH e etc), além de 
parâmetros de gerenciamento específico de cada máquina como memória livre, espaço 
em disco e etc.
Depois de ter feito toda parte de instalação, precisa ser feito a configuração do 
sistema para o uso na rede e gerenciamento da mesma. O endereço para acesso é 
http://10.96.24.149/zabbix . Com isso aparecerá a tela de login, conforme Figura:

Figura 19 ­ Tela de Login

Por   padrão   o   usuário   'admin',   vem   com   a   senha   'admin'.   Entrando   com   este 
usuário   tem­se   o   acesso   máximo   ao   sistema,   inclusive   configurações,   ou   seja,   é 
recomendável a criação de um outro usuário para acesso e trocar da senha do usuário 
'admin'. Para uso adequado é necessário que o administrador faça a configuração do 
sistema para ter um ambiente de teste que permita obter informações de gerenciamento. 
Na tela inicial tem­se a opção “Configuração”. A partir dela podem ser vistas 
várias outras opções. A primeira coisa a ser feita (não obrigatória, mas recomendável) é 
a criação de um outro usuário. Neste caso será criado um usuário chamado 'arl' para 
verificar as informações de gerenciamento.
Figura 20 ­ Cadastro de Usuário

Pode   ser   visto   nesta   tela   que   há   informações   básicas   dos   usuários.   Neste 
momento não há a necessidade de saber as informações sobre permissões e e­mail  do 
usuário   para   envio   de   notificação.  Após   a   criação,   o   usuário   aparecerá   na   lista   de 
usuários. Agora para adicionar permissões ao usuário, é necessário clicar sobre o link 
'Alias'. Que abrirá a tela, para a inclusão da permissão definida para o usuário.

Figura 21 ­ Atribuir permissão ao usuário

Ainda na tela de usuário, se o administrador clicar na ação 'Media', será aberta 
um tela de listas de meios de notificação, ou seja, a forma de envio de alarmes para o 
usuário. Para ser adicionado um meio, é necessário clicar em 'Criar' para vermos a tela.

Figura 22 ­ Criação de Meios de Notificação

Pode ser visto que nesta tela, além de ter das informações do e­mail do usuário 
que a notificação será enviada, há também uma outra opção muito importante, que é 
quando esta ação será acionada. Neste caso tem o seguinte valor: 1­7,00:00­23:59
ou seja, isso significa que sete dias da semana e vinte e quatro horas por dia, a 
notificação poderá ser enviada. Além disso há também o nível de severidade que esta 
ação irá atender. Após feito isso, o administrador deverá trocar a senha do usuário 
'admin' para garantir uma melhor segurança no acesso a aplicação. Depois de criar 
usuários, um outro ponto importante, não só para o ambiente de teste, é a criação de 
Hosts. No menu Configuração ­­> Hosts, aparecerá um lista de todos as Máquinas 
Gerenciadas. 
Há também a opção para criar um novo Host. Nessa tela, há vários campos para 
adição de informações básicas sobre o host a ser adicionado, como: o nome, grupo, se 
tem endereço IP ou não, a porta do agente para coleta das informações, se vai ser 
monitorado ou não e por último o mais importante neste momento que é qual o molde 
(template) que este host irá seguir. É através do molde que serão adicionados os 
parâmetros gerenciados sem que o usuário tenha que criar todos os parâmetros 
manualmente.

Figura 23 ­ Cadatro de Hosts

Assim que o administrador terminar o cadastro do Host, ele aparecerá na lista de 
máquinas   gerenciadas.   Nesta   tela   poderá   ser   visualizado   os   Itens   Gerenciados,   os 
Gatilhos (triggers) e os Gráficos específicos de cada um. Os itens e gatilhos serão de 
acordo com o molde escolhido no cadastro. O cadastro de máquinas gerenciadas não 
seria muito útil visualmente, se não fosse possível ter uma visualização da rede inteira. 
Então para isso existe um cadastro de mapas, onde pode ser simulado o desenho da 
rede,   colocando   os   elementos   (máquinas,  hubs,   servidores   e   etc)   em   uma   posição 
específica do mapa. Além disso podem ser feitas conexões entre os elementos de rede 
contidos no mapa. A criação de mapas está localizada em Configuração ­­>
Mapas. Nesta tela é mostrado todos os mapas cadastrados e tem um botão 'Criar, o qual 
abrirá a tela de cadastro de mapas.
Figura 24 ­ Cadastro de Mapa

Nesta tela pode ser observado que são informações simples de cadastro como 
nome, tamanho do mapa, imagem (que ainda não tem suporte na versão 1.1beta8) e 
posicionamento  das informações  do mapa. Após ser salvo, ele aparecerá na lista de 
mapas. E para cada mapa existe um botão de Editar que permitirá a adição de máquinas 
no mapa. A Figura 25, mostra um cadastro de elementos na rede.

Figura 25 ­ Elementos Cadastrados
Após   ter   feito   o   cadastro,   já   tem­se   um   ambiente   básico   para   teste   das 
funcionalidades   e   para   o   estudo   de   caso.   Logicamente   existem   muitas   funções   de 
configurações a mais. Porém não será abordado tudo pelo simples fato de que não há a 
necessidade de entrar em tantos detalhes de configuração, pois o tempo e o trabalho não 
propõe um estudo minucioso da ferramenta. Isso poderia ficar para um estudo futuro.

4.1.2 Utilização e Estudo do Ambiente

Após a configuração básica de um ambiente de rede de  teste, pode ser visto o 
comportamento e utilização dos serviços e parâmetros gerenciados para entender melhor 
o funcionamento da ferramenta e em que ela pode nos ajudar. Inicialmente no menu 
“Monitoramento” tem­se a opção de “Resumo”, que mostra a grosso modo os estados 
baseados nas triggers de alguns serviços mostrando a cor vermelho para os casos com 
problemas e verde os casos que estão em perfeito funcionando. Com esta visão, pode 
ser   identificado   rapidamente  como  está  o  funcionamento  dos  serviços   da  rede,  pois 
mostra todos os elementos gerenciáveis da rede. A Figura 26, mostra esta tela para o 
ambiente  criado para este estudo  de caso. Pode ser percebido  que as  três  máquinas 
cadastradas na nossa rede, e que foram definidas como monitoradas, estão presentes na 
tela de resumo. 
Entretanto somente uma possui dados gerenciados reais, pois as outras não têm 
nem agente SNMP instalado, nem o servidor ZABBIX. As outras duas estão com o 
estado de “Servidor {HOST_NAME} inalcançável”, não permitindo assim a coleta das 
informações necessárias para o gerenciamento. Se tivesse nestas máquinas um agente 
SNMP,   poderia   ser   instalado   um   servidor   ZABBIX   para   coletar   todas   informações 
necessárias para a gerência. Entretanto como nestas máquinas não haviam  permissões 
de instalação, não foi possível efetuar isso.
Figura 26 ­ Resumo da Rede Gerenciada

Além do resumo, pode ser visto os últimos valores configurados para para os 
parâmetros gerenciados. O resultado é mostrado em forma de tabela contendo o nome 
do parâmetro, a última hora de verificação de mudança, o último valor e a mudança. 
Além   disso   tem­se   a   opção   de   verificar   um   Gráfico,   para   valores   numéricos   e   um 
histórico para valores não numéricos. A Figura 27 mostra melhor esta tela.

Figura 27 ­ Últimos Estados

Ao clicar no link Gráfico de algum parâmetro onde o valor seja numérico, abrirá 
uma   tela   com   um   gráfico   mostrando   a   evolução   do   valor   durante   um   determinado 
tempo. Dependendo do parâmetro, é através deste gráfico que pode ser feito uma análise 
e depois tomar decisões para solucionar problemas relacionados  ao planejamento de 
capacidade.   Por   exemplo,   se   o   parâmetro   é   relacionado   ao   uso   da   memória,   o 
administrador poderá ver se há a necessidade de colocar mais memória física. A Figura 
28 mostra um exemplo do parâmetro Memória Livre para o host 'Note_Esley'.

Figura 28 ­ Gráfico de Memória Livre

Para os casos de valores numéricos, em vez de um gráfico, é mostrado um 
histórico de mudança de valores do parâmetro desejado. A Figura29 mostra um 
exemplo.
Figura 29 ­ Histórico de Ítens

Além disso há as triggers, que nada mais são que os alarmes disparados pelos 
servidores notificando o administrador da ocorrência de um erro. É uma amostragem 
mais detalhada do que foi visto na tela de resumo. Neste ponto é tratado uma das áreas 
mais importantes da gerência de rede que é a Gerência de Falhas. Nesta tela é mostrado 
todos os erros, os seus estados, nível de severidade, data e hora da ocorrência e dois 
links. O primeiro significa que o usuário está ciente do erro e faz o reconhecimento, 
como por exemplo: “Estou ciente do problema e estou tomando as medidas cabíveis” e 
o segundo é somente a adição de comentários. Além das informações básicas mostrada 
acima, o administrador pode também mostrar mais detalhes como o parâmetro referente 
ao erro e as ações a serem tomadas caso essa trigger seja verdadeira. Na Figura 30 pode 
ser visto que tem­se quatro erros para a máquinas 'Note_Esley' e um erro para cada uma 
das outras duas máquinas.

Figura 30 ­ Estado das Triggers

Hoje em dia toda ferramenta que trate o mínimo que seja relacionado a 
segurança e controle dos dados, tem um módulo de auditoria, ou seja, um módulo que 
armazene toda ação feita no sistema por qualquer usuário a fim de mudar algum valor, 
cadastrar algum host e etc. A auditoria de sistemas, auxilia muito um administrador de 
redes a saber se alguém, e quem fez a alteração em um determinado dado. É um módulo 
muito poderoso na ajuda de controle das informações e segurança dos dados do sistema.
Figura 31 ­ Auditoria das Informações

Outro ponto bem interessante é a usabilidade do que foi feito na configuração, 
que é o cadastro de mapas. É bem interessante a possibilidade de ser ver o mapa da 
rede, com informações dos elementos, inclusive os erros encontrados em cada um. É 
uma outra forma de representar o que é visto no resumo, porém de uma maneira mais 
amigável.

Figura 32 ­ Mapa de Rede
Diferente de antes que havia quatro erros no host 'Note_Esley', agora têm­se três, 
e isso também é visível no mapa da rede. Foi resolvido um dos erros porque foi 
inicializado o serviço de FTP. Se o elemento de rede for clicado, será mostrada a 
visualização dos parâmetros gerenciados.
Outra função que pode auxiliar o administrador de rede a tomar decisões para 
melhorar o funcionamento da rede, é a visualização de relatórios. Alguns relatórios 
estão disponíveis e podem ser vistos em Relatórios ­­> Relatórios Disponíveis. A Figura 
33 mostra a tela de relatórios que podem ser usados.

Figura 33 ­ Relatórios Disponíveis

Pode ser visto que para o serviço de FTP, quase 50% do tempo em que foi feito 
o gerenciamento dos hosts o serviço ficou parado, o que pode não ser uma boa notícia, 
pois pode estar acontecendo algum problema com o serviço, que não era o caso da 
máquina 'Note_Esley', porque o serviço realmente estava parado. Então neste ponto, 
pode ser identificado a disponibilidade do serviço, ou se houve alguma mudança de 
estado. Se o administrador clicar no link Show de algum relatório disponível, aparecerá 
em forma de gráficos o relatório informando a porcentagem referente a cada estado 
possível do item. A Figura seguinte mostra um exemplo para o relatório que mostra se o 
arquivo /etc/passwd foi alterado.
Figura 34 ­ Relatório

Pode ser notado até aqui um caso de uso de uma ferramenta poderosa no auxílio 
de gerência de redes. Foram mostradas algumas funcionalidades que foram usadas na 
rede de teste criada para um estudo de caso para mostrar e analisar como está o 
andamento da rede. Entretanto existem muitas outras funcionalidades que não foram 
mostradas aqui. Mas para aprender mais sobre a ferramenta ZABBIX, é recomendável 
acessar o site da ferramenta.
Bibliografia

[1] http://www.zabbix.com/
[2] http://www.zabbix.com/download 
[3] http://www.gouvea.net/zabbix.html 
[4] http://wendelneves.wordpress.com/2009/06/17/instalando­o­zabbix­no­ubuntu/ 
[5] http://linux.eduardosilva.eti.br/parte_ii_instalando_e_rodando_o_zabbix 
[6] http://br­linux.org/2009/monitoramento­facil­com­zabbix/ 
[7] http://linux.eduardosilva.eti.br/monitoramento­facil­com­zabbix 
[8] http://www.vivaolinux.com.br/artigo/Instalacao­do­Zabbix­1.6­no­CentOS­5?
pagina=4
[9] http://packages.debian.org/sid/i386/zabbix­agent/download 
[10] http://www.google.com.br 
[11] http://www.ppgia.pucpr.br/~jamhour/RSS/TCCRSS08A/Raphael%20Celuppi%20­
%20Artigo.pdf 
[12] http://www.linux­magazine.com.br/images/uploads/pdf_aberto/LM24_zabbix.pdf 
[13] http://www.lsl.dcc.ufmg.br/documentacao/doc_download/117­ferramenta­de­
monitoramento­de­redes­zabbix.html 
[14] http://www.ataliba.eti.br/files/txts/zabbix.pdf 
[15] http://www.ginux.ufla.br/files/mono­EsleyBonomo.pdf

Você também pode gostar