Anda di halaman 1dari 6

Redes Monitoradas com Cacti e Nagios

Dagoberto A. Dias, Daniel Barbosa Netto, Weverton G. L. Souza e Emilio J. M. Arruda Filho
Instituto de Estudos Superiores da Amaznia - Avenida Gov. Jos M alcher, 1148 - Nazar - Belm-PA. Telefone: 91 4005-5400

Resumo O artigo tem como finalidade a implantao de um sistema de gerenciamento de redes utilizando ferramentas livres. Os sistemas de monitoramento open source utilizados so Cacti e Nagios. O Cacti faz o gerenciamento de desempenhos a respeito de aplicativos e hardware da rede, gerando grficos de seus estados. Enquanto, o Nagios faz gerenciamento de servios, ativos da rede e Hardware, objetivando detectar falhas, gerar alertas e notificaes de eventos, mantendo assim um ambiente proativo. Palavras-chaves Monitoramento, Cacti, Nagios, open source, proativo. Abstract The article aims to establish a system for network management using free tools. Monitoring systems used are open source Nagios and Cacti. The Cacti does the management of performance in respect of applications and network hardware, generating graphs of their states. While Nagios is service management, network assets and hardware, in order to detect faults, generate alerts and notifications of events, thus maintaining a proactive environment Keywords Monitoring, Cacti, Nagios, open source, Proactive.

Logo, u m sistema de gerenciamento e de vital importncia para mantm um amb iente de proatividade, antecipando os problemas antes que aconteam, tendo um diagnstico mais preciso, de modo a automatizar as tarefas de adminis trao de parques tecnolgico, tornando a resoluo de problemas mais rpida, consequentemente, com menor tempo e ocorrncia de interrupes. Mantendo a sade da rede sempre estvel, atravs de verificaes dos estados dos servios e hardware da rede. II. FERRAM ENTAS UTILIZADAS As ferramentas utilizadas na imp lementao do sistema foram: Apache2 e PHP5, Cacti, MySQL, Nagios, NagiosQL, PNP4Nagios, Plug-ins, Protocolo SNMP, PhpMyAdmin e RRDTOOL. A Apache2 e PHP5 Apache2 [1] u m software livre para servidores http de cdigo aberto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh e outras, so o mais usado na internet. PHP5 [2] u ma linguagem de programao interpretada, originalmente desenvolvida para criao de pginas Web dinmica, nos casos das ferramentas requeridas, servir para realizar u ma interpretao extra dos dados das ferramentas (Nagios, Cacti e NagiosQL) via interface grfica. Sendo assim, alguns softwares utilizados no desenvolvimento do artigo necessitam de um servidor http ativo para visualizar suas interfaces web. O Apache2 e PHP5 so os programas responsveis por levantar o servidor e interpretar os dados dos programas (Nagios, Cacti e NagiosQL). Po rtanto, o servidor http foi instalando e configurado para habilitar as interfaces Web do requeridos softwares. B Cacti O Cacti [3] Fig.1 u m frontend para o RRDTOOL (Round Robin Database) [4] desenvolvido em PHP com utilizao do SGBD MySQL, ele utiliza o RRDTool para a confeco de arquivos de dados e gerao de grficos informativos. O Cacti foi desenvolvido inicialmente por Ian Berry, est atualmente na verso 0.8.7e [5]. A aplicao utiliza -se de scripts em Bash, Perl, XML, dentre outros para colher dados localmente, ou remotamente utilizando SNMP (Simple Network Management Protocol). O RRDTool, por sua vez, foi desenvolvido por Tobias Oetiker e constitui um pacote de ferramentas para gerar e interpretar in formaes em arquivos

I. INTRODUO Em decorrncia dos benefcios que as redes de computadores oferecem, o seu crescimento cada vez mais vertiginoso. O nmero de hardware, software e servios tornam-se complexos e indispens veis em grandes centros Tecnolgicos. Com esta expanso, a possibilidade de ocorrerem problemas tambm au menta, podendo levar as redes a um estado de inoperncia ou a nveis inadequados de desempenho. Assim, a imp lantao de um sistema de gerenciamento de extrema importncia para poder detectar e prever falhas, monitorar o desempenho, planejar futuras expanses, evitando dessa forma o baixo desempenho da rede, travamento de equipamentos e a queda nos servios de rede (servios de e-mail, DNS, DHCP, etc). Alm de garantir o pleno funcionamento de equipamentos gerenciveis (Roteadores, Switches) que vo ser essenciais para que a rede possa funcionar, atendendo s necessidades dos usurios em geral. Co m isso gerentes de TI foram impulsionados a busca ferramentas e dispositivos para disponibilizar u ma ma ior eficcia no gerenciamento de seus nichos tecnolgicos
Dagoberto de A. dias, dagoberto.azevedo@gmail.com, Tel. + 91-32543067; Daniel Barbosa Netto, danielnetto.engcomp@gmail.com, T el.+ 913272-4373; Weverton G. L. Souza, wgleub@gmail.com, Tel.+ 91-81028466; Emlio J. M. Arruda Filho , earruda @prof.iesam-pa.edu.br,T el.+ 914005-5400, ramais 5417, 5418, 5419 e 5426.

