You are on page 1of 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. 2. Introduo .................................................................................................................................. 3 Descrio do Contexto ............................................................................................................ 3 2.1. 2.2. 2.3. 2.4. 3. Motivao do Projeto ....................................................................................................... 3 Escolha da Ferramenta ................................................................................................... 3 Objetivos ............................................................................................................................ 6 Objetivos Especficos....................................................................................................... 7

Descrio do Projeto ................................................................................................................ 8 3.1. 3.2. Diagrama de Blocos ......................................................................................................... 8 Descrio do Diagrama de Blocos ................................................................................ 9

4. 5.

Procedimentos de Teste e Avaliao .................................................................................. 15 Concluso ................................................................................................................................ 20

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.

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.

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.

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 pagina web do servidor

Configuraes dos alertas

Alertas configurados e funcionando

Figura 1

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 software servidor e pagina web

Executar a compilao/instalao do software no servidor e configurao da pgina web para acesso dos 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 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 Linux / Download cliente Windows

Servidor e pagina web funcionando corretamente

Executar a compilao do cliente Linux com os cdigos 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 padro do cliente

Etapa ande ser editado um arquivo de configurao 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

Instalao do cliente na maquina host

Com o executvel do agente Linux ou Windows, enviar 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/.

Cliente executa com sucesso

Checar se o cliente executa corretamente, caso positivo ir a prxima etapa caso no, voltar etapa de 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 zabbix 5328 0.0 0.0 4512 548 ? 5331 0.1 0.0 4512 848 ? SN Sep23 0:00 /usr//bin/zabbix_agentd SN Sep23 8:27 /usr/bin/zabbix_agentd

Cliente se comunicando com servidor

Checar no servidor se o cliente est se comunicando com sucesso com o servio servidor caso positivo ir a 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 adicionar no grupo e configurar as permisses de acesso. A configurao est disponvel conforme exemplificado na Figura 2:

Configurao do host na pagina web do servidor

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

Configuraes dos alertas

Configurao dos itens a serem monitorados e alertas a 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. Forar uma situao no servidor para simular o envio de e-mail em um caso real.

Alertas configurados e funcionando

Necessrio adicionar um novo host

Verificar a necessidade de adicionar um novo host caso sim voltar etapa de instalao do cliente no 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