Você está na página 1de 23

Implantao do Zabbix para monitoramento de infraestrutura

Raphael Celuppi

Curso de Especializao em Redes e Segurana de Sistemas

Pontifcia Universidade Catlica do Paran

Curitiba, Setembro 2009


Sumrio
1. Introduo .................................................................................................................................. 3
2. Descrio do Contexto ............................................................................................................ 3
2.1. Motivao do Projeto ....................................................................................................... 3

2.2. Escolha da Ferramenta ................................................................................................... 3

2.3. Objetivos ............................................................................................................................ 6

2.4. Objetivos Especficos....................................................................................................... 7

3. Descrio do Projeto ................................................................................................................ 8


3.1. Diagrama de Blocos ......................................................................................................... 8

3.2. Descrio do Diagrama de Blocos ................................................................................ 9

4. Procedimentos de Teste e Avaliao .................................................................................. 15


5. Concluso ................................................................................................................................ 20

2
1. Introduo
Esse artigo tem como objetivo descrever de maneira clara e objetiva a
implantao do sistema Zabbix, uma ferramenta de monitoramento de
infraestrutura de cdigo aberto com suporte a monitorar uma infinidade de
aplicaes, servidores e equipamentos de rede. Foi escolhido o Zabbix como
ferramenta, pois foi a que apresentou uma soluo mais completa para o
monitoramento de um ambiente bastante heterogneo, com suporte a monitorar
tanto servidores por agentes prprios e por SNMP v1,v2 e v3, tambm utilizado
para monitorar dispositivos de rede, por sua rpida curva de aprendizagem,
gerenciamento centralizado e armazenamento em banco de dados.

2. Descrio do Contexto
2.1. Motivao do Projeto
Precisaramos em nossa estrutura de uma ferramenta capaz de monitorar diversos
hosts e equipamentos diferentes como Windows, Linux, BSDs, Unix e
equipamentos de redes utilizando o protocolo SNMP e algumas aplicaes como
WEB, Oracle entre outros, essa ferramenta teria que armazenar essas
informaes por um perodo programado, possuir uma interface web simples de
ser gerenciados com controles de acesso, logs de auditoria para garantir a
confiabilidade das informaes, nveis de alertas com sistema de notificao
personalizvel.

2.2. Escolha da Ferramenta


O Zabbix [1] foi comparado a algumas ferramentas open source de monitoramento
de infraestrutura como o Nagios [2] e o Cacti [3], cujo quais so excelentes
ferramentas mas que no possui uma sute completa de ferramentas como
Zabbix, que possui tanto uma interface de monitoramento e alerta em tempo real
excelente como o Nagios e tambm possui histrico de informaes e grficos
iguais ao do CACTI nos trazendo assim o melhor das duas ferramentas mais
utilizadas atualmente em uma.

Segue abaixo as funcionalidades de cada ferramenta:

Nagios:

Monitoramento de aplicao, servios, sistemas operacionais e


componentes de infraestrutura.

API para desenvolvimento de sistemas customizados.

Cliente proprietrio

3
Suporte ao protocolo SNMP.

Viso centralizada de todos os sistemas monitorados.

Informaes detalhadas dos componentes monitorados na interface WEB.

Rpida deteco de problemas na infraestrutura.

Alertas via e-mail e SMS.

Alertas customizveis, para o envio diretamente a pessoa responsvel.

Base de conhecimento para problemas com solues conhecidas.

Configuraes de eventos para aes pr-configuradas, como reiniciar o


servio com problema.

Planejamento de infraestrutura para o acompanhamento do envelhecimento


do parque tecnolgico.

Paradas programadas, para o sistema no enviar alertas nesses perodos.

Relatrios para o acompanhamento dos SLAs.

Histricos de envio de alertas e notificaes.

Suporte a plugins de terceiros.

Multiusurio web com nveis de acessos.

Cacti:

Numero ilimitado de grficos por host.

Envio de alertas via e-mail e script personalizado.

Armazenamento configurvel de histricos.

Rpido resequenciamento dos itens grficos.

Suporte completo ao RRDTOOL.

Suporte ao protocolo SNMP.

Modelos grficos pr-configurados.

Gerenciamento totalmente web.