de dados, assim co mo a gerao de grficos estatsticos com base nesses arquivos [6]. Consultar informaes em elementos de redes e/ou programas que suportam tal protocolo. Todas essas informaes dos estados desses dispositivos so repassadas para o admin istrador em u ma pgina Web, trata-se de uma interface e u ma infra-estrutura para o RRDTool. As informaes so repassadas para a ferramenta atravs de scripts ou outros programas escolhidos pelos usurios, os quais devem se encarregar de obter os dados. Pode-se utilizar tambm o protocolo SNMP para consultar informaes em elementos de redes. A construo dos grficos feita por rotinas em PHP, inicialmente elas recebem os dados coletados por scripts, criam arquivos RRDs (forma de dados do RRDTool) e posteriormente os converte em grficos. O Cacti pode ser facilmente adaptado necessidade do administrador, pois tambm trabalha co m a estrutura de Plugins; o exemplo o "PHP Network Weathermap" que exibe u m mapa da rede e o estado de seus componentes. [7].

D Nagios O Nagios Fig. 3 uma ferramenta GPL escrita por Ethan Galstad que pode monitora os ativos da rede, servios e equipamentos da rede (servidores, roteadores, switch estaes de trabalho e impressoras e etc). Os servios de checagem no Nagios so exercidos por Plugins no formato CGI (Common Gateway Interface) [9], e podem ser desenvolvidos pelo prprio usurio. O Nagios possui a capacidade de informa irregularidade (falhas) e dependendo do tipo desta ocorrncia, informar a u m ou mais grupos de contato cadastrados, seja atravs de e-mail, SMS (Short Message Service), pager e/ou outros mtodos definidos. Alm d isso, Com o Nagios [10], possvel atravs de um sistema de hierarquizao, definir hosts pais e filhos dentro de uma rede e diferenciar clientes desativados de clientes inalcanveis. A partir do servidor de monitoramento, pode-se construir uma rvore hierrquica onde o servidor fica no topo, enquanto que os hosts seguintes so posicionados ao longo das ramificaes. No o bastante, o Nagios constitui-se em u m software para monitoramento de redes, que podem possuir infra-estrutura de WAN , LAN e MAN. Possui u ma GUI (Graphical User Interface). Alm do mais, totalmente livre e distribudo sobre a lei de copyleft GPL. Sua aplicao designada a redes de grande porte, porm seu desempenho excelente em redes de pequeno porte. Vig ia hosts e servios que o administrador de redes determina nos arquivos de configurao, alertando quando o servio ou host carem e tambm quando eles retornarem, tambm permite o monitoramento de equipamentos com suporte a protocolos SNMP, o principal agente que permite a troca de informaes entre o Nagios e os hosts monitorados.

Fig. 1 rvore de servio do Cacti.

C MyS QL O MySQL [8] um SGBD gratuito de cdigo aberto, utiliza a linguagem de programa o SQL (Structured Query Language), e a linguagem mais usada quando se trata de uma estrutura de bancos de dados. O MySQL foi utilizado na aplicao co mo forma de guardar os dados de configurao do Cacti, Nagios e NagiosQL. Servindo como sistema de Backup bem como facilitar a migrao total das ferramentas para outras plataformas. Para facilitar a v isualizar e migrao de dados das ferramentas (Cacti, Nagios e NagiosQL) foi ut ilizado um frontend para o SGBD PHPMyAdmin Fig. 2 E NagiosQL O NagiosQL Fig. 4 u m frontEnd utilizado para facilitar man ipulao dos arquivos de configurao do Nagios, H vantagem de utilizar essa ferramenta e tornar a configurao dos arquivos do Nagios menos onerosas, pois em vez de linha de comando para manipular os arquivos tem se uma interface Web intuitiva, a qual ira agilizar a configurao e man ipulao dos arquivos no Nagios. A incluso atravs dessa ferramenta de hosts, servios e todos os arquivos requeridos para correto funcionamento do Nagios torna-se um processo dinamizado.

