Escolar Documentos
Profissional Documentos
Cultura Documentos
INSTITUTO DE INFORMTICA
CINCIA DA COMPUTAO
Taisy Weber
Orientador
Agradeo ao meu pai, me e irmo, por todo o apoio e carinho durante toda a minha
vida e, em especial, nessa mais breve realizao.
A todos os meus familiares que, uns mais perto, outros mais longe, todos mostraram
confiana no meu trabalho.
A todos os meus amigos de dentro da faculdade, em especial aos do time QCB por
todo os momentos felizes passados juntos. Iremos em busca de mais campeonatos!
A todos os meus colegas de trabalho da Dell pelo entendimento da importncia desse
momento. Em especial aos meus colegas Hulbe, Lilyan e Araray pela ajuda na elaborao
do tema e conceitos.
orientadora Taisy, por toda a ajuda, preocupao e ateno dedicados nesse ltimo
semestre.
Tambm agradeo UFRGS, por todo o ensino de excelente qualidade disponibilizado
durante esses ltimos 5 anos.
Muito obrigado a todos. Vocs fizeram e fazem um papel muito importante na minha
vida e foram essenciais para a concluso deste trabalho.
SUMRIO
O uso da Internet vem crescendo cada vez mais nos ltimos anos. Estamos chegando
em um nvel que nos acostumamos com os erros cada vez mais comuns de serem vistos
nos sites e das mais variadas empresas. Para lutar contra isso, necessrio o investimento
em ferramentas de monitorao para detectar os problemas antes que o usurio perceba
que existe algo errado.
O objetivo deste trabalho avaliar e comparar trs ferramentas de monitorao de
cdigo aberto: Zabbix, Nagios e Zenoss. O mercado de ferramentas livre tambm vem
crescendo muito e esse um mercado a ser explorado e analisado com cuidado. Ter em
mos softwares gratuitos que so capazes de disponibilizar todos os recursos necess-
rios para efetivar uma monitorao precisa e simples um ponto que poder facilitar o
desenvolvimento de qualquer empresa.
Sero avaliados aqui os mais variados pontos de cada uma das ferramentas escolhidas.
Ser feita uma anlise desde o nvel de funcionamento de rede, passando pela documen-
tao existente, interface grfica e configurao da ferramenta. O objetivo ter certeza
que todas elas so capazes de efetuar as tarefas bsicas de uma monitorao com sucesso
e, ainda, compar-las para indicar qual se sobressai em cada critrio observado.
Tambm sero efetuados estudos de casos prticos onde cada uma das ferramentas
ser aplicada em um ambiente virtual para que sejam efetuadas medies de performance,
facilidade de uso e capacidade das ferramentas.
De uma maneira geral, a ferramenta Zabbix mostrou ser a mais completa de todas,
incluindo um bom poder computacional com uma interface bastante boa. O Nagios no
tem muito foco na interface mas provou ser bastante adaptvel ao facilitar o desenvolvi-
mento de plugins. Pode ser observado que o Zenoss teve um grande investimento na sua
interface grfica, que pareceu ser o foco para essa ferramenta.
ABSTRACT
The use of Internet has been growing more and more in last years. We are reaching
a level which we are getting used to each time more common errors are being seen in
the websites of most varied companies. To fight against that, it is necessary to invest in
monitoring tools to detect problems before the user realizes there is something wrong.
The goal of this work is to analyse and compare three open source monitoring tools:
Zabbix, Nagios and Zenoss. The market of free tools is also growing a lot and this is a
market to be explored e analysed carefully. To have in hands free softwares that are capa-
ble of make available all resources necessary to make an accurate and simple monitoring
is a point that will make easier the development of every company.
The most varied aspects of the chosen tools will be validated here. It will be done an
analysis of since the behaviour in the network side, going to the existing documentation,
graphic interface and tool configuration. The goal is to make sure all of them are capable
of, with success, provide basic tasks of a monitoring and, still, compare them to indicate
which of them will be best in each observed criteria.
It will also be done case studies in which each tool will be applied to a virtual envi-
ronment so that it will be possible to measure performance, ease of use and capacity of
the tools.
In a global way, the tool Zabbix was the one that showed to be more complete, in-
cluding a good computation power with a very nice interface. Nagios does not have a big
focus on the interface but has proven to be very adaptable by making easier the develop-
ment of plugins. It was also possible to observe that Zenoss had a great investment on its
graphic interface, which seems to be the focus for this tool.
1 INTRODUO
O constante crescimento da utilizao da Internet em todo o mundo faz com que, cada
vez mais, seja necessrio ter uma ateno especial s aplicaes e servidores das empre-
sas. A monitorao faz um papel essencial para que os clientes tenham uma experincia
livre de problemas acontecendo nas mquinas e aplicaes da empresa.
O mercado de ferramentas de cdigo aberto vem crescendo muito nos ltimos anos
(URLOCKER, 2009). Isso mostra o grande impulso que as ferramentas de monitorao
livres esto tendo no mercado.
1.1 Motivao
O tema do trabalho foi escolhido pois segue a linha de atividades profissionais do
autor. Trabalhar no setor de monitorao de uma grande empresa da rea de IT um
grande incentivo.
Foram escolhidas 3 ferramentas de cdigo aberto para serem analisadas: Zabbix, Na-
gios e Zenoss. Essas trs ferramentas tambm esto sendo analisadas na empresa do autor
e isso favoreceu sua escolha.
A opo por usar ferramentas de cdigo livre pela facilidade de mudana que elas
apresentam. So ferramentas que, se houver um estudo sobre a melhor maneira de usar
cada uma delas, podem desempenhar um grande papel na monitorao de uma empresa.
1.2 Objetivos
O principal objetivo analisar alguns critrios que so considerados essenciais para
uma ferramenta de monitoramento, de acordo com o autor. Facilitar a escolha entre essas
trs ferramentas uma vez que se conheam as necessidades.
Tambm um objetivo identificar oportunidades de melhorias nessas ferramentas.
Como todas elas so de cdigo aberto, isso poderia ser uma realidade plausvel.
Ao final, analisar comparativamente as trs ferramentas e chegar a concluso de qual
delas a mais completa. No ser feita nenhuma anlise voltada a alguma aplicao para
manter a investigao o mais genrica possvel.
2 CONCEITOS BSICOS
2.1 Servidor
Um servidor de rede um computador designado para processar requisies e entre-
gar dados para outro (chamado cliente) computador em uma rede local ou na internet.
Servidores normalmente so configurados com capacidades adicionais de processamento,
memria e disco para serem capazes de lidar com a carga gerada pelos clientes. Tipos
comuns de servidores em rede incluem:
Servios de Internet (lojas virtuais, redes sociais, entretenimento digital, ...);
Jogos online;
Bancos de Dados.
Na maioria dos casos, um servidor um computador fsico, apesar do crescimento
da utilizao de mquinas virtuais (servidor virtualmente alocado em outro, consumindo
seus recursos). Em grandes empresas, existem muitos servidores co-existindo, o que
faz com que seja necessrio utilizar tcnicas para evitar problemas fsicos (dissipao de
calor, sujeira e outros).
2.2 Monitorao
Monitorao a observao e gravao regular de atividades acontecendo em um
servidor remoto (em rede) ou local (fsico) (COLLECTIVE, 2012). um processo de
constante coleta de informaes em muitos aspectos diferentes. Monitorar checar o
22
Analisar informaes;
Para uma boa monitorao, essencial que exista uma ferramenta de monitorao
com uma boa capacidade de processamento de informaes. Uma habilidade importante
a capacidade de se gerar alertas, a partir da definio de limiares (chamados thresholds)
(BALIS et al., 2002).
Em algumas empresas, existem times de profissionais dedicados exclusivamente
monitorao. As pessoas que trabalham nesse time, na rea de suporte das empresas,
so as responsveis por resolver os problemas que acontecem nos servidores e que foram
detectados pela monitorao.
Para que times assim consigam trabalhar com eficincia, de extrema importncia
que a ferramenta possua um dashboard. Dashboard um painel que mostra o estado de
todos os monitores configurados.
utilizao das ferramentas, tendo que checar manualmente todos os monitores. Isso seria
extremamente custoso.
Um dos pontos crticos na hora de se definir um alerta a escolha de um valor limiar
(threshold). Ele ser o valor comparado com uma expresso, calculada periodicamente
para verificar o estado do monitor. Existem tambm monitores que no so apenas nu-
mricos. Um monitor pode ser usado para checar se uma determinada URL abriu corre-
tamente ao procurar na pgina por uma frase ou palavra. Como o foco deste trabalho est
na monitoria dos servidores, esse tipo de monitoria ser deixado de lado.
crucial que a escolha do valor limiar de alerta de um monitor seja bem feita. Sendo
feita uma escolha errada, o monitor poder concluir que existe um problema quando no
existe (situaes de falso-positivo). A situao contrria tambm deve ser cuidada. No
se pode relaxar muito no valor e chegar ao ponto em que haja um problema mas o monitor
determina que est tudo bem (falso-negativo).
Uma utilidade interessante de uma ferramenta de monitorao a possibilidade de
possuir um threshold dinmico. Um exemplo seria, ao invs de ter um nmero fixo, cal-
cular esse nmero a cada checagem para ver se o monitor deve alertar. Isso facilitaria a
adaptabilidade do monitor a mudanas permanentes no ambiente monitorado (um exem-
plo seria uma expanso do site, o que aumentaria o trfico nas mquinas). Infelizmente,
nenhuma das ferramentas aqui estudadas permite a utilizao de valores limiares dinmi-
cos nativamente.
2.2.3 Dashboard
Quando no for possvel a gerao de alertas, imprescindvel a presena de um
dashboard. Isso seria um painel que facilitaria a visualizao dos monitores e o estado
de cada um deles. Mesmo havendo a gerao de alertas, muito importante que haja um
lugar em que o usurio das ferramentas (pessoa que recebe os alertas) possa verificar se o
problema continua acontecendo.
muito importante que haja uma clara separao entre quais monitores esto com
problema e quais esto indicando um funcionamento correto do sistema. Isso facilitaria
as decises das pessoas responsveis por cuidar das aplicaes sendo monitoradas.
Ainda existem os casos em que a gerao de alertas no ocorre propriamente. Nesses
casos, as pessoas responsveis por cuidar dos alertas devem ficar atentas nos painis para
garantir que no existe nenhum monitor alertando sem que tenha algum trabalhando nele.
2.3 Protocolos
Aqui ser vista a maneira como cada um dos protocolos (SNMP, SSH, Telnet, JMX
e WMI) funciona a nvel de rede. Qual tipo de informao eles permitem verificar ou
acessar tambm ser um ponto importante a ser abordado.
2.3.1 SNMP
O SNMP (Simple Network Management Protocol) um protocolo para gerncia de
redes. Ele usado para coletar informaes, e at mesmo ajustar configuraes, de dispo-
sitivos ligados em rede, como servidores, impressoras, roteadores em uma rede utilizando
o protocolo IP. Ele um dos padres de operao e manuteno de protocolos para a
internet (FEIT, 1993). SNMP tem sido uma tecnologia essencial para o crescimento da
Internet.
Esse protocolo fica localizado no nvel de aplicao, utilizando UDP como para rea-
24
2.3.2 SSH
SSH (Secure Shell) um protocolo de rede criptografado para comunicao de dados,
servios Shell remotos, execuo de comandos de maneira segura entre dois computado-
res conectados em rede (YLONEN; LONVICK, 2006). Do mesmo modo que o protocolo
25
SNMP, esse protocolo tambm exige a instalao de um servidor SSH, na mquina moni-
torando, e um agente SSH, na mquina a ser monitorada.
Esse protocolo utiliza o mtodo criptogrfico de chave pblica para autenticar com-
putadores remotos. Como o objetivo desse protocolo a comunicao protegida, neces-
sria a utilizao do transporte de dados utilizando TCP.
Basicamente, toda a informao enviada criptografada. Dessa maneira, so dimi-
nudas as possibilidades de informaes importantes (como usurio e senha) serem extra-
viadas no meio da comunicao. Uma vez que a conexo segura esteja estabelecida, o
servidor gerente pode requisitar qualquer tipo de informao sobre o agente. Isso faz com
que seja possvel cobrir uma grande quantidade de monitores diferentes.
2.3.3 TELNET
Telnet um protocolo de rede muito parecido com o SSH. Ele possibilita uma comu-
nicao orientada a texto bi-direcional utilizando um terminal virtual de comunicao. A
comunicao estabelecida atravs do Telnet no segura, diferentemente do SSH, pois
a informao no criptografada (POSTEL; REYNOLDS, 1983). Ele um protocolo
orientado a conexo, utilizando o TCP.
Diferente dos protocolos vistos anteriormente, o Telnet no exige que haja um es-
quema servidor-agente configurado. A comunicao toda feita por uma interface de
linha de comandos. Nessa linha de comandos possvel obter informaes sobre a m-
quina alvo a ser monitorada.
2.3.4 JMX
JMX (Java Management Extensions) , diferentemente do visto at aqui, uma tecno-
logia de desenvolvimento de aplicaes Java. Com a imensa utilizao de Java no mundo
todo, imprescindvel a capacidade de monitorar esse tipo de aplicao. E o Java acaba
facilitando a monitoria pelo JMX.
Utilizando o console JMX possvel extrair informaes importantes do funciona-
mento e execuo da aplicao rodando na mquina alvo. Um exemplo a obteno da
informao de quantidade de memria livre na pilha do Java. Essa uma informao
possvel de ser extrada de um console JMX.
Em outras palavras, JMX no um protocolo de comunicao nem de monitoria, e sim
uma plataforma de execuo e desenvolvimento que facilita a monitoria ao disponibilizar
informaes importantes de operao para usurios remotos.
2.3.5 WMI
WMI (Windows Management Instrumentation) a infraestrutura para gerenciamento
de dados e operaes em sistemas operacionais do tipo Microsoft Windows (MSDN,
2012). Todo computador com sistema operacional Windows instalado possui uma ins-
tncia do WMI rodando. Ele possibilita que usurios remotos possam obter informaes
sobre os servidores sem que seja necessrio logar no computador.
O WMI funciona por um esquema de classes e entidades. Cada classe pode conter
diversas entidades, que so os objetos a serem buscados para se obter informaes mais
detalhadas sobre a mquina alvo. A Figura 2.2 mostra um exemplo de uma classe e seus
objetos disponveis de serem consultados.
Isso possibilita uma grande quantidade de monitores de serem configurados, reali-
zando checagens peridicas dos servios. Entretanto, caso seja necessrio monitorar al-
26
gum atributo que no possua uma classe configurada pela Microsoft, isso vir a ser um
problema.
Agora que todos os principais conceitos foram devidamente apresentados, ser feito
um estudo mais profundo sobre cada uma das ferramentas escolhidas.
27
3.2 Zabbix
O projeto do Zabbix comeou a ser desenvolvido em 1998, liderado por Alexei Vla-
dishev. Trs anos aps o incio do projeto, foi feita a primeira publicao da ferramenta
j com o cdigo aberto ao pblico. Apenas em 2005, foi criada a empresa ZABBIX SIA
para fornecer servios de suporte tcnico aos seus clientes e usurios (ZABBIX, 2012).
O Zabbix possui diversos clientes de todo o mundo. Entre os principais clientes,
existem alguns brasileiros:
Dataprev;
Petrobras;
Procergs;
28
Serpro.
MySQL;
PostreSQL;
Oracle.
SNMP;
SSH;
29
TELNET;
JMX.
Com isso, essa ferramenta se mostra bastante completa ao cobrir uma grande rea
de possibilidades de monitorao. Todos esses tipos de monitoria podem co-existir. Isto
quer dizer que podem haver monitores fazendo checagens pelos agentes instalados e, ao
mesmo tempo, outros monitores esto utilizando o protocolo SNMP de comunicao para
efetuar outras checagens.
X = N (X igual a N);
Quanto aos valores de "X", existem muitas maneiras de isso ser calculado. Ainda
possvel usar a varivel "T", um valor temporal a ser definido na criao do monitor. As
principais, e mais comumente usadas, so:
Dia da semana/ms.
30
3.3 Nagios
Ethan Galstad o idealizar criador da ferramenta Nagios. Em 1999, Ethan e seu time
divulgaram a primeira verso, com o nome de NetSaint. Em 2002, devido a mudanas de
estratgia, o nome foi mudado para NAGIOS, que na verdade um acrnimo recursivo
para "Nagios Aint Gonna Insist On Sainthood"(Nagios no vai insistir em santidades),
onde h uma referncia para o antigo nome, "Sainthood"(NAGIOS, 2012).
Os produtos da empresa Nagios Enterprises so usados em todo o mundo e possuem
diversos clientes que muito famosos nas suas reas de atuao:
AT&T;
McAfee;
Philips;
Siemens;
Sony;
Toshiba;
Ubisoft;
Universal;
Yahoo.
31
Por outro lado, possvel a instalao de plugins que facilitam a visualizao grfica
dos eventos. Isso requer um pouco mais de investigao pelo lado do administrador da
ferramenta, mas facilitaria para os usurios.
possvel extrair os dados, mais uma vez, utilizando plugins adicionais, e manipul-
los da maneira necessria. Um ponto a ser enfatizado aqui que, com a instalao pa-
dro do Nagios, no existem muitas possibilidades de anlise dos dados. Entretanto,
estendendo-se a ferramenta com a instalao de plugins possvel tornar a ferramenta
mais completa.
3.4 Zenoss
Zenoss a mais nova das trs ferramentas aqui estudadas. Seu desenvolvimento co-
meou em 2002. Em Agosto de 2005 foi fundada a empresa Zenoss Inc, uma parceria
entre Erik Dahl (principal desenvolvedor) e Bill Karpovich (ZENOSS, 2012).
Entre seus principais clientes, encontram-se algumas grandes empresas como:
Linkedin;
Motorola;
Universidade de Chicago;
VMWare.
Figura 3.3: Zenoss: Descrio dos objetos modeladores. Extrado de (LINUX WORLD
MAGAZINE, 2006)
lado, existem muitas informaes importantes atualizadas online que facilitam qualquer
investigao (uso de CPU/memria/disco, usurios conectados, entre outras).
Essa ferramenta tambm muito voltada para a parte grfica. Dessa maneira exis-
tem muitos grficos disponveis para o usurio acessar. Tambm existe a possibilidade
de serem configurados relatrios peridicos para serem gerados, que podem facilitar a
indicao de problemas ao investigar as tendncias de comportamento.
No prximo captulo ser feita uma comparao entre essas trs ferramentas e como
elas se comportam perante uma srie de atributos, caractersticas e critrios escolhidos.
37
Figura 4.2: Nagios: Detalhes sobre os vdeos tutoriais. Extrado de (NAGIOS, 2012)
zados com informao sobre como escrever novas partes de cdigo e uma rpida reviso
sobre a ferramenta. Eles esto exemplificados na Figura 4.2.
J o Zenoss possui uma documentao bastante atualizada sobre a ferramenta. A
documentao oficial baseada em um arquivo, tambm no formato PDF, que traz todas
as informaes sobre aquela verso da ferramenta. Entretanto, no h uma abordagem
direta quanto a problemas que podem ocorrer durante os processos executados.
Alm disso, no existem tutoriais detalhados oficiais sobre o Zenoss, nem treinamen-
tos abertos ao pblico. Tutoriais so muito importantes para pessoas comeando a usar as
ferramentas para que seja possvel usar todos os benefcios que a ferramenta dispe.
A documentao mais completa encontrada foi a do Zabbix, inclusive disponibili-
zando treinamentos ao redor do mundo. O Nagios possui diversos artigos tutoriais que
facilitam instalaes e configuraes. Sem dvida a documentao do Zenoss no muito
aprofundada e dificulta o uso da ferramenta.
39
C;
Perl;
Python;
Shell;
Scripts.
4.2.2 Fruns
Os fruns so ferramentas de auxlio extremamente teis. Usurios e administradores
trabalham juntos para ajudar outros usurios e fazer com que todos possam utilizar melhor
as ferramentas.
40
Foram analisados os fruns oficiais das ferramentas, que podem ser observados na
tabela 4.2.
Foram analisadas as dez ltimas perguntas de cada um deles e foi analisado o tempo
mdio, em horas, at a primeira resposta. Os resultados encontrados podem ser observa-
dos na tabela 4.3. Foram removidos dos clculos de mdia os pontos mais rpidos e mais
lentos de cada ferramenta.
A partir dessa anlise, podemos observar claramente que o frum com participao
mais assdua dos usurios o frum da ferramenta Nagios. Todos os critrios avaliados
foram melhores no frum dessa ferramenta.
Quanto s outras ferramentas, o site do Zenoss leva uma vantagem sobre o do Zabbix.
A maioria das respostas avaliadas foram respondidas e a mdia, sem considerar os pontos
extremos, ficou muito menor que a do Zabbix.
O frum do Zabbix teve o pior resultado: algumas perguntas no respondidas (repre-
sentando 30% do total), situaes extremas longe do ideal e mdia muito alta.
4.2.3 Suporte
Um outro aspecto bastante importante de ser avaliado a disponibilidade de suporte
oficial. Fruns so apropriados mas, em alguns casos, necessrio um auxlio mais espe-
cializado. Esses casos sero avaliados agora.
Nas empresas Zabbix e Zenoss foi disponibilizada mais de uma opo de suporte.
Nesse caso, a fim de comparar pacotes de mesmo nvel comercial, foram escolhidos os
pacotes mais avanados de suporte.
Foram selecionados alguns dos tipos de suporte considerados mais importantes para
efetuar a comparao. Eles podem ser observados na tabela 4.4. A Figura 4.3 mostra mais
detalhes sobre os tipos de suporte disponvel para cada ferramenta.
Foi possvel observar que as empresas Zabbix e Zenoss possuem um suporte muito
qualificado. O suporte disponvel pela empresa Zabbix mais completo que o das outras
duas, chegando at a disponibilizar atendimento direto no prdio da empresa ou cliente.
A empresa Zabbix tambm disponibiliza treinamento profissional para administrado-
res e usurios. Quanto ao Zenoss, a opo de treinamento no est includa no pacote e
apenas para administradores.
No existe nenhum tipo de suporte mais qualificado para o Nagios. Todo o suporte
feito por contato telefnico ou digital. No h disponibilidade de treinamento nem
41
4.2.4 Instalao
Ferramentas de cdigo aberto devem ter a instalao facilitada com tutoriais uma vez
que existem muitas variveis envolvidas (cdigo, variveis de sistema, pacotes adicionais,
entre outros).
A instalao mais fcil de ser feita , sem dvida alguma, a do Nagios. Em um
sistema operacional Ubuntu, o pacote do Nagios est disponvel no sistema para download
e instalao. Basta baix-lo e instal-lo no servidor e no cliente (pacotes diferentes) e tudo
estar pronto. Todos os pacotes adicionais so instalados junto e todas as configuraes
tambm so ajustadas durante a instalao.
Aps a instalao, basta iniciar a interface web e configurar o usurio. Para novos
monitores, devem ser modificados os arquivos de configurao. Para toda a configurao
e instalao do Nagios existem timos tutoriais disponveis na internet.
Instalar e configurar o Zabbix tambm no uma tarefa muito complicada. Basta se-
guir os tutoriais oficiais disponveis no site oficial e tudo ir correr bem. O nico problema
encontrado foi alguma incompatibilidade de verses, mas que foi resolvida rapidamente
seguindo outros tutoriais disponveis no site.
O caso mais problemtico foi o do Zenoss. Instal-lo no uma tarefa fcil. Uma
mquina virtual com o servidor Zenoss disponibilizada pronta, mas ela no compatvel
com os objetivos desse estudo (instalar diretamente a ferramenta). Sem essa mquina
virtual, a segunda opo utilizar um script de instalao feito para o sistema operacional
Red Hat, que tambm no satisfaz os requisitos do trabalho (sistema operacional Ubuntu).
No sendo possvel seguir a instalao pelos meios convencionais, foi necessrio bus-
car ajuda em fruns. Foram encontrados alguns scripts de instalao mas nenhum deles
se mostrou completo. A sada encontrada foi juntar partes dos scripts para concluir a
instalao com xito.
Durante a execuo desses scripts, foram encontrados muitos erros inesperados. A
figura 4.4 ilustra bem o descrdito que os usurios tm pela facilidade da instalao. Aps
conseguir resolver um problema de instalao, um usurio diz "Esperando para ver onde
ir falhar em seguida".
Aps a instalao terminar, a configurao da interface tambm se mostrou compli-
cada. A documentao oficial existente no leva em conta que o usurio pode encontrar
falhas. Quando elas ocorrem, mais uma vez deve-se recorrer a mtodos no oficiais (f-
runs que no so do Zenoss).
43
Figura 4.4: Zenoss: Exemplo de descrdito pelos scripts de instalao. Extrado de (ZE-
NOSS, 2012)
1. Arquivos de Configurao;
44
Figura 4.5: Nagios: Possveis objetos a serem criados. Extrado de (TURNBULL, 2006)
Isso uma tarefa mais complicada com essa ferramenta pois envolve uma interao maior
com outras partes do software.
O Zabbix possui esse mesmo problema. Ele se enquadra no tipo de criao de monitor
utilizando a interface grfica. usada uma estrutura semelhante de chamadas de classe,
o que pode ser observado na Figura 4.7.
A criao mais fcil da monitorao foi a efetuada na ferramenta Zabbix. A interface
facilita bastante a criao e modificao de monitores com o uso do Construtor de Ex-
presses, uma interface grfica criada diretamente para auxiliar na criao dos monitores
(chamados de Disparadores). O Nagios tambm se mostrou bastante simples na criao
dos monitores. Fica em desvantagem pelo fato de no possuir uma interface grfica para
isso. O Zenoss mais uma vez se mostrou com bom potencial, mas muito complicado pois
a criao dos novos eventos deveria acontecer em muitos lugares diferentes para fazer
tudo funcionar corretamente. Ainda, as interfaces encontradas no eram fceis de serem
usadas.
46
(a) Eventos
(b) Disparadores
e ainda verificar se os ltimos dados esto de acordo com o esperado. Isso pode ser
observado na Figura 4.9.
J no software Nagios, existe uma chamada Viso Ttica que mostra quantos servido-
res existem em cada estado. Um servidor pode estar em algum dos seguintes estados:
Fora do Ar (Down);
Inatingvel (Unreachable);
Funcionando (Up);
Pendente (Pending).
Existe tambm uma viso de todos servios e agrupamento dos mesmos por estados.
Um servio, ou monitor, pode ser classificado em:
Crtico (Critical);
Advertncia (Warning);
Desconhecido (Unknown);
OK;
Pendente (Pending).
Ao se procurar mais detalhes sobre cada um dos monitores, possvel obter vises
separando-os por estado, por servidor e por grupo de servidores. A Figura 4.10 mostra
algumas das principais telas do Nagios.
Assim como no Zabbix, o Nagios tambm disponibiliza a funcionalidade de se testar
um monitor a qualquer momento, facilitado assim a investigao. Alm disso, possvel
re-agendar a prxima vez que o monitor ir coletar dados. Isso pode ser til ao se trabalhar
com problemas de durao prolongada.
Na ferramenta Zenoss, no existe uma maneira prtica de visualizar o estado dos
monitores que no esto alertando. Existem algumas visualizaes diferentes disponveis
quando se deseja acessar os eventos (monitores, servios) que esto com problema. Elas
esto ilustradas na Figura 4.11. Existe a possibilidade de acessar relatrios que trazem os
48
(b) Servidores
estados dos monitores. Esse tipo de relatrio ajuda a visualizar o estado dos monitores,
apesar de no trazer muitas informaes.
Sem dvida nenhuma, a comparao das trs ferramentas coloca o Zabbix em primeiro
lugar pela facilidade de uso da interface. O Zenoss possui um alto potencial, mas no
fcil de ser usado. Por isso, a segunda melhor ferramenta o Nagios.
anlise para ele mas eles so um pouco mais complicados de serem gerados do que nas
outras ferramentas. Alm disso, os grficos gerados so um pouco menos claros.
O Zenoss uma ferramenta muito boa para gerar alguns grficos de anlise especfi-
cos. Existem alguns grficos pr-definidos que so gerados uma vez que um dispositivo
(servidor) adicionado ferramenta. A Figura 4.14 ilustra alguns desses grficos.
Os quatro tipos de grficos enumerados abaixo so os grficos padres do Zenoss:
Se o usurio desejar gerar algum outro tipo de grfico, necessrio modificar o cdigo
da ferramenta para adicionar esses grficos. Entre outras palavras, no uma tarefa fcil.
4.3.4 Relatrios
A gerao de relatrios customizados facilitada por ferramentas manipuladoras de
dados, como o Microsoft Office Excel, LibreOffice Calc, entre outras. O ponto comum
entre as principais ferramentas voltadas analise de dados a existncia de tabelas de
formatao e de dados.
51
Navegao na interface;
a concluso dos experimentos, foi possvel chegar Tabela 4.6 que traz alguns aspectos
interessantes.
O Nagios e o Zenoss tiveram dois itens em que cada um deles foi eleita a melhor
ferramenta. Pode-se observar a clara distino entre as ferramentas. Nagios foi melhor
nos aspectos que envolvem o compartilhamento de informao, enquanto que o Zenoss
foi o melhor no que envolve a parte grfica.
Um aspecto relevante observado foi que o Zenoss teve um desempenho muito bom
na informao sobre servidores. Isso acontece porque, ao configurar um servidor nessa
ferramenta, ela modela o dispositivo e descobre diversos tipos de informaes sobre ele,
como quantidade de memria, sistema operacional, placas de rede, entre muitos outros.
O Zabbix mostrou ser a ferramenta mais prtica de ser usada, ao ser a melhor ferra-
menta em navegao livre.
4.4 Capacidade
At o final deste captulo, ser feita uma anlise sobre a capacidade das ferramentas
escolhidas. Ser mostrado um estudo um pouco mais detalhado sobre em que situaes
essas ferramentas funcionam corretamente, que tipos de alertas elas podem emitir e como
cada usurio pode personalizar a sua interface.
4.4.1 Compatibilidade
Antes de escolher uma ferramenta de monitoramento para utilizar em um sistema,
preciso saber se a ferramenta funciona corretamente nesse sistema. Neta subseo ser
avaliada a compatibilidade das ferramentas com os pacotes necessrios, com o sistema
operacional do servidor e do cliente.
O sistema operacional que se mostrou preferencial entre todas as ferramentas foi o
sistema Red Hat. Todos os softwares tambm mostraram preferncia por sistemas opera-
cionais do tipo UNIX. A Figura 4.16 mostra os sistemas operacionais divulgados que so
suportados oficialmente.
No caso do Zenoss, os seguintes sistemas operacionais so suportados:
Linux: Fedora;
Linux: Debian;
Linux: Ubuntu;
Linux: SUSE;
53
Figura 4.17: Zabbix: Tabela ilustrativa com os requisitos de software necessrios. Ex-
trado de (ZABBIX, 2012)
Mac OS X.
4.4.2 Alertas
Uma outra funcionalidade bastante importante a capacidade de gerar alertas. Em
algumas empresas, existem times focados monitorao que cuidam dos alertas gerados
(FERNANDES, 2011). Para esses times, de extrema importncia que a ferramenta de
54
4.4.3 Escalabilidade
Em segundo lugar na avaliao fica a ferramenta Nagios. Ela mostrou ser uma fer-
ramenta muito adaptvel, apesar de exigir um usurio mais avanado que no precise
utilizar tanto a interface grfica.
O Zenoss ficou na ltima colocao. Apesar de sua interface grfica extremamente
poderosa, essa ferramenta se mostrou inferior s outras justamente por causa da dificul-
dade de uso. Ela bastante grande, incluindo at os plugins do Nagios, mas que precisa
ter sua manipulao de informaes melhorada.
No prximo captulo ser feita uma anlise de um estudo de caso. Ser feita uma abor-
dagem prtica ao instalar e configurar as ferramentas e monitores. Sero medidos fatores
para ter certeza que as ferramentas atendem os requisitos mnimos de funcionalidade.
57
5 ESTUDO DE CASO
Zabbix 2.0.3;
Nagios 3.2.3;
Zenoss 4.2.0.
58
5.2.1 Ping
O Ping um utilitrio de administrao de redes de computadores utilizado para testar
se um servidor alcanvel por outro atravs da Internet. O Ping opera mandando uma
mensagem que utiliza o protocolo ICMP (Internet Control Message Protocol) para um
determinado servidor e analisa e resposta (ou a falta dela) (HALABI, 1997).
O protocolo ICMP foi criado com o intuito de padronizar a confirmao (ou nega-
o) de que um mensagem foi recebida (SILVA CARISSIMI; ROCHOL; GRANVILLE,
2009). Dessa maneira, o servidor que possui a ferramenta de monitorao instalado es-
tar, atravs do comando de Ping, validando se a outra mquina est acessvel.
Se um problema desse tipo acontecer, significa que o servidor cliente, que est com a
aplicao monitorada rodando, no est acessvel atravs da Internet. Ou seja, a mquina
est desligada, trancada ou com problemas de rede. Esse um problema muito grave pois
inutiliza totalmente a mquina.
Um exemplo de problema de Ping pode ser observado na Figura 5.1. Nessa Figura, um
servidor est tentando validar deu caminho at outra mquina mas no consegue porque
ela est desligada.
No contexto deste trabalho, para testar a monitorao sobre o Ping de uma mquina
virtual basta desligar a mquina virtual (se fosse em um ambiente real, isso significaria
desligar a mquina).
5.2. Nela, podemos observar que o uso do processador chegou a 100%. Por causa disso,
a mquina fica extremamente lenta e muito difcil de ser usada.
Entretanto, a maneira mais prtica de testar a corretude de um monitor de uso de CPU
diminuindo o limite de utilizao. Por exemplo, se o monitor est configurado para
alertar sempre que o uso de CPU estiver acima de 95%, basta baixar esse valor para 0%.
Depois que o monitor for validado, o valor limite pode ser restaurado ao valor inicial.
Para confirmar que esse monitor est configurado corretamente possvel mudar do
mesmo modo que no item anterior: temporariamente diminuir o limiar para 0%.
5.3.1 Zabbix
A criao de monitores no Zabbix feita atravs da interface. Para criar cada um dos
monitores acima basta selecionar um dos modelos pr-configurados no sistema, escolher
qual a frequncia do monitor e o valor limite.
Aps a criao dos trs monitores, chega-se tela que pode ser observada na Figura
5.4. Nela podemos observar o estado de cada um dos novos monitores criados, bem como
a severidade deles e a indicao de eles estarem alertando ou no.
Seguindo os modelos descritos previamente para simular uma situao de falha, foi
possvel observar que o Zabbix alertou dentro do tempo esperado (frequncia definida
para cada alerta).
A visualizao dos monitores em estado de erro pode ser observada na tela inicial do
Zabbix, mostrada na Figura 5.5. Como pode ser observado, j nesta tela inicial possvel
obter informaes importantes como a quanto tempo o problema est acontecendo e qual
o servidor com problemas.
Uma funcionalidade que facilita a investigao do usurio a possibilidade de, utili-
zando a interface, descobrir o estado do monitor a qualquer momento. Isso faz com que a
investigao seja mais rpida.
Durante a execuo dos testes a mquina virtual no apresentou significativas mudan-
as de performance, permanecendo com uso de CPU constante em 35% e uso de memria
61
Zabbix
Figura 5.5: Zabbix: Pgina inicial em que possvel localizar o monitor falhado
em 23%.
5.3.2 Nagios
Para criar os monitores na ferramenta Nagios, necessrio modificar os arquivos de
configurao do mesmo. No pacote padro de instalao desse programa, no existe uma
interface que facilite a configurao de novos monitores. Tudo deve ser feito utilizando
os arquivos de configurao. Apesar de no ter uma interface de configurao amigvel,
o Nagios fcil de ser configurado uma vez que se sabe onde todos os arquivos esto e
quais devem ser modificados.
Todos os comandos executados pelo Nagios so, na verdade, linhas de comando que
chamam plugins. Muitos plugins so instalados junto com o pacote padro. Todos os
monitores implementados para esse trabalho foram encontrados nos pacotes padres. A
Figura 5.6 mostra alguns desses pacotes.
Para configurar os monitores, devem ser criados servios que iro chamar os plugins.
A declarao e sintaxe desses servios deve seguir os padres estabelecidos pelo Nagios.
A Figura 5.7 mostra a configurao do servio de Ping que foi configurado.
Estando todos os novos monitores prontos nos arquivos de configurao, ainda pre-
62
ciso reiniciar o servio do Nagios para que as mudanas tenham efeito. Nota-se aqui que
as mudanas custam um pouco mais de tempo para serem efetuadas e refletir no sistema.
Aps a criao dos trs servios, chega-se a uma tela que possui dados de todos os
monitores criados. Essa pgina pode ser visualizada na Figura 5.8. Da mesma maneira
que com a ferramenta Zabbix, a monitorao tambm pode ser feita a partir dessa tela,
pois temos os detalhes do estado atual de cada um dos monitores.
Utilizando um dos mtodos para simular uma situao de falha, pode-se observar que
essa ferramenta teve um tempo de atualizao um pouco superior ao esperado. O intervalo
em que a pgina atualiza um valor fixo pr-determinado que no pode ser modificado e
acabou sendo maior do que a frequncia dos monitores criados. Entretanto, alertas foram
disparados no momento correto. A Figura 5.9 permite a visualizao da chamada "Viso
Ttica da Monitorao"do Nagios. Nessa pgina podemos visualizar o estado de todos os
servidores configurados bem como todos os servios.
5.3.3 Zenoss
Toda os monitores do Zenoss so configurados, assim como no Zabbix, pela interface
grfica. A primeira parte para se configurar um monitor cadastrar o dispositivo (servi-
dor) na ferramenta. Essa ao traz uma grande vantagem para o usurio pois, ao fazer isso,
o Zenoss ir automaticamente modelar a mquina alvo utilizando seus plugins. Com isso,
ser possvel obter diversas informaes e grficos importantes sobre cada dispositivo.
A criao dos monitores deve ser feita utilizando alguma das classes de evento exis-
tentes (uma classe representa um plugin). Algumas das classes existentes podem ser
visualizadas na Figura 5.10. A partir da seleo de uma classe, possvel escolher uma
sub-classe dessa classe, havendo a disponibilidade. A hierarquia de classes e sub-classes
pode ser to grande quando se queira.
63
Aps a configurao e criao dos eventos, foi possvel observar que faltou um pouco
de comunicao do estado das solicitaes. A nica maneira encontrada de se certificar
que os eventos realmente haviam sido criados com sucesso foi partir para a fase de testes.
A tela inicial do Zenoss, observada na Figura 5.11, pode ser configurada para mostrar
a localizao fsica das mquinas (utilizando plugin do Google Maps). Nessa Figura
possvel observar a visualizao do usurio quando existe um monitor em estado de falha.
Neste estudo, foi possvel observar que o Zenoss alertou sobre a falha do monitor
dentro do tempo esperado, no apresentando nenhum problema a partir dessa parte. Foi
possvel retornar o monitor ao estado normal sem grande esforo.
Um fato importante observado neste experimento foi a grande quantidade de CPU
e memria RAM utilizados pelo Zenoss no servidor. A Figura 5.12 mostra o gradual
aumento do uso de memria quando o Zenoss comea a ser utilizado na mquina que est
efetuando a monitorao. Esse comportamento no foi observado nas outras ferramentas.
65
6 CONCLUSO
Esse estudo mostrou a importncia de uma empresa que tm seus servios voltados ao
cliente (por exemplo, uma empresa de jogos online) possuir uma ferramenta de monitora-
mento completa. importante que ela possa se comunicar facilmente com seus usurios
e ainda ajud-los nas anlises que eles tm de fazer.
Mais que isso, um bom software de monitoria deve ser completo e capaz de realizar
o tipo de monitorao exigida pelas aplicaes das empresas. Em um ambiente estabele-
cido, a monitorao deve se adaptar a ele para obter os melhores resultados.
REFERNCIAS
BALIS, B.; BUBAK, M.; FUNIKA, W.; SZEPIENIEC, T.; WISMLLER, R. An In-
frastructure for Grid Application Monitoring. In: Recent Advances in Parallel Virtual
Machine and Message Passing Interface. [S.l.]: Springer Berlin Heidelberg, 2002.
CASE, J.; FEDOR, M.; SCHOFFSTALL, M.; DAVIN, J. Simple Network Management
Protocol (SNMP). [S.l.: s.n.], 1990.
DUBIE, D. Cheap Tools to Try During Tough Times. PC World, [S.l.], 2009.
POSTEL, J.; REYNOLDS, J. Telnet Protocol Specification. RFC 854.ed. [S.l.]: ISI,
1983.
RAKOSHITZ, G.; VAID, A.; PANDIT, A.; PUTTA, S. Traffic Monitoring Tool for
Bandwidth Management. [S.l.: s.n.], 2003.
SCHAEFER, K.; COCHRAN, J.; FORSYTH, S.; BAUGH, R.; EVEREST, M.; GLEN-
DENNING, D. Professional IIS 7. [S.l.]: wrox, 2008.
URLOCKER, Z. How open source gains market share. Info World, [S.l.], 2009.
YLONEN, Y.; LONVICK, C. The Secure Shell (SSH) Protocol Architecture. RFC
4251.ed. [S.l.]: Cisco Systems, Inc, 2006.