4
Multiusurio web com nveis de acessos.

Zabbix:

Gerenciamento centralizado

Acesso centralizado as informaes

Numero ilimitado de proxies.

Monitoramento em tempo real.

Monitoramento de alertas para disponibilidade, integridade, entre outros.

Alertas via e-mail, SMS, mensagem instantnea e via script configurado.

Log de auditoria.

Visualizao via abas web e mapas.

Execuo de comandos remotos.

Suporte a servios de TI hierrquicos.

Relatrios em tempo real de SLAs.

Facilidade de integrao 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 pginas WEB.

Suporte a qualquer plataforma.

Suporte ao protocolo SNMP.

Agente prprio de alta performance.

Rpida curva de aprendizagem.

Multiusurio web com nveis de acessos flexveis.

5
2.3. Objetivos
Com a implantao da ferramenta Zabbix em nosso ambiente, temos como foco
atingir os objetivos:

O monitoramento da infraestrutura.

Armazenamento de histrico do status do sistema para possveis analise


em caso de problemas que ocorram no perodo em que a empresa no
possua um tcnico disponvel para atender o incidente.

Relatrios para acompanhamento de disponibilidade do ambiente.

Relatrios gerenciar para acompanhamento do SLA de aplicaes vitais.

Todos esses dados devem ser monitorados e o sistema deve enviar alertas em
faixas diferentes de prioridade, cujo qual foi definido como as prioridades padres
do Zabbix que so, sendo a primeira menos prioritria e a ultima mais prioritria:

No classificada

Informao

Advertncia

Mdio

Alto

Desastre

Esses nveis sero utilizados para definir cada tipo de incidente que ocorra na
infraestrutura, esse incidente poder acionar um ou mais gatilhos que executara
uma ao pr-configurada, que pode variar apenas de enviar um e-mail como
executar um comando remoto.

Como objetivo geral da implantao dessa ferramenta, queremos estabelecer


altos nveis de qualidade do servio oferecidos a clientes e colaboradores,
definindo SLAs e oferecer relatrios confiveis que comprovem a disponibilidade
e confiabilidade de nossa infraestrutura.

6
2.4. Objetivos Especficos
Com a implantao da ferramenta de monitoramento, temos o objetivo de garantir
o comprimento de SLAs e relatrios especficos para medio de performance de
rede e de aplicaes, se fazendo necessrio relatrios com os seguintes itens:

Utilizao de rede do host por interface de rede, para monitoramento de


performance de rede.

Utilizao de disco rgido por host, para projeo de utilizao de disco


rgido.

Utilizao de CPU, para diagnstico de performance.

Utilizao de Memria, para diagnstico de performance.

I/O de disco rgido, para diagnstico de performance.

Delay de ping do host, para diagnstico de performance e comprimento de


SLA.

Monitoramento de acesso a aplicaes WEB com tempo de carregamento


de pgina, com suporte a configuraes de cenrios de acesso, para
monitoramento de SLAs de aplicao.

Monitoramento de hash de arquivos, para detectar alteraes no


autorizadas de arquivos.

Acesso a histrico de alertas emitidos, para fins histricos.

Relatrio de acionamento dos gatilhos (triggers), para fins histricos.

Relatrio de disponibilidade dos hosts, por perodo configurvel, para


monitoramento de SLA.

Grficos dos dados monitorados por perodo configurvel, para relatrios


gerenciais.

Monitoramento do tempo para se estabelecer uma conexo TCP, para


comprimento de SLA.

Histrico de todas as aes executadas pelo sistema de monitoramento e


pelos usurios nele cadastrado, para fins de auditoria.

7
3. Descrio do Projeto
3.1. Diagrama de Blocos
A implantao inicial de o sistema ira seguir o seguinte diagrama [Figura 1]:

Documentao do Projeto

Instalao e configurao do
software servidor e pagina
web

NO

Servidor e pagina web


funcionando corretamente

SIM

Compilao do Cliente para


Linux / Download cliente
Windows

Criao da configurao
padro do cliente

NO

Instalao do cliente na
maquina host

SIM
NO Implantao do projeto
concluida

Cliente executa com


sucesso

NO

SIM

Necessrio adicionar um
novo host
Cliente se comunicando
com servidor