Fig. 3 Interface de monitoramento do Nagios.

Fig. 2 Interface do PHPMyAdmin.

NagiosQL trabalha em conjunto com o SGBD MySQL persistindo as configuraes dos arquivos alterados ou adicionados pela sua interface e alem disso funcionando como sistema de backup para suas configuraes, mais informao sobre configurao e instalao [11].

No caso do Nagios foram utilizados os seguintes Plug-ins: NSClient++ Plugin utilizado para fazer a comunicao e monitorao de maquinas Windows. NDOUtils Plugin utilizado para fazer a comunicao entre o Nagios e MySQL. NRPE Plugin utilizado para executar um outro Plugin e um cliente remoto, retornando para o Nagios a sada do Plugin remoto junto com o valor de retorno. NagiosPlugins Plugin padro para que o Nagios possa se comunicar co m outros Plug-ins. No caso do Cacti foram utilizados os seguintes Plug-ins: CactiPlugins Plugin principal do Cacti, pois e atravs dele que outros Plug-ins podero ser integrados a Software, ou seja, o Plugin responsvel por gerenciar e habilitar variados Plugins na interface do Cacti. Plugins-Ntop Com este Plug-ins instalado no Cacti temos um visualizao pela interface do Cacti da ferramentas Ntop, h qual consiste analisar o trfego da rede. Plugins-Monitor Plugin utilizado para executar a visualizao de todos os hosts que esto sendo analisados pelo Cacti. Plugins-Clog Plugin que fica mostrando os erros que o Cacti gera na execuo de suas tarefas.

Fig. 4. Interface do NagiosQL

F PNP4Nagios: PNP4Nagios [12] u m addon para o Nagios, a qual trabalha com as propriedades do RRDTool, que responsvel por armazenar dados recolhidos dos servios para a gerao de grficos. Base do funcionamento PNP4Nagios gerar grficos com os resultados dos elementos monitorados pelo Nagios, para assim, poder levar o controle mais geral dos estados de um determinado servidor ou servio nos ltimas horas, dias, semanas, meses ou at mesmo anos. Segue exemplos da addon na Fig. 5

H SNMP (Simple Network Management Protocol) u m protocolo de gerncia definido em nvel de aplicao, utilizado para obter informaes de servidores SNMP agentes espalhados em uma rede baseada na pilha de protocolos TCP/IP. Os dados so obtidos atravs de requisies de um gerente a um ou mais agentes utilizando os servios do protocolo de transporte UDP (User Datagram Protocol) para enviar e receber suas mensagens atravs da rede. O gerenciamento da rede atravs do protocolo SNMP [13] permite o acompanhamento simples e fcil do estad o dos equipamentos da rede, em tempo real, assim o Cacti usa esse protocolo para plotar os grficos dos estados dos servios e hardware da rede, alguns Plug-ins so desenvolvidos encima desse protocolo para monitoramento no Nagios. III. RRDTOOL

Fig. 5 Grfico do PNP4Nagios.

G Plug-ins Tanto o Nagios e o Cacti usam Plug-ins para aumentar suas funcionalidades, no caso do Nagios, toda sua estrutura de testes, anlise e sobre seus Plug-ins. Sem o uso dos mesmos, o Nagios no tem utilidade, pois atravs deles que so feitas as checagens dos servios. Estes Plug-ins so em geral pequenos scripts, shell, Perl ou C que so executados pelos Softwares (Nagios e Cacti) para obter resultados e exibir na tela, notificar o responsvel ou executar algu m procedimento. Por padro os Plug-ins devem fornecer u m cdigo de retorno numrico que interpretado pelas ferramentas. Gerando as informaes necessrias para os programas monitor. RRD a sig la para Round Robin Database. O RRD u m sistema para armazenar e mostrar dados em srie obtidos em um determinado perodo de tempo (banda de rede, temperatura da mquina, etc). Os dados so armazenados de maneira bastante compacta e no aumentam com o tempo (por isso que o banco dito "circular"). O RRDTOOL tambm capaz de gerar g rficos a partir desses dados. Co mo o RRDTOOL no capaz de fazer o "polling" dos dados, nem apresent-los de maneira automt ica, bastante comu m a sua utilizao associada a um frontend. Sendo

assim, o RRDTOOL fo i associado h um frontend sendo este o Cacti para a gerao de grficos de desempenho de equipamento da rede. IV. AMBIENTE DE TESTE Para a utilizao das ferramentas de monitoramento foram utilizadas as seguintes configuraes. Trs estaes, sendo que dois desses hosts tinham o sistema Ubuntu 9.04 e o ultimo o Windows XP. Em u m desses hosts GNU/Linux foi instalado o servidor Nagios, o Cacti, Mysql e todas as ferramentas necessrias para o monitoramento, as quais foram citadas no tpico II Ferramentas Utilizadas, menos o Plugin NSClient++. J na outra maquina GN U/Linux foi utilizado o Plugin NRPE, PluginsNagios e o protocolo SNMP, em relao estao Windows foi utilizado o Plugin NSClient++ e o protocolo SNMP. Veja u m esboo dessa amb iente na Fig. 6

desempenho dos servios, enquanto o Nagios um gerenciador de disponibilidade dos servios. VI. INTERFA CES X MONITORAM ENTO A Nagios Tactical Overview: As coisas mais impo rtantes para uma visualizao rp ida dos estados de hosts e servios esto disponibilizadas nessa interface. Co mo u ma Viso Geral Ttica, prov informao sobre a sade da rede em u ma nica pgina web, exib ida em u m sumrio, co mo representado na Fig. 7. Na pgina so mostrados, em ordem de prioridade, primeiro a falha de toda a rede alcanvel, seguido pelo estado de hosts e servios, e lista se caractersticas de monitorao individuais, tais como notificaes e manipuladores de eventos , esto ativos. Tudo est concentrado em exib ir problemas. Para todos os problemas exibidos que venham a ocorrer pode-se ter uma nica viso geral especfica mostrando hosts e servios em questo.

Fig. 6 Ambiente de teste. Fig. 7 viso geral dos servios.

V. AN LISE CAC TI X N AGIOS Aps analisar as principais caractersticas das ferramentas utilizada no perodo de desenvolvimento do artigo segue uma comparao analtica. possvel constatar a capacidade de ambas em prover informaes gerencias valiosas sobre os equipamentos monitorados , o Cacti uma boa ferramenta para monitorao de equipamentos como switches, roteadores e demais casos onde se deseja medir o flu xo de dados e visualiz-lo em forma de grficos, ou seja, o Cacti e recomendvel para o gerenciamento de desempenho dos equipamentos da rede. Enquanto, o Nagios se mostra mu ito superior ao Cacti, mesmo possuindo como agravante a sua complexidade e dificu ldade de aprendizado, ele se mostra mu ito flexvel e mais comp leto. Pode se encontrar plug-ins de monitorao prontos nos sites das comunidades at para os casos mais especficos, tornando-se um poderoso centro de monitorao da rede, alem do que, no Nagios possvel em uma tela se visualizar todos os problemas que esto ocorrendo em tempo real ou no mximo co m u m pequeno retardo de tempo. Pode-se a partir da tela principal obter maiores detalhes do servio com um ou dois cliques, sabendo at a sua posio no mapa da sua rede. Sendo assim, aconselha-se o uso combinado das duas ferramentas para obteno de um resultado mais positivo aproveitando o que cada uma oferece de melhor, o Cacti u m gerenciador Service Detail: Nessa interface Fig. 8 de detalhes dos servios, os hosts esto com seus referidos nomes, bem como todos os servios que esto sendo verificados, tambm visualiza se os status do servio, os quais so podem assumir os seguintes estados de ok, crit ical, warning e se o Nagios no encontra o plugins retorna unknown, perodo de inicio do monitoramento e h quanto tempo o servio esta sendo usado testado pelo plugins e monitoramento.

Fig. 8 T ela de Detalhes dos Servios

Status Map: Atravs dessa opo da interface visualizar-se o mapa de rede fig. 9. Essa opo e muito ilustrativo, pois mostra quais os estados dos hosts e sua hierarquia na rede. Sendo assim, identifica -se as relaes de parents hosts (hosts

que se encontram hierarquicamente em situaes pendentes de outros equipamentos). Mostrando de uma simp les , porm bastante significativa a disposio dos hardwares e hosts na rede.

Graphs: Atravs dessa tela Fig. 12 tem se u m exemp lo real de um hosts e seus grficos de estados, Sobre o uso da CPU, uso da mem ria, usurios logados e processos locais.