SIM

SIM NO

Configurao do host na Alertas configurados e


Configuraes dos alertas
pagina web do servidor funcionando

Figura 1

8
3.2. Descrio do Diagrama de Blocos
Abaixo temos uma tabela descrevendo cada bloco do diagrama.

Confeco do documento do projeto.


Documentao do Projeto

Instalao e configurao do Executar a compilao/instalao do software no


software servidor e pagina servidor e configurao da pgina web para acesso dos
web
administradores e usurios.

Nesse projeto ser utilizado um servidor com o sistema


operacional Linux Red Hat AS 4
(http://www.redhat.com/rhel/server/advanced/ ,
09/2009), banco de dados Mysql 5
(http://www.mysql.com , 09/2009), servidor web Apache
2 (http://httpd.apache.org/docs/2.0/ , 09/2009) com PHP
5.2 (http://www.php.net , 09/2009), e o Zabbix 1.6.6
(http://zabbix.org/rn1.6.6.php , 09/2009).

Hardware uma maquina com processador de dois


ncleos Intel Xeon CPU 3.00GHz, 8GB de RAM e
disco SCSI com capacidade de 60GB.

A instalao e compilao do Zabbix sero feitas


conforme indicado no manual fornecido pelo
desenvolvedor no link
(http://www.zabbix.com/downloads/ZABBIX%20Manual
%20v1.6.pdf , pag. 42, 09/2009).

Nos testes executados foi verificado que o ideal


compilar o Zabbix Server, com a opo --enable-static
para ser compatvel com o maior nmero de
distribuies Linux, pois compila o executvel com as
bibliotecas necessrias, exceto se o sistema for Solaris
que ser necessrio compilar o cliente num sistema
operacional Solaris.

Para a instalao da pgina WEB necessrio copiar a


pasta frontends/php do diretrio de instalao para o
diretrio padro de pginas WEB do Apache

9
(geralmente /var/www).

Verificao do servidor e pgina web, caso todos


funcionando corretamente ir para a prxima etapa e se
Servidor e pagina web
funcionando corretamente no voltar etapa anterior.

Para checar o funcionamento da pgina web acessar o


endereo HTTP://IP.DO.SERVIDOR/PASTA , ser
necessrio tambm ter em mos os dados de acesso ao
banco de dados Mysql, se esse foi escolhido na etapa
de compilao, aps o primeiro acesso a pagina aonde
configurado os dados finais, checar se a pgina
acessa normalmente.

Compilao do Cliente para Executar a compilao do cliente Linux com os cdigos


Linux / Download cliente
Windows fontes do Zabbix e fazer do download cliente Windows.

O download do cliente do agente Zabbix para Windows


pode ser feito em http://www.suiviperf.com/zabbix/ ,
aonde est disponvel tambm o manual de instalao e
configurao.

A compilao do agente Zabbix para Linux feita a


partir do cdigo fonte, cujo qual foi feito o download na
etapa de compilao do agente servidor. Dentro da
pasta do Zabbix executar o procedimento descrito no
manual
(http://www.zabbix.com/downloads/ZABBIX%20Manual
%20v1.6.pdf , pag. 52, 09/2009), o agente ficara
disponvel no caminho
src/zabbix_agent/zabbix_agentd e o arquivo de
configurao exemplo ficara disponvel no caminho
misc/conf/zabbix_agentd.conf.

Criao da configurao
Etapa ande ser editado um arquivo de configurao
padro do cliente padro para o agente cliente do Zabbix, que deve ter
poucas alteraes para se incluir um novo host.

Com o arquivo exemplo de configurao disponvel no


caminho (misc/conf/zabbix_agentd.conf).

Sero editados os seguintes parmetros de


configurao:

10
#Colocar o IP/HOSTNAME do servidor na linha
abaixo #no lugar de 127.0.0.1

Server=127.0.0.1

#Descomentar a linha abaixo

EnableRemoteCommands=1

#Na linha abaixo dever ser colocado o hostname


da
#maquina cliente

Hostname=Hostname_cliente

Com o executvel do agente Linux ou Windows, enviar


Instalao do cliente na
maquina host ao host e fazer as devidas alteraes no arquivo de
configurao.

Para a instalao na maquina cliente sempre dever ser


criado o usurio zabbix no sistema por questes de
segurana, caso contrario o agente do Zabbix ser
executado com usurio que executou a inicializao do
agente.

Alterar a linha Hostaneme=Hostname_cliente do


arquivo zabbix_agentd.conf e copiar para a pasta
/etc/zabbix/ o binrio zabbix_agentd pode ser colocado
no caminho /usr/bin/.

Checar se o cliente executa corretamente, caso positivo


ir a prxima etapa caso no, voltar etapa de
Cliente executa com
sucesso compilao do cliente.

Para testar o cliente executar ele com a linha abaixo:

$ /usr/bin/zabbix_agentd

E verificar se o agente est rodando

$ ps aux | grep zabbix_agentd

11
O retorno dever ser mais ou menos assim:
zabbix 5328 0.0 0.0 4512 548 ? SN Sep23 0:00 /usr//bin/zabbix_agentd

zabbix 5331 0.1 0.0 4512 848 ? SN Sep23 8:27 /usr/bin/zabbix_agentd

Checar no servidor se o cliente est se comunicando


com sucesso com o servio servidor caso positivo ir a
Cliente se comunicando
com servidor prxima etapa caso no voltar para a criao da
configurao do cliente.

Executar um tail no arquivo de log do cliente para


checar se ouve algum erro de configurao do sistema.

$ tail -f /tmp/zabbix_agentd.log

Configurar o host cliente na pgina servidor como


Configurao do host na adicionar no grupo e configurar as permisses de
pagina web do servidor
acesso.

A configurao est disponvel conforme exemplificado


na Figura 2:

Figura 2

No campo Nome digita o apelido do host:

Figura 3

No campo Grupos adicione o host num grupo ou em


vrios grupos especficos, isso facilita na administrao
de permisses de acesso aos hosts.

12
Figura 4

Utilize o campo Novo Grupo caso queira criar um novo


grupo rapidamente para esse host.

Figura 5

Os campos Nome DNS o hostname completo para


acesso do host, o campo Endereo IP o endereo IP
do host e o Conectado a deve ser marcado como o
Zabbix Server acessara a maquina, resolvendo o Nome
DNS ou diretamente por IP.

Figura 6

A opo Associar a Template, aonde se vincula o host


a um grupo de itens a serem monitorados

Figura 7

OBS: Os templates podem ser acessados, alterado a


opo host por Templates na tela dos Hosts.

13
Figura 8

Configurao dos itens a serem monitorados e alertas a


Configuraes dos alertas
serem enviados.

Os alertas so configurados na aba Aes conforme


Figura 9:

Figura 9

Informaes mais detalhadas de configurao do alertas


podem ser encontrados na pagina 151 no manual do
Zabbix.

Executar um teste com o sistema de monitoramento e


alerta para checar seu correto funcionamento.
Alertas configurados e
funcionando
Forar uma situao no servidor para simular o envio de
e-mail em um caso real.

Verificar a necessidade de adicionar um novo host caso


sim voltar etapa de instalao do cliente no host.
Necessrio adicionar um
novo host

14
Implantao do projeto concludo com sucesso.
Implantao do projeto
concluida

4. Procedimentos de Teste e Avaliao

Foi definido um procedimento de testes, aonde foram includos 68 hosts (entre


servidores Linux/Windows, switch e equipamentos de redes), com Templates de
monitorao diferentes tendo um total de 3328 itens monitorados.

Foram escolhidos os hosts mais diversificadamente possvel, afim de testar todos


os componentes de software.

Figura 10

Os Templates foram alterados para capturar os dados do sistema a cada 300


segundos (5 minutos), visto que por padro a maioria dos dados capturado a
cada 30 segundos gerando uma carga excessiva no servidor Zabbix e no banco
de dados Mysql.

Na Figura 11com os dados dos ltimos 7 dias podemos ver que com o numero de
hosts atuais o Zabbix gera uma quantidade de em mdia 165 queries SQL por
segundo:

15
Figura 11

Gerando um load 15 na maquina de em mdia 1, conforme demonstra a Figura 12:

Figura 12

16
Foi monitorada tambm a utilizao de memria [Figura 13], rede [Figura 14] e disco
[Figura 15]:

Figura 13

Figura 14

17
Figura 15

Conclumos com os grficos [Figura 13],[Figura 14] e [Figura 15] que ser necessria
a utilizao de uma maquina com processador de quatro ncleos para atingirmos
os 120 hosts necessrios com folga de processamento para futura ampliao dos
hosts e o restante do hardware o suficiente para atender as necessidades.

Os testes de funcionalidades de software tambm foram executados com sucesso,


aonde os alertas configurados foram enviados com sucesso ao grupo de usurios
configurado, segue abaixo um exemplo do e-mail enviado:

-----Mensagem original-----
De: zabbix@xxxxxxpr.com.br [mailto:zabbix@xxxxxxpr.com.br] Enviada em: tera-feira, 29 de
setembro de 2009 14:31
Para: FDPR-INFO-Carlos Alxxxxx Hxxxxxx
Assunto: uni975dw: Processor load is too high on uni975dw: OK

Processor load is too high on uni975dw: OK

Ultimo valor:
9.23

18
A Figura 16 demonstra o relatrio dos ltimos 20 incidentes gerados e ao lado o
numero de aes gerada.

Figura 16

Tambm foi possvel monitorar nossos sistemas web, com a utilizao da


funcionalidade do Zabbix que permite monitorar cenrios web, a Figura 17
demonstra um exemplo de relatrio de cenrio web.

Figura 17

19
Na Figura 18 podemos ver o relatrio de auditoria que o Zabbix disponibiliza para
garantir a integridade das informaes:

Figura 18

5. Concluso
Como resultado de todos os estudos realizados nesse projeto, conclumos que o
Zabbix atende a todos os requisitos do projeto e agrega mais valor a infraestrutura
atual da nossa empresa, nos auxilia no comprimento de todos os nossos contratos
SLAs, cria relatrios gerenciais confiveis, entre outras funes.

O nico ponto mais negativo encontrado foi que o Zabbix desenvolvido por uma
empresa privada com fins lucrativos, podendo descontinuar o desenvolvimento do
produto a qualquer momento, alem do suporte tambm ser pago caso necessrio,
mas por ser open source acredita-se que o desenvolvimento se continuara pela
comunidade open source.

Com a implantao do Zabbix em nossa infraestrutura, teremos melhores


condies de agir de maneira pr ativa nos problemas que possam acontecer de
rede, assim como manter um histrico de toda nossa infraestrutura afim de
diagnsticos posteriores tanto como para fins de auditoria . Monitorando
rapidamente nossos contratos de SLA assim garantindo um atendimento eficiente
e a satisfao dos nossos clientes.

20
Fica indicado implantao da funcionalidade do Zabbix abrir incidentes
diretamente no software de controle de incidentes utilizado pela empresa RITM via
script, indicamos tambm em caso de ampliao dos nmeros de hosts
monitorados a separao do banco de dados do agente servidor do Zabbix.

21
ndices de Figuras

Figura 1 .............................................................................................................................................. 8

Figura 2 ............................................................................................................................................ 12

Figura 3 ............................................................................................................................................ 12

Figura 4 ............................................................................................................................................ 13

Figura 5 ............................................................................................................................................ 13

Figura 6 ............................................................................................................................................ 13

Figura 7 ............................................................................................................................................ 13

Figura 8 ............................................................................................................................................ 14

Figura 9 ............................................................................................................................................ 14

Figura 10 .......................................................................................................................................... 15

Figura 11 .......................................................................................................................................... 16

Figura 12 .......................................................................................................................................... 16

Figura 13 .......................................................................................................................................... 17

Figura 14 .......................................................................................................................................... 17

Figura 15 .......................................................................................................................................... 18

Figura 16 .......................................................................................................................................... 19

Figura 17 .......................................................................................................................................... 19

Figura 18 .......................................................................................................................................... 20

22
Referencias Bibliogrficas

[1] http://www.zabbix.com (09/2009)

[2] http://www.nagios.org (09/2009)

[3] http://www.cacti.net (09/2009)

[4] http://www.zabbix.com/downloads/ZABBIX%20Manual%20v1.6.pdf (09/2009)

23

Você também pode gostar