Fig. 9 Mapa da rede.

Fig. 12 grficos de estados.

Hostgroup Grid: Essa interface divid ida no seguinte formato, cada host possui seu respectivo Hostgroup Fig. 10. , dentro de cada grupo de host e detalhado os servios que individualmente afeta u m determinado hosts, sendo que cada host pode possui diferentes servios de monitoramento, alm das aes que esto vinculadas a todos os hosts, as quais so de mostra os servios com maior riqueza de informaes ou informar o estado do elemento de forma g rfica atravs da addon PNP4Nangios, quando instalando e funcionando no Nagios.

VII. CONCLUSO Em u m amb iente de TI do mais simp les ao mais complexo , a utilizao de u m sistema de gerenciamento inteligente de monitoramento de redes e sempre reco mendvel, pois caso a rede apresente algum problema, instabilidade levando a paralisao de recursos essenciais , isso pode custar muito tempo e dinheiro, caso tenha sistema que cuide da sade dos servios e equipamento essas interrupes seriam prev istas e descobertas com maior rapidez. Sendo assim, as paralisaes e negaes de servios aconteceriam co m muito menos freqncia. Quando se tm u m amb iente monitorado, h u m controle de todos os servios, equipamentos e aplicativos do parque tecnolgico, podendo assim identifica r prever falhas de servios que esto em estados crticos previamente, logo minimizar o tempo de ao e resposta para esses problemas que venham afetar a integridade do amb iente monitorado. As solues que utilizadas para o monitoramento de redes so variadas, desde ferramentas pagas ou gratuitas, as demonstradas neste artigo, no caso Nagios e Cacti, so todas open source, isso implica em um baixo cus to na implementao, manuteno e suporte das ferramentas de monitoramento Cact i e Nagios, sem perder a qualidade do servio. REFERNCIAS [1] Apache. 2009 The Apache Software Foundation. acessado em 10/09/2009 disponvel em: http://www.apache.org [2] PHP. 2001-2009 The PHP Group. acessado em 10/ 09/ 2008 disponvel em: http://www.apache.org [3] Cacti. 2004-2009 The Cacti Group. acessado em: 10/ 09/ 2009 disponvel em: http://www.cact i.net [4] RRDTOOL. Oetiker, T. (2009). OETIKER+PA RTNER AG. acessado em: 10/09/2009 d isponvel em: http://oss.oetiker.ch/rrdtool [5] Berry, I., Ro man, T., and Adams, L. (2007). The Cacti Manual. The Cacti Group. acessado em: 10/ 09/ 2009 disponvel: http://www.cacti.net

Fig.10 Interface do Hostgroup Grid.

B CAC TI Graph Trees: Nessa interface Fig. 11 pode-se visualizar ou acrescentar as rvores de servios dos hosts no Cacti, ou seja, e o local onde defini-se os servidores e maquinas para o monitoramento bem co mo quais servios que sero acrescidos para verificao do seu estado para analise dos seus grficos.

Fig. 11 Interface do Graph Trees.

[6] Oetiker, T. (2009). RRDtool Documentation. Olten. Acessado em: 10/ 09/ 2009 disponvel em: http://oss.oetiker.ch/rrd [7] Costa. Felipe, A mbiente de Rede Monitorado com Nagios e Cacti, Rio de Janeiro : ed., Cincia Moderna Ltda, 2008. [8] MySQL. 1995-2008 MySQL A B, 2008-2009 Sun Microsystems, Inc. acessado em: 10/ 09/ 2009 disponvel em: http://www.mysql.c om [9] Nagios Version 3.x Documentation. Galstad Ethan. 2007, acessado em: 05/09/ 2009 disponvel em: http://www.nagios.org [10] Nagios. 2009 Nagios Enterprises, LLC. A ll rights reserved. acessado em: 05/ 09/ 2009 disponvel em: http://www.nagios.org/download/core/thanks/ [11] NagiosQL. 2009 Nag iosQL.org. A ll rights reserved unless otherwise stated. acessado em: 15/ 09/ 2009 disponvel em: http:http://www.nagiosql.org/ [12] PNP4Nagios. 2007 by Wolfgang acessado em: 15/ 09/ 2009 disponvel em: http://docs.pnp4nagios.org/pnp-0. 4/start [13] Zanella , Beethovem Dias. Protocolo de Gerenciamento SNMP. Acessado em 12/09/2009, encontrado em: http://www.rederio.br/downloads/pdf/nt00601.pdf