Вы находитесь на странице: 1из 67

FACULDADE DE TECNOLOGIA PROF.

WALDOMIRO MAY

INTEGRAO DAS FERRAMENTAS NAGIOS E CACTI COMO SOLUO DE MONITORAMENTO DE RECURSOS COMPUTACIONAIS EM REDES

Rmulo Alceu Rodrigues

Trabalho de Concluso de Curso a ser apresentado Faculdade de Tecnologia Prof. Waldomiro May como parte dos requisitos para a obteno do Certificado de Concluso de Curso da Graduao em Tecnologia em Informtica com nfase em redes de

computadores.

CRUZEIRO/SP 2010

FACULDADE DE TECNOLOGIA PROF. WALDOMIRO MAY

INTEGRAO DAS FERRAMENTAS NAGIOS E CACTI COMO SOLUO DE MONITORAMENTO DE RECURSOS COMPUTACIONAIS EM REDES Romulo Alceu Rodrigues
Trabalho de Concluso de Curso a ser apresentado Faculdade de Tecnologia Prof. Waldomiro May como parte dos requisitos para a obteno do Certificado de Concluso de Curso da Graduao em Tecnologia em Informtica com nfase em redes de computadores. rea de Concentrao: Tecnologia em Informtica nfase: Redes de Computadores Linha de Estudo: Monitoramento de

recursos em redes de computadores. Orientador: Prof. Dr. Jos Carlor Lombardi

CRUZEIRO/SP 2010

FACULDADE DE TECNOLOGIA PROF. WALDOMIRO MAY FATEC CRUZEIRO - SP

RODRIGUES, Romulo Alceu Integrao das ferramentas Nagios e Cacti como soluo de monitoramento de recursos computacionais em redes. 67 p. Monografia (TCC) - Faculdade de Tecnologia Prof Waldomiro May, FATEC Cruzeiro, 2009. Orientao: Prof Dr. Jos Carlos Lombardi (1) Monitoramento de redes, (2) Gerencia de Pr-ativa de redes

ROMULO ALCEU RODRIGUES

INTEGRAO DAS FERRAMENTAS NAGIOS E CACTI COMO SOLUO DE MONITORAMENTO DE RECURSOS COMPUTACIONAIS EM REDES

Monografia apresentada Faculdade de Tecnologia Prof. Waldomiro May para concluso da graduao no Curso Superior de Tecnologia em Informtica, com nfase em Redes de Computadores.
rea de Concentrao: Tecnologia em Informtica nfase: Redes de Computadores Linha de Estudo: Monitoramento de recursos em redes de computadores.

______________________________________________________________ Orientador: Prof. Dr. Jos Carlos Lombardi

______________________________________________________________ 1 Examinador:

______________________________________________________________ 2 Examinador:

Aprovado em: ___/___/2010.

NOTA:_____________

Cruzeiro - SP 2010

Dedico este trabalho a minha me, que comeou sua carreira de professora dando aula nos sertes do Brasil, e que me carregava no lombo de um cavalo por dezenas de kilmetros at uma pequena escola no alto da serra da Bocaina onde ensinava de maneira excelente. Com ela aprendi o que ter coragem, enfrentar os desafios e jamais recuar em frente aos inimigos e adversidades.

"A educao faz um povo fcil de ser liderado, mas difcil de ser dirigido; fcil de ser governado, mas impossvel de ser escravizado." (Henry Peter)

Agradecimentos
Em primeiro lugar agradeo a fora superior criadora do Universo por ter me presenteado com dons que no tm preo, a vida e a inteligncia.

Agradeo tambm ao Professor Jos Carlos Lombardi por ter me orientado durante este trabalho.

Ao amigo e professor da Universidade Estadual de Campinas (UNICAMP) Gean Ribeiro, por ter acompanhado o desenvolvimento do trabalho e dado valiosas sugestes. Gus Adamecz, autor de grande parte dos livros publicados pela empresa Cisco Systems no mundo todo, que durante suas aulas me deu a oportunidade de aprender muito sobre monitoramento de recursos computacionais em redes.

RESUMO As redes modernas tornaram-se complexas e heterogneas. As empresas dependem muitas vezes de sua infraestrutura de redes para manter seus negcios funcionamento de maneira efetiva. Portanto, o administrador tem a funo de manter recursos computacionais em pleno funcionamento, proporcionando alta disponibilidade das informaes e recursos. Para ajudar nesta tarefa devem ser utilizadas ferramentas adequadas de monitoramento pr-ativo. Este trabalho trata da integrao dos softwares Nagios e Cacti, uma combinao que oferece alto desempenho e baixo custo para a empresa, alm de serem classificadas entre as melhores ferramentas de monitoramento do mercado. A integrao feita atravs do plugin Nagios2Cacti, oferecido gratuitamente no website do Nagios. Como resultado, tem-se uma estrutura de monitoramento altamente eficiente, escalvel, e a baixo custo.

ABSTRACT

The modern networks have become complex and heterogenous. In addition,

modern

companies rely on their network infrastructure to keep their businesses working in an effective way. Therefore, the role of the IT administrator is to keep the computational resources at full operation, besides offering high availability for the information and resources. To make this important task easier, pro-active monitoring tools should be used. This paper discusses the integration of the tools Nagios and Cacti, a combination that offers high performance at low cost for the company. Also, both tools are high rated among the most used and known monitoring software in the market. The integration process will be done through a plugin called Nagios2Cacti, which can be downloaded for free in the Nagios website. As a result, an eficient, scalable and low cost network infrastructure will be presented.

LISTA DE FIGURAS Figura 1 - Ilustrao do modelo Ethernet criada por Bob Metcalf .................................. 14 Figura 2 - Funcionamento bsico do SNMP..................................................................... 17 Figura 3 - Representao da estrutura Dispositivo Gerenciado, Agente e Sistema de Gerenciamento................................................................................................................... 19 Figura 4 - Um "probe" envia estatsticas para o console................................................ 20 Figura 5 - Representao de servidores virtuais hospedados em uma mquina fsica 23 Figura 6 - Mquina virtual executando o sistema Ubuntu .............................................. 24 Figura 7 - Crescimento no nmero de downloads do Nagios ....................................... 26 Figura 8 - Organizao de hosts e servios no Nagios .................................................. 28 Figura 9 - Tela do plugin Nagvis ....................................................................................... 29 Figura 10 - Sistema de dependncias do Nagios ............................................................ 31 Figura 11 - Alguns tipos de grficos RRD exibidos com o Cacti ................................... 33 Figura 12 -Topologia Fsica da rede ................................................................................. 40 Figura 13 - Topologia Lgica da rede ............................................................................... 42 Figura 14 - Representao do funcionamento do NRPE................................................. 43 Figura 15 - Representao do funcionamento do NsClient++ ........................................ 44 Figura 16 - Representao do funcionamento do plugin check_snmp ......................... 44 Figura 17 - Representao do funcionamento nagios2cacti .......................................... 55 Figura 18 - Modelos no formato RRD ............................................................................... 57 Figura 19 - Tela inicial do Cacti......................................................................................... 58 Figura 20 - Criao do Data Input Method ....................................................................... 59 Figura 21 - Criao do Data Source .................................................................................. 59 Figura 22 - Criao do Modelo de Grfico ....................................................................... 60 Figura 23 - Exemplo de grfico obtidos atravs do nagios2cacti .................................. 60 Figura 24 - Estado Disponvel comprovado atravs do Nagios ..................................... 61 Figura 25 - Tela de Controle de Dispostivos do Cacti ..................................................... 62 Figura 26 - Host em estado Indisponvel acusado pelo Nagios ..................................... 62 Figura 27 - Host em estado Indisponvel acusado pelo Cacti ........................................ 63 Figura 28 - Uso do Processador em estado OK .............................................................. 64 Figura 29 - Host Ferramenta Prime95 ............................................................................... 64 Figura 30 - Nagios informando CpuLoad Critical ............................................................ 64 Figura 31 - Uso de Disco em estado Critical .................................................................... 65 Figura 32 - Modo de login do Windows XP aguardando alerta....................................... 66 Figura 33 - Explorer.exe em estado critico ...................................................................... 66 Figura 34 - Grficos exibidos pelo Cacti .......................................................................... 67

LISTA DE TABELAS Tabela 1 - Servios monitorados no host Servidor para Virtualizao .......................... 51 Tabela 2 - Servios monitorados no host Cliente 1......................................................... 51 Tabela 3 - Servios monitorados no host Cliente 2......................................................... 52 Tabela 4 - Servios monitorados no Cliente Virtual 1 ..................................................... 53 Tabela 5 - Servios monitorados no Cliente Virtual 2 ..................................................... 54

SUMRIO INTRODUO .................................................................................................................... 13 1 O INCIO DAS REDES DE COMPUTADORES ........................................................... 14 1.1 Monitoramento de Recursos Computacionais .................................................. 15 1.1.1 Procolos utilizados para o monitoramento de Redes. ............................... 17 1.2 SNMP (Simple Network Management Protocol) ................................................ 17 1.2.1 Componentes bsicos do SNMP ................................................................. 17 1.3 RMON ................................................................................................................... 19 1.4 Gerencia Pr-ativa de Redes de Computadores ............................................... 20 1.5 Virtualizao ............................................................................................................. 21 1.6 Oracle Virtualbox ..................................................................................................... 22 2 SOLUO DE MONITORAMENTO DE RECURSOS COMPUTACIONAIS UTILIZANDO NAGIOS E CACTI ......................................................................................... 24 2.1 A ferramenta Nagios............................................................................................ 24 2.1.1 Origens .......................................................................................................... 24 2.1.2 Por que o Nagios? ........................................................................................ 25 2.1.3 Como funciona o Nagios.............................................................................. 26 2.1.4 Principais caractersticas do Nagios........................................................... 28 2.1.5 Estados "Hard" e "Soft" ............................................................................... 30 2.1.6 Requisitos .......................................................................................................... 30 2.2 A ferramenta Cacti ............................................................................................... 30 2.2.1 Porque o Cacti?..................................................................................................... 31 2.2.2 Como funciona o Cacti ................................................................................. 32 2.2.3 Conceitos Bsicos sobre RRDTool ............................................................. 33 2.2.4 Requisitos .......................................................................................................... 34 2.3 Vantagens e desvantagens dos sistemas Nagios e Cacti ..................................... 34 2.3.1 Principais Vantagens e Desvantagens do Nagios .......................................... 34 2.3.1 Principais Vantagens e Desvantagens do Cacti ............................................. 35 3 IMPLEMENTAO DO PROJETO ................................................................................. 37 3.1 Introduo ................................................................................................................ 37 3.2 Caractersticas tcnicas da rede de testes ........................................................... 37 3.2.1 Topologia fsica da rede de testes ................................................................... 38 3.2.2 Hardware utilizado ............................................................................................ 39 3.2.3 Topologia lgica da rede de testes .................................................................. 40 3.3 Anlise dos problemas e respectivos recursos utilizados como soluo ........... 40 3.3.1 Problemas e recursos utilizados...................................................................... 40 3.3.2 Monitoramento de hosts e servios atravs do Nagios ................................. 41 3.4 Recursos monitorados e sistema de alertas para o Nagios ............................. 43 3.4.1 Monitoramento de Servios em Hosts Windows ............................................ 43 3.4.2 Monitoramento de Servios em Hosts Linux .................................................. 47 3.4.3 Lista de equipamentos, servios e alertas do Nagios .................................... 48 3.4.4 Criando arquivo RRD para exportao ............................................................ 52 3.4.5 Configurando o nagios2cacti ........................................................................... 53 3.4.6 Configurando o Cacti ........................................................................................ 55 4 TESTES............................................................................................................................ 59 4.1 Teste de Estado (Indisponvel ou Disponvel)........................................................ 59 4.2 Teste de uso do processador.................................................................................. 61 4.3 Teste de Uso de Espao em Disco ......................................................................... 63 4.4 Teste de Execuo do Processo Explorer.exe ...................................................... 64 4.5 Teste de Criao dos Grficos no Cacti ................................................................. 65 CONSIDERAES FINAIS E TRABALHOS FUTUROS .................................................... 66 BIBLIOGRAFIA ................................................................................................................... 67

INTRODUO O ser humano possui uma natureza social, portanto tem necessidade de se comunicar. Por milhares de anos o homem vem se comunicando atravs de diferentes mtodos como a voz, diagramas rudimentares, a escrita, entre outros. Com a evoluo da civilizao, os meios de comunicao tambm evoluram, de forma que nos dias atuais chegou-se ao nvel do compartilhamento de informaes e muitos tipos de recursos computacionais atravs das redes de computadores. Atualmente tais redes fornecem suporte a uma variedade de atividades humanas como, por exemplo, a maneira com que se aprende ou se informa. Atravs de ferramentas como Mensageiros Instantneos, Blogs, Podcasts e Wikis a informao compartilhada de forma rpida e de maneira colaborativa, momento em que os usurios da rede participam ativamente deste processo utilizando tais ferramentas para disponibilizar seus prprios contedos ao pblico. Uma grande vantagem nesse caso a rpida e precisa atualizao de contedos, o que no acontece com livros, por exemplo. Pode-se tambm citar outras vantagens como disponibilidade destes recursos a um pblico muito maior, reduo de custo e consistncia na qualidade de ensino. Redes de computadores tambm influenciam a maneira de se trabalhar e se divertir. Muitas companhias disponibilizam uma imensa quantidade de material voltado ao entreterimento como msicas, vdeos, aplicaes, games etc. Profissionais podem trabalhar distancia, mesmo de suas residncias, o que cria uma nova classe operria, inclusive, os "Teleworkers". Enfim, as redes de computadores evoluram de tal maneira na atual sociedade que muitas das tecnologias tornaram-se

dependentes das tecnologias que envolvem as redes para funcionar. Resumidamente, as redes mudaram, inclusive, a forma de se viver. (DYE, Rick MCDONALD, RUFI, 2008, p.2) Para que a sociedade se beneficie dos recursos oferecidos pelas redes, tornou-se necessrio o uso de ferramentas avanadas de controle e monitoramento, que oferecem meios pelos quais um rede e seus recursos fiquem disponveis o maior tempo possvel. No decorrer deste projeto ser oferecida uma soluo eficiente e a baixo custo para monitorament de recursos computacionais atravs das ferramentas livres Nagios e Cacti, que esto classificadas entre as melhores do mercado.

O INCIO DAS REDES DE COMPUTADORES

A histria das redes de computadores, como conhecida, inicia-se na dcada de 60, precisamente no ano de 1969, quando nasce a Arpanet, a qual visava a conexo e troca de informaes entre instituies de ensino nos Estados Unidos. Inicialmente era uma rede de porte pequeno, dispunha apenas de quatro ns que se comunicavam de maneira efetiva para a poca, uma vez que ainda no existiam aplicaes e variedade de contedo trafegando na rede. Nesta fase da evoluo das redes de computadores, as ferramentas de monitoramento e gerenciamento ainda no existiam. No fim dcada de 70 surge a tecnologia Ethernet (atualmente a mais utilizada em LANs), o que considerado um grande avano, uma vez que a velocidade de transmisso entre dois hosts pode alcanar velocidades de at 10mbps, muito mais que o suficiente para a poca desde que aplicaes como e-mail, telnet e chat s estavam comeando a serem utilizadas devido implantao do TCP/IP, em 1974.

Figura 1 - Ilustrao do modelo Ethernet criada por Bob Metcalf FONTE: http://www.gdhpress.com.br/redes A figura 1 mostra um desenho feito por Bob Metcalf, principal pesquisador do projeto Ethernet e um dos grandes responsveis pela implantao da tecnologia no mercado. O desenho explica de forma simplificada o funcionamento do modelo Ethernet. No incio, a tecnologia Ethernet e a Arpanet no eram ligadas diretamente, visto que possuam funes distintas. A primeira visava a conexo de equipamentos em LANs, o que facilitava o compartilhamento de recursos, enquanto que a segunda tinha como objetivo principal conectar sites remotos muito similarmente ao que acontece hoje em dia com as WANs. Ambas tecnologias deram origem aos dois tipos de rede mais conhecidos atualmente, a Internet e as redes locais (LANs). Em 1990 o acesso Internet finalmente liberado e rapidamente um nmero impressionante de websites, blogs, redes sociais, aplicaes etc, tomaram conta da rede ao mesmo tempo em que os computadores pessoais tambm passavam a fazer parte da vida do cidado comum. De meio de comunicao a Internet

14

passa a ser utilizada como plataforma de desenvolvimento, e, hoje, disponibiliza um crescente nmero de servios e aplicaes. Com essa enorme e crescente quantidade de trfego invadindo as LANs e a Internet, faz-se necessria a utilizao de ferramentas especializadas de Monitoramento, uma pea importantssima da infra-estrutura de TI no contexto atual das redes. (Morimoto, 2008)

1.1

Monitoramento de Recursos Computacionais

Para James F. Kurose (Kurose, 2006 p.8), algumas das funes do administrador de redes atualmente so: monitorar equipamentos remotos para garantir seu funcionamento adequado, gerenciar reativamente o sistema, ou seja, realizar modificaes de acordo com as mudanas ocorridas e gerenciar pr ativamente, que significa monitorar e corrigir possveis anomalias no comportamento da rede que possam ser sinais de problemas futuros. Na poca do incio da Arpanet, e mesmo h alguns anos atrs, a preocupao com gerncia e monitoramento de redes no existia praticamente, assim como a padronizao e o uso de procedimentos metodolgicos em vrios setores da Tecnologia da Informao. Com a evoluo rpida das redes e dos recursos disponibilizados atravs delas, fez-se necessria a evoluo e organizao das tecnologias necessrias para se manter essa estrutura funcionando corretamente. O que era testado h vinte anos atrs com um simples ping demanda, hoje requer ferramentas muito mais complexas e avanadas. luz ainda do livro de Kurose (Kurose, 2006 p.9), entre as funes que podem ser monitoradas em uma rede, tem-se: Hosts - O administrador precisa ter certeza de que servidores, impressoras e outros equipamentos desta categoria esto ativos e desempenhando suas funes de maneira adequada. Trfego - Com a crescente utilizao de aplicaes que fazem uso de recursos de rede, os limites de banda tornaram-se uma questo muito importante nos dias atuais. Ferramentas adequadas ajudam o administrador a perceber se o projeto da rede, assim como a banda oferecida para links internos e externos so suficientes. Um exemplo simples um monitoramento de link de Internet, com isolamento do trfego por aplicao. Desta maneira tem-se a idia exata de como a banda utilizada por cada aplicao, o que auxilia em um melhor planejamento dos recursos.

15

Service Level Agreements (SLAs) - Os Acordos de Nvel de Servio so contratos com provedores de rede que especificam nveis aceitveis de performance do link. Atravs do monitoramento possvel verificar se os SLAs esto sendo cumpridos devidamente pelo provedor. Deteco de intrusos - Segurana a maior preocupao de muitos profissionais de rede devido quantidade e complexidade das ameaas tecnolgicas e de engenharia social que atuam no mercado. Com as devidas ferramentas um administrador pode reagir de maneira efetiva, ou mesmo coibir ataques contra uma organizao antes mesmo que eles aconteam. Desempenho - O profissional de redes deve classificar, medir e ajustar equipamentos diversos alm da estrutura e organizao de uma rede para que se obtenha o desempenho mximo. Dentro de um contexto financeiro, a otimizao de uma rede aliada reduo de custos um interesse por parte de qualquer empresa. Falhas - Atravs de protocolos como o SNMP (Simple Network Management Protocol) pode-se obter informaes sobre falhas de equipamentos e conexes praticamente em tempo real. Um administrador, por exemplo, pode utilizar ferramentas instaladas em seu celular que permitem acesso sua estao de monitoramento na empresa e receber mensagens SMS ou e-mails com notificaes, caso falhas ocorram. Em resumo, pode-se dizer que o monitoramento de redes consiste em coletar e analisar informaes provenientes de recursos e trfego. As ferramentas disponveis para esta tarefa trabalham em diferentes camadas do modelo ISO/OSI. Na camada um tm-se equipamentos sofisticados que verificam o status dos enlaces, CRC, erros causados por problema eltricos etc. Nas camadas dois e trs, tm-se os analisadores de protocolos, visto que as camadas mais altas do modelo ISO/OSI se utilizam de protocolos especiais para controlar a transmisso de dados. As verses mais atuais das ferramentas de monitoramento proporcionam o suporte a aplicaes extremamente especficas. Os sistemas de preveno de intrusos (IPS's), por exemplo, ajudam o administrador a identificar ameaas a segurana. Outros sistemas monitoram o desempenho de equipamentos e aplicaes, e h tambm os sistemas responsveis por coletar e analisar dados sobre o trfego em enlaces. Na prxima sesso sero discutidos os principais protocolos utilizados para monitoramento de redes.

16

1.1.1 Protocolos utilizados para o monitoramento de Redes.

Existem vrias abordagens no que diz respeito ao monitoramento de redes, as quais se utilizam de muitas ferramentas e protocolos diferenciados. Sero apresentados a seguir o protocolo de comunicao SNMP e a MIB RMON, uma vez que as ferramentas Nagios e Cacti se utilizam destes para a obteno de dados. 1.2 SNMP (Simple Network Management Protocol)

De acordo com a empresa Cisco Systems, lder mundial e referncia na fabricao de equipamentos de rede e desenvolvimento de tecnologias, o SNMP um protocolo da camada de aplicao que facilita a troca de informaes de gerenciamento entre dispositivos de rede. parte da pilha Transmission Control Protocol / Internet Protocol (TCP/IP) e habilita a administrao de desempenho em uma rede, localizao de problemas e planejamento para o crescimento futuro. A ltima verso do protocolo o SNMP3, que oferece mais recursos e criptografia, diferente das verses anteriores (Cisco Systems, 2010).

Figura 2 Funcionamento bsico do SNMP FONTE: http://www.cisco.com/en/US/docs/internetworking

A Figura 2 representa de maneira simples o funcionamento do SNMP. Um servidor recebe informaes de equipamentos como roteadores, servidores, impressoras, que suportem e tenham habilitada a funo SNMP em sua configurao. 1.2.1 Componentes bsicos do SNMP

Uma rede gerenciada pelo protocolo SNMP possui trs componentes bsicos que devem

17

ser entendidos: Dispositivo Gerenciado - Estes so equipamentos que esto presentes na rede gerenciada por SNMP e disponibilizam informaes relativas a seu funcionamento, desempenho ao sistema de gerenciamento de redes. Exemplos de dispositivos gerenciados so servidores, switches, roteadores, impressoras, bridges e

computadores pessoais. Agente - Agentes so softwares instalados nos dispositivos gerenciados e fazem o papel de coletores de dados e tradutores. Para que os dados possam ser obtidos e interpretados pelo Sistema de gerenciamento, estes necessitam estar em formato correto, ou seja, precisam seguir o padro do SNMP. Sistema de gerenciamento de redes - Este tipo de sistema equipado com memria e recursos de processamento suficientes para que possa executar aplicaes e outras funes de monitoramento e gerncia. Utiliza-se dos agentes instalados nos dispositivos gerenciados para obter informaes.

Figura 3 Representao da estrutura Dispositivo Gerenciado, Agente e Sistema de Gerenciamento FONTE: http://www.cisco.com/en/US/docs/internetworking A Figura 3 representa o processo de obteno de dados por meio do Sistema de Gerenciamento (topo) e como os agentes (meio) esto habilitados nos trs dispositivos gerenciados do exemplo. O primeiro requisita dados aos agentes, que por suas vez consultam bases de dados locais conhecidas como MIBs (Managemente Information Base).

18

As MIBs so colees de informaes organizadas hierarquicamente e que so acessadas por protocolos como o SNMP. So compostas por objetos gerenciveis e so identificadas individualmente por IDs. Uma discusso mais aprofundada sobre o funcionamento das MIBs est fora do escopo deste trabalho, porm pode ser encontrada no site da empresa Cisco Systems (vide Bibliografia) ou na RFC 1066. De acordo com a evoluo do SNMP, novas funes e operaes foram implementadas, porm de forma bsica estas operaes foram divididas em: read - comando utilizado pelo sistema de gerenciamento para monitorar os dispositivos, no qual as variveis correspondentes a cada objeto so examinadas. write - comando utilizado para controle do dispositivo gerenciado. O sistema de gerenciamento pode mudar valores, ou seja, pode interferir no dispositivo gerenciado. trap - comando usado por dispositivos gerenciados para reportar eventos ao sistema de gerenciamento, caso tais eventos ocorram.O comando write, muitas vezes, no utilizado por alguns fabricantes, uma vez que o protocolo SNMP ainda no possui um sistema de autenticao, portanto, pode representar uma vulnerabilidade crtica de segurana (Cisco Systems, 2010). 1.3 RMON

O RMON (Remote Network Monitoring) , na verdade, uma MIB baseada em SNMP que foi desenvolvida pela IETF (Internet Engineering Task Force) como o intuito de suportar o monitoramento e anlise de protocolos em LANs. De acordo com a empresa Cisco Systems, a verso atual (RMON2) oferece suporte s camadas Fsica, Enlace de Dados, Rede e Aplicao. Agentes RMON vm instalados por padro em muitos equipamentos de rede. (Cisco Systems, 2010) RMON foi projetado para que trabalhe de uma forma diferente da maioria dos sistemas baseados em SNMP, por exemplo, dispositivos localizados em pontos estratgicos na rede fazem o papel de "probes" que capturam e armazenam dados atravs de SNMP (vide figura 4). Estes dados sero passados ao sistema de gerenciamento apenas quando solicitados, o que faz com que tais probes necessitem de uma quantidade considervel de recursos. Em outras palavras, RMON foca principalmente o monitoramento baseado em fluxo, enquanto outras ferramentas iram se focar em status de dispositivo (Ex: Nagios). Uma MIB RMON2 consiste de 9 grupos ou categorias de dados que podem ser extrados e organizados,

19

porm, em muitas implementaes, apenas algumas so utilizadas, se levada considerao a performance.

em

Figura 4 Um "probe" envia estatsticas para o console FONTE: http://www.cisco.com/en/US/docs/internetworking

1.4

Gerencia Pr-ativa de Redes de Computadores

Segundo

artigo

publicado

pela

empresa

Netcordia

(Netcordia,

Inc.,

2010),

os

administradores da rea de Tecnologia da Informao esto cada vez mais sob presso para assegurar alta performance, disponibilidade e ambientes seguros com o menor custo possvel. Em um ambiente heterogneo e complexo como o atual, os profissionais de TI (Tecnologia da Informao) devem utilizar abordagem diferenciada da antiga administrao reativa, na qual aes so tomadas aps a ocorrncia do problema. Faz-se necessria a utilizao de ferramentas de anlise pr-ativas, que continuamente monitorem a rede garantindo os aspectos necessrios para que esta funcione de maneira efetiva. Um conjunto de ferramentas de monitoramento ajuda o administrador a cumprir tarefas como: Reduzir o risco de falhas. Reduzir vulnerabilidades de segurana. Otimizar a performance da rede. Tornar a equipe de TI mais produtiva e eficiente. Em muitas situaes, a disponibilidade e confiabilidade so fatores crticos para o sucesso de uma organizao. No entanto, o problema maior vem do fato de que as redes tornaram-

20

se grandes e complexas. Alm disso, as tecnologias de comunicao tm passado por uma transformao voltada a convergncia, ou seja, as redes atuais transportam dados, voz e vdeo. Um nico erro causado por m configurao ou descuido pode causar prejuzos da ordem de milhes. De acordo com uma pesquisa realizada pela empresa Enterprise Management Associates (EMA, 2010), cerca de 80% de todos os problemas nas infraestruturas de redes so causados por erros de configurao. Manter todos os ativos de rede sobre detalhado monitoramento muito difcil e consome muito tempo do administrador, alm de que a quantidade de dados que devem ser analisada enorme. Para isso, os profissionais de TI devem adotar solues que ajudem a capturar o mximo de dados de forma que seja de fcil entendimento e que reflita o estado real da rede. O monitoramento pr-ativo permite que o administrador seja avisado sobre possveis problemas antes que eles aconteam, de maneira que medidas corretivas podem ser tomadas. Do ponto de vista da qualidade do servio de TI, torna-se muito interessante o uso de ferramentas que avisam o administrador sobre a falha de um enlace, ou a falta de espao em disco em um servidor, antes mesmo que o usurio final perceba o problema. Alguns exemplos de funes especficas que podem ser monitoradas pr-ativamente so: Configuraes de equipamentos. Problemas relacionados performance de interfaces e estatsticas. Memria e uso de CPU. Estabilidade de protocolos e Vlans etc. Nesta pesquisa utiliza-se a combinao das ferramentas Nagios e Cacti, que alm de gratuitas esto classificadas entre as mais poderosas e flexveis do mercado, especialmente por se tratar de ambientes vastos e heterogneos, com grande quantidade de dispositivos e enorme volume de dados a serem analisados. 1.5 Virtualizao

De acordo com a empresa Vmware, lder no mercado e pioneira no desenvolvimento de estruturas de virtualizao, a tecnologia x86 tradicional foi projetada para que um nico sistema operacional pudesse ser executado por vez em uma mquina fsica. A tecnologia de virtualizao permite que vrias mquinas virtuais possam ser executadas na mesma mquina fsica (vide Figura 5), assim como vrios sistemas operacionais e aplicaes. O princpio bsico de funcionamento baseia-se em um software que virtualiza os recursos da mquina fsica - incluindo CPU, RAM, Disco rgido e interface de rede o que faz com que as mquinas virtuais se comportem exatamente como o sistema que a hospeda. Cada

21

mquina virtual possui um sistema completo, isso elimina possveis conflitos. A virtualizao consiste, portanto, em uma camada de software que, atravs de um sofware monitor de mquinas virtuais, compartilha recursos de hardware, dinamicamente, e de maneira transparente. Este projeto utiliza-se da tecnologia de virtualizao para construir um ambiente de testes de fcil utilizao, eficiente, flexvel e a baixo custo.

Figura 5 - Representao de servidores virtuais hospedados em uma mquina fsica FONTE: O autor 1.6 Oracle Virtualbox

Neste projeto, utilizada a ferramenta Virtualbox para a criao do ambiente de testes de monitoramento. Esta pertencia empresa Sun Microsystems, e atualmente desenvolvida pela Oracle Corporation. A partir de sua instalao em um ambiente hospedeiro podem-se criar sistemas "convidados" chamados de guests. A ferramenta oferece suporte aos sistemas Linux, Mac OS, Windows e FreeBSD. A verso VirtualBox Open Source Edition foi escolhida para este projeto, gratuita e est licenciada sob a GNU (General Public License). Atravs do uso desta ferramenta se ter acesso a mltiplos sistemas independentes e completos, ou seja, possuem placa de rede, processador, memria RAM e disco rgido independentes. A ferramenta foi escolhida devido facilidade de uso, experincia do autor deste projeto, confiabilidade, tipo de licena e suporte a uma grande variedade de sistemas. Na Figura 6 observa-se o sistema Linux Ubuntu sendo executado como guest do sistema FreeBSD.

22

Figura 6 - Mquina virtual executando o sistema Ubuntu FONTE: O autor

23

2 SOLUO DE MONITORAMENTO DE RECURSOS COMPUTACIONAIS UTILIZANDO NAGIOS E CACTI

A proposta deste trabalho informar sobre a integrao entre as ferramentas Nagios e Cacti como uma soluo para monitoramento de recursos computacionais, porm para que se entenda essa proposta preciso, primeiramente, entender o porqu de se utilizar essas duas ferramentas, assim como suas origens, vantagens, desvantagens, funcionalidades e requisitos. Primeiramente, tem-se o fato de que ambas as ferramentas so gratuitas e esto classificadas entre as melhores do mercado, o que proporciona qualidade a baixo custo. A razo pela qual se trata da integrao das duas ferramentas o fato de que oferecem recursos completamente diferentes. O Nagios utiliza um sistema de alertas que mantm o administrador informado sobre a situao da rede e dos recursos computacionais, enquanto o Cacti utiliza estes dados para gerar grficos, o que facilita o entendimento da situao real da rede. Portanto, nas prximas sees sero discutidos Nagios e Cacti em detalhes para que se possa ter uma viso mais ampla desta soluo. 2.1 A ferramenta Nagios

2.1.1 Origens

O Nagios um sofware livre distribudo por meio da licena GPL, criado por Ethan Galstad. Atualmente uma grande comunidade de desenvolvedores ao redor do planeta participa do desenvolvimento desta ferramenta que surgiu com o nome de Netsaint, nos anos 90. O NetSaint era apenas uma pequena ferramenta DOS que se utilizava do comando "ping" para testar conectividade com servidores Novell. Esta aplicao tambm conseguia se utilizar de aplicaes de terceiros e resgatar dados, organizando-os em arquivos de texto. Este o incio da arquitetura Servidor-Plugins, utilizada pelo Nagios e que resultou em um enorme sucesso da ferramenta. Em 1998, Ethan lanou uma verso aprimorada do NetSaint para que funcionasse na plataforma Linux. Esta verso foi otimizada para que pudesse monitorar hosts e servios de maneira efetiva. No ano de 2002, devido a problemas com os direitos do nome NetSaint, Galstad muda o nome de sua ferramenta para Nagios e, a partir deste ponto, o software tornou-se cada vez mais conhecido internacionalmente. Nos ltimos anos, Nagios tem vencido muitos prmios e vem sendo utilizado em larga escala, principalmente por

24

empresas de grande porte como ISPs (Internet Service Providers), devido a sua robustez e escalabilidade. A Figura 7 demonstra o crescimento no nmero de downloads da ferramenta nos ltimos anos, observando-se uma mdia de cinco mil downloads mensais em 2001, e picos prximos dos cem mil downloads entre 2009 e 2010.

Figura 7 - Crescimento no nmero de downloads do Nagios Fonte: http://www.nagios.org/about/propaganda/statistics 2.1.2 Por que o Nagios?

Existem no mercado vrias ferramentas para recursos computacionais, algumas distribudas gratuitamente como o Nagios e outras pagas como o Orion Solar Winds, que chega a custar milhares de dlares. A deciso em se utilizar o Nagios parte da ideia de reduo de custo, um fator primordial dentro das empresas de TI, hoje em dia, e tambm por ser considerado uma das ferramentas mais poderosas no mercado, atualmente, adapta-se a todo o tipo de ambiente, alm de apresentar a flexibilidade de uma arquitetura que permite a participao direta do usurio atravs de customizao e criao de plugins. Em outras palavras, pode-se listar algumas funcionalidades chave do Nagios como: Web interface. No importa a localidade onde se encontra o administrador, pode-se verificar a sade da rede desde que se tenha acesso a um browser; Recursos de rede como HTTP e FTP podem ser monitorados assim como recursos de hosts como espao em disco, processos, logs, recursos de processamento e memria etc; Pode-se gerar relatrio para tendncias, alertas, viabilidade e notificaes atravs da

25

interface web; Plugins podem ser programados pelo prprio administrador ou uma equipe caso o Nagios no fornea a princpio as informaes desejadas; "Downtime" programvel. Enquanto servidores esto off-line para manuteno ou recursos esto indisponveis por razes conhecidas pode-se ativar o modo downtime e notificaes no so enviadas; Estrutura de monitoramento redundante. Para que o servidor de monitoramento no corra o risco de falhar, pode-se utilizar uma estrutura "Master and Slave", ou seja, um segundo servidor Nagios pode ser utilizado como Backup para o primeiro. Caso haja falha, o servidor de backup assume o controle automaticamente. 2.1.3 Como funciona o Nagios

Um dos propsitos principais de um sistema de monitoramento detectar falhas no funcionamento de mquinas e servios, portanto, o administrador avisado imediatamente sobre o problema (Kocjan, 2008, p.8). O sistema Nagios no executa suas funes por si s. Utiliza-se de plugins para realizar as verificaes necessrias. Tais plugins podem ser desenvolvidos por usurios em qualquer linguagem de programao, o que torna a estrutura do Nagios extremamente flexvel. Os objetos monitorados pelo sistema Nagios podem ser divididos em duas categorias bsicas: hosts e servios. Hosts so mquinas fsicas como servidores, switches,

impressoras, roteadores etc. Servios so funcionalidades como um servidor web, impresso, e-mail, entre outros. Tais servios so associados com o host no qual so executados. Grupos de hosts e servios podem tambm ser criados, o que facilita a organizao dos objetos.

26

Figura 8 - Organizao de hosts e servios no Nagios FONTE: Learning Nagios 3.0 p.8

A Figura 8 explica o conceito de hosts e servios no Nagios. O host 1 por exemplo, possui 4 servios associados, so eles : Webserver, Database server, FTP server e SSH server. Host 1 e Host 2, por sua vez, formam o grupo Hostgroup 1. Caso uma ao seja aplicada a esse grupo, esta ir afetar Host 1 e Host 2, respectivamente. O Nagios possui um estilo de exibio dos dados que simplifica sua visualizao. Em vez de utilizar nmeros e percentagens, o sofware utiliza quatro estados para demonstrar o status de servios e equipamentos: OK, WARNING, CRITICAL, e UNKNOWN. Esta abordagem facilita muito o trabalho do administrador que ao invs de monitorar valores numricos o tempo todo, pode customizar estes valores de forma que os quatro estados do Nagios reflitam o estado da rede de maneira eficiente. Por exemplo, em determinada rede a utilizao mdia do link de Internet pode girar em torno dos 40%. Em outra, a percentagem pode ser em torno de 65%, portanto, os administradores devem customizar os estados de maneira que o Nagios possa informar anomalias na utilizao destes links, eficientemente. Em geral, administradores tendem a desconsiderar coisas como uma lenta diminuio do espao em disco em um servidor, e, at que se perceba o problema, este poder fazer com que usurios sejam impossibilitados de gravar arquivos, at usar o sistema de maneira eficiente. Em casos como esse, ferramentas de monitoramento so muito importantes para se prevenir problemas desse tipo. Nagios se utiliza de plugins para monitorar seus objetos. Tais plugins so componentes externos, os quais passam informaes ao servidor. So responsveis por verificar e analisar resultados, ou seja, so transformados em um dos quatro estados citados anteriormente e enviados ao servidor, assim como um relatrio detalhado adicional, que

27

pode ser lido por administradores experientes. Existem plugins capazes de monitorar basicamente qualquer tipo de objeto de uma companhia. O site www.nagiosplugins.org deve ser checado para maiores informaes sobre as centenas de plugins disponveis. A Figura 9 exibe uma tela do plugin Nagvis, a qual possibilita a visualizao do status de estruturas, servidores e outros objetos por meio de diagramas e fotografias.

Figura 9 Tela do plugin Nagvis FONTE: http://exchange.nagios.org/directory/image/128

2.1.4 Principais caractersticas do Nagios

Como citado anteriormente, a caracterstica mais forte do Nagios a flexibilidade, ou seja, pode ser configurado em detalhes pelo administrador. Tambm possui um mecanismo que reage automaticamente em caso de problemas e um poderoso sistema de notificaes. De acordo com Kocjan (Kocjan, 2008, p.25), todas essas funcionalidades so baseadas em um sistema claro de definies e tipos de objetos, a saber: Comandos - definies de como o Nagios deve executar verificaes especficas; na verdade, so uma camada de abstrao que permite o agrupamento de operaes similares. Perodos de Tempo - controlam quando aes devem ser executadas ou no. Por exemplo: segunda a sexta entre 7:00 e 18:00 horas. Contatos e grupos de contato - Informaes sobre as pessoas que devem ser contatadas e os meios de contato. Podem ser agrupadas para facilitar o contato de vrias pessoas. Hosts - informaes sobre mquinas fsicas, como a verificao deve ser efetuada e

28

quais as pessoas a serem contatadas. Servios - vrias funcionalidades ou recursos a serem monitorados em um host especfico, contatos, alm de como e quando a verificao deve ser feita. Hierarquia de notificaes para Hosts e Servios - define perodos nos quais pessoas adicionais devem ser notificadas. Por exemplo, se um servidor de misso crtica estiver off-line por mais de 4 horas, a gerncia pode ser notificada (Kocjan, 2008 p.12). Outra caracterstica muito importante do Nagios o avanado sistema de dependncias do sistema. Por exemplo, se um roteador est off-line, todas as mquinas e servios acessados atravs deste equipamento so obviamente afetadas. Alguns sistemas no levam isso em considerao, o que resulta em um excesso monstruoso de notificaes a respeito de todas as mquinas e servios afetados. A figura 8 exemplifica o sistema de notificaes do Nagios. Neste exemplo, o Switch 1 est off-line, portanto o Nagios no monitora o Router 1 e os demais equipamentos e servios dependentes.

Figura 10 Sistema de dependncias do Nagios FONTE: Learning Nagios 3.0 p.12

29

2.1.5 Estados "Hard" e "Soft"

O Nagios utiliza um sistema de quatro estados para informar o administrador sobre o status de um objeto (vide seo 2.1.3). Porm, para que se evitem problemas temporrios, que resultam em notificaes que no refletem o estado real da rede, o Nagios utiliza estados "hard" e "soft" para descrever o estado do objeto naquele momento. Por exemplo, se o administrador precisa reiniciar um servidor web e este processo faz com pginas web fiquem sem acesso por alguns segundos, o Nagios no deve enviar notificaes uma vez que se trata de um perodo aceitvel. Caso o servidor continue indisponvel por tempo acima do permitido pelo administrador como aceitvel, a ferramenta avisa, ento, as pessoas responsveis. Se o Nagios no possusse este tipo de estado temporrio, um evento como esse poderia ativar uma srie de notificaes equivocadas. A configurao de " soft" e "hard" states pode ser feita para cada host individualmente, o que proporciona maior flexibilidade. 2.1.6 Requisitos

De acordo com o site oficial do Nagios (www.nagios.org), os requerimentos necessrios para a instalao e utilizao da ferramenta so: Um servidor com sistema operacional Linux ou variao Unix, Acesso a rede e Um compilador C. Obs: Detalhes sobre o hardware utilizado, verses de sistemas operacionais, processo de instalao, entre outros, so discutidos na seo 3.2.2 deste trabalho. 2.2 A ferramenta Cacti

De acordo com Kundu e Lavlu (2009) o Cacti uma ferramenta de cdigo aberto distribuda sob a licena GPL, escrito em PHP/MySQL, que utiliza o plataforma RRDTool ( Round-robin database tool) para armazenar dados e gerar grficos, e que coleta dados periodicamente, atravs da utilizao da ferramenta Net-SNMP ( uma aplicao que implementa o uso de SNMP ). A ferramenta Cacti teve seu incio em 2001 quando Ian Berry comeou a desenvolv-lo

30

enquanto trabalhava em um ISP (Internet Service Provider) nos Estados Unidos. Berry j utilizava a ferramenta RRDTool que no possui uma interface amigvel e de difcil configurao. A partir desta ideia, iniciou-se o desenvolvimento do Cacti com a utilizao das linguagens PHP/MySQL e a primeira verso veio a pblico em novembro de 2001. Em 2004, Berry convida um segundo desenvolvedor para ajudar na tarefa, e atualmente a equipe conta com seis membros oficiais, e, claro, os milhares de contribuidores ao redor do mundo. 2.2.1 Porque o Cacti?

Como o Nagios, o Cacti uma ferramenta free, ou seja, no h custo com licenas para o usurio. Tradicionalmente, a montagem de grficos feita atravs de dados obtidos com o SNMP, porm outros tipos de fontes podem ser utilizados, como Shell Scripts ou Perl. H vrias razes pelas quais o Cacti torna-se uma ferramenta poderosa para o administrador, entre elas: fcil de instalar e no requer avanados conhecimentos de sistemas operacionais para uma configurao bsica. No requer muitos pacotes como pr-requisitos. Possui uma excelente interface construda com a utilizao do PHP/MySQL. A comunidade de usurios vasta e ativa, portanto o suporte e atualizaes so de fcil acesso. Permite a integrao com outras ferramentas gratuitas, atravs de plugins. A figura 9 exibe alguns dos tipos de grficos criados pela ferramenta RRDTool e exibidos atravs da interface do Cacti.

31

Figura 11 - Alguns tipos de grficos RRD exibidos com o Cacti FONTE: www.cacti.net

2.2.2 Como funciona o Cacti

Nesta seo sero discutidas as trs principais tarefas executadas pelo Cacti: Obteno de dados - O Cacti obtm dados utilizando um "poller", ou seja, uma aplicao executada de acordo com um perodo de tempo e registrada como um servio que depende da plataforma utilizada. Uma estrutura de redes contm diferentes dispositivos como roteadores, switches, impressoras, servidores, alm de outros equipamentos como firewals e IPS's (Intrusion Prevention Systems). Para obter dados destes dispositivos remotos, o sistema utiliza SNMP, ou seja, dispositivos com funcionalidades SNMP podem ser monitorados pelo Cacti. Armazenamento de dados - H vrias opes no que diz respeito ao armazenamento de dados com o Cacti, como bases de dados SQL e arquivos de texto. No entanto, o sistema utiliza a ferramenta RRDTool, a qual se discute nas prximas sees deste trabalho. Basicamente, o padro RRD armazena e exibe as informaes obtidas atravs do SNMP e as consolida utilizando funes como AVERAGE (Mdia), MINIMUM (Mnimo), MAXIMUM (Mximo), entre outras. Isto faz com o que este sistema seja muito rpido e utilize o mnimo de espao em disco. Apresentao de dados - A funo mais importante do Cacti e da ferramenta RRDTool a construo de grficos. As funes integradas de ambas as

32

ferramentas possibilitam a criao de grficos com base em um nico item, ou vrios itens, assim como legendas, mximo, mdia etc. 2.2.3 Conceitos Bsicos sobre RRDTool

De acordo com informaes do site do desenvolvedor, a ferramenta RRDTool um sistema de alta performance para criao de logs e grficos. Foi construda para trabalhar sobre dados como banda, temperatura de data-centers, carga de CPU, carga do servidor etc. Atravs deste sistema o administrador pode armazenar e analisar dados coletados dos dispositivos. E com base na anlise feita pela ferramenta RRDTool, so criados os grficos sobre os dados coletados durante determinado perodo de tempo. RRDTool escrita em linguagem C e armazena dados em arquivos .rrd. O nmero de registros em um arquivo .rrd nunca aumenta, ou seja, registros antigos so apagados. Alguns comandos oferecidos pelo sofware para manipulao dos arquivos .rrd so: create, update, updatev, graph, dump, restore, fetch, tune, last, info, rrdresize, xport e rrdcgi. Mais detalhes sobre os comandos da RRDTool podem ser encontrados no site http://oss.oetiker.ch/rrdtool/doc/rrdtool.en.html. Tambm so oferecidas funes que podem ser chamadas a partir de outras linguagens. A ferramenta Cacti escrita em PHP e utiliza tais funes para fazer uso do RRDTool (Oetiker, 2010). O funcionamento bsico deste sistema segue um projeto lgico para obter e processar os dados coletados da fonte. Este processo divido em trs etapas bsicas: Aquisio dos dados - Quando se monitora um dispositivo, dados devem ser obtidos em intervalos de tempo constantes. Esta tarefa muito difcil de ser realizada manualmente, portanto RRDTool utiliza-se de uma aplicao "poller" que obtm tais dados em intervalos definidos pelo administrador. Consolidao dos dados - Bases de dados podem se tornar gigantescas, caso o intervalo de coleta de dados seja pequeno, como cinco minutos, por exemplo. A ferramenta RRDTool resolve este problema atravs da consolidao dos dados em perodos pr-definidos. Por exemplo, todos os sbados a ferramenta transforma os dados coletados com intervalo de cinco minutos durante os ltimos sete dias e os converte em um nico dado que contm AVERAGE, MINIMUM, MAXIMUM, entre outros. Desta forma, o tamanho do banco de dados extremamente reduzido, o que torna a ferramenta ideal para ambientes com grande volume de dados. Criao dos grficos - RRDTool permite que o administrador gere relatrios em

33

forma grfica e numrica, os quais so baseados nos dados obtidos e armazenados nos arquivos .rra. Tais grficos podem ser customizados em forma, tamanho e contedo. 2.2.4 Requisitos

De acordo com o site oficial do Cacti (www.cacti.net), os requerimentos necessrios para a instalao e utilizao da ferramenta so: Um servidor com sistema operacional Linux ou variao Unix. Acesso rede. RRDTool 1.0.49 or 1.2.x ou superior. MySQL 4.1.x or 5.x ou superior. PHP 4.3. ou superior, 5.x ou superior para funes avanadas. Um Web Server como Apache ou IIS Obs.: Detalhes sobre o hardware utilizado, verses de sistemas operacionais, processo de instalao, entre outros, so discutidos na seo 3.2.2 deste trabalho. 2.3 Vantagens e desvantagens dos sistemas Nagios e Cacti

Nesta sesso so apresentadas de forma resumida as principais vantagens e desvantagens de ambas as ferramentas.

2.3.1 Principais Vantagens e Desvantagens do Nagios

Classificado entre as melhores ferramentas do mercado, o software Nagios possui como principais vantagens: Open Source. Grande comunidade de usurios. Poderosos plugins que podem ser desenvolvidos facilmente por usurios.

34

Interface web de fcil utilizao. Sistema claro de dependncias que elimina a emisso de alerta desnecessrios. Sistema de grupos de hosts e servios que facilita a configurao. Atravs de pesquisas em fruns de usurios, nas comunidades e testes realizados pelo prprio autor identificou-se algumas das desvantagens principais do Nagios: O foco do sistema a verificao de disponibilidade de hosts e servios, portanto, o Nagios no gera grficos. Faz-se necessrio o uso de uma segunda ferramenta. A configurao atravs de arquivos de texto complexa e facilita a ocorrncia de erros. Muitas vezes os plugins desenvolvidos por usurios no so bem programados e apresentam falhas. O entendimento da funo de cada plugin consome grande quantidade de tempo, principalmente de usurios iniciantes. Por exemplo: check_http 80!win2003k!do!10!30!body Algumas verificaes so executadas no servidor Nagios, (a maioria executada atravs dos addons NRPE e NSClient++) o que resulta em uma carga muito maior sobre o equipamento, principalmente quando milhares de hosts e servios so monitorados. 2.3.1 Principais Vantagens e Desvantagens do Cacti

O Cacti considerado a principal ferramenta utilizada como interface da RRDTool. Praticamente tudo configurado atravs do uso da sofisticada interface web e o resultado de alta qualidade. As principais vantagens do Cacti so: Interface web simples e bonita. Possui o recurso de zoom atravs de Java Script. Sistema eficiente de permisses, o que facilita a segurana e eficincia do sistema. Sistemas de trees (rvores), atravs do qual o usurio obtm muitos tipos diferentes de vises em detalhes, as quais so customizveis. As principais desvantagens identificadas na ferramenta so:

35

O intervalo padro das verificaes igual a 5 minutos, e quando modificado pode apresentar dados incoerentes. So necessrias trs verificaes para que o administrador possa comear a visualizar os dados. A interface web confusa no que se refere a algumas funes. No realiza o resumo de mltiplos recursos, o que torna confuso o acompanhamento de clusters.

36

3 IMPLEMENTAO DO PROJETO

3.1 Introduo

Neste projeto discute-se a implementao de um prottipo de um sistema de monitoramento com Nagios e Cacti, atravs de um processo de virtualizao com a ferramenta Oracle Virtual Box. Os principais objetivos deste prottipo so:

Testar a integrao das ferramentas Nagios e Cacti no que diz respeito a desempenho e qualidade e confiana das informaes obtidas. Documentar os processos e testes.

A estrutura de mquinas virtuais foi criada especificamente para este projeto, portanto no havia sistema de monitoramento ou rede anterior. De acordo com a experincia do autor com sistemas de monitoramento diversos (Orion Solar Winds, Sysaid 7.0, Cisco LMS etc) e pesquisa realizada no site nagios.org para o levantamento das funcionalidades do sistema, verificou-se a possibilidade de utilizao do prottipo em estudo como soluo dos seguintes problemas:

Disponibilidade de acesso Internet. Controle de espao em Discos rgidos. Monitoramento do roteador que oferece acesso Internet. Controle das estaes de trabalho. Controle do uso de memria RAM. Monitoramento do processo Explorer.exe para mquinas Windows. Monitoramento do processo W3SVC na mquina com o sistema Windows Server 2003.

3.2 Caractersticas tcnicas da rede de testes Para a rede de testes foi montada uma estrutura de mquinas virtuais utilizando a ferramenta VirtualBox. O servidor Nagios/Cacti foi instalado e configurado em uma destas Vm's (Virtual Machines) atravs do sistema operacional Linux Ubuntu. Atravs do processo de virtualizao foi possvel a simulao de uma rede composta por sete computadores executando diferentes sistemas operacionais. Na seo 4 deste trabalho os testes de monitoramento e desempenho so feitos para simulao de trfego na rede.

37

O esquema de endereamento para as redes de testes foi definido, a saber:

Endereo de rede: 192.168.1.0 Mscara de Rede: 255.255.255.0 Gateway Padro: 192.168.1.1 Endereo de Broadcast: 192.168.1.255

A rede 192.168.1.0 suporta at duzentos e cinquenta e trs hosts, mais que suficiente para o nmero de equipamentos utilizados no projeto. O protocolo SNMP V2 foi habilitado nas mquinas virtuais para que as ferramentas Nagios e Cacti pudessem obter todos os dados necessrios para o monitoramento efetivo. A comunidade criada para o SNMP do tipo RO (Read-Only) e foi nomeada public.

3.2.1 Topologia fsica da rede de testes

Figura 12 Topologia Fsica da rede FONTE: O autor

38

3.2.2 Hardware utilizado A infraestrutura de monitoramento criada para esta pesquisa utiliza um sistema de virtualizao no qual vrios sistemas foram instalados para implementao e testes em uma rede Ethernet. As especificaes de Hardware e Software utilizados so apresentadas na sequncia: Servidor de Virtualizao: Laptop Dell modelo XPS16 Sistema Operacional: Windows 7 Home Edition. Processador: Intel I7 2.26GHZ. Memria Ram: 6Gb Ddr3 1033Ghz. Disco Rgido: 500Gb. Software para virtualizao: Oracle Virtual Box 3.2.4.

Mquina fsica 1: Computador do tipo Desktop Sistema Operacional: Windows XP Processador: Semprom 1.6 Ghz Memria Ram: 1Gb Ddr 400Mhz Disco Rgido: 40Gb

Mquina fisica 2: Computador do tipo Desktop Sistema Operacional: Windows XP Processador: Intel Dual Core 3.2Ghz Memria Ram: 1Gb Ddr2 667Mhz Disco Rgido: 80Gb

Mquinas Virtuais:

1 servidor Linux executando a distribuio Ubuntu 9.04 para o servidor Nagios e Cacti. 1 cliente executando o Windows XP SP2 para testes de monitoramento. 1 cliente Linux executando a distribuio Fedora para testes de monitoramento.

39

1 cliente executando o Windows Server 2003 para testes de monitoramento

3.2.3 Topologia lgica da rede de testes

Figura 13 Topologia Lgica da rede FONTE: O autor

3.3 Anlise dos problemas e respectivos recursos utilizados como soluo Na seo 2.1 deste trabalho explica-se alguns dos princpios bsicos da ferramenta Nagios. Nesta etapa discute-se a aplicao prtica em um ambiente de simulao onde feita a aplicao do Nagios. A seo 3.4.6 esclarece como o Cacti participa da etapa final de exibio dos dados coletados na rede de testes.

3.3.1 Problemas e recursos utilizados Como citado anteriormente, o Nagios baseia-se em um sistema que verifica o estado de um Host ou servio. Portanto, aps um estudo detalhado sobre suas funes, concluiu-se que para este estudo as funes a seguir deveriam ser testadas: Monitoramento de Hosts e Servios e Disponibilidade do Link de acesso Internet. Em seguida, os dados coletados foram exportados para um arquivo .rrd que foi utilizado para alimentar a ferramenta Cacti

40

para que grficos pudessem ser gerados com eficincia.

3.3.2 Monitoramento de hosts e servios atravs do Nagios Com relao ao monitoramento de hosts, no Nagios existem dois casos: Hosts Windows e hosts Linux. A maneira na qual o monitoramento feito muda em alguns aspectos:

Hosts Linux: necessria a instalao do addon NRPE para que o Nagios possa executar plugins em hosts remotos. Caso o NRPE no seja instalado, o Nagios no tem acesso a recursos internos do sistema como uso de processador, espao em disco, uso de memria RAM etc. Outra alternativa, seria o uso de SSH (Secure Shell) para realizar conexes remotas e, em seguida, obter informaes atravs de comandos nativos do sistema, enviando as informaes ao servidor Nagios, porm este processo muito intenso, o que o torna invivel, caso o nmero de hosts e servios seja grande. A figura 10 demonstra a lgica de funcionamento do NRPE.

Figura 14 - Representao do funcionamento do NRPE FONTE: http://www.nagios.org

O servidor Nagios executa o plugin check_nrpe, que solicita os dados ao addon NRPE instalado no host remoto. O addon, por sua vez, obtm dados sobre uso de disco, processador etc e os envia para o servidor. O processo de instalao do NRPE no tratado neste trabalho, porm pode ser encontrado no site oficial do Nagios.

Hosts Windows: Neste caso, a utilizao do agente NSClient++ necessria. Este pequeno software envia as informaes ao servidor Nagios que as processa atravs do plugin check_nt. Existem outras alternativas, porm a documentao oferecida no clara. A figura 13 representa o funcionamento do agente.

41

Figura 15 - Representao do funcionamento do NsClient++ FONTE: http://www.nagios.org

O plugin check_nt consulta o agente NSClient++ em busca de informaes sobre uso de Cpu, memria Ram, espao em disco, processos em execuo e servios. O processo de instalao do NSClient++ no tratado neste trabalho, porm pode ser encontrado no site oficial do Nagios.

Link de acesso Internet - Este recurso no requer a utilizao de addons ou agentes no equipamento. O plugin check_snmp pode utilizar o protocolo ICMP (Internet Control Message Protocol) para testar a conectividade entre os dispositivos finais e o roteador utilizado na rede de testes, assim como um endereo externo para a comprovao de acesso Internet. Caso haja necessidade de informaes sobre status de porta e estatsticas de trfego como a perda de pacotes, por exemplo, o equipamento deve suportar a funo SNMP, que deve ser ativada e configurada. A lgica de funcionamento do check_snmp pode ser observada na figura 14.

Figura 16 - Representao do funcionamento do plugin check_snmp FONTE: http://www.nagios.org

Observa-se que o check_snmp consulta informaes da base de dados SNMP contida no Roteador ou Switch.

42

3.4

Recursos monitorados e sistema de alertas para o Nagios

Nesta seo so definidos os servios monitorados nos hosts Windows e Linux e as respectivas thresholds, ou seja, quando os alerta devem ser disparados. O processo de instalao do Nagios bem simples, porm requer algum conhecimento de sistemas Unix/Linux, visto que a ferramenta instalada atravs do terminal e requer a execuo de alguns comandos. O processo est disponvel em detalhes no site da ferramenta, portanto no tratado neste trabalho. A configurao correta dos alerta importante para que o administrador tenha uma viso real do estado da rede e dos recursos. A implementao foi feita exatamente da maneira que se segue e comprovada atravs de testes e simulaes nas prximas sees deste trabalho.

3.4.1 Monitoramento de Servios em Hosts Windows O Nagios utiliza um sistema de arquivos .cfg para armazenar as configuraes do sistema, no caso dos servios monitorados nos hosts Windows, o arquivo utilizado o windows.cfg, que fica localizado no diretrio usr/local/nagios/etc/objects/windows.cfg. Nestes arquivos so adicionados os hosts e seus respectivos servios. A seguir observa-se um exemplo de um host declarado neste arquivo.
define host{ use host_name alias address } windows-server winserver My Windows Server 192.168.1.2

Este bloco de cdigo adiciona um host do tipo Windows ao sistema. As informaes sobre cada campo do cdigo so expostas a seguir:

define host - informa ao Nagios que o cdigo a seguir, delimitado por chaves ( {} ), faz parte da declarao de um novo host Windows no sistema. use - faz com que o novo host herde propriedades de um modelo previamente criado.

43

host_name - define o nome do novo host. alias - pode-se definir um alis, ou seja, uma palavra que substitui o nome do host. address - endereo Ip do novo host

Neste exemplo, a mquina virtual que executa o sistema operacional Windows Server 2003 foi adicionada ao Nagios e ser utilizada para mostrar como so configurados os servios.Para detalhes fsicos e lgicos deste servidor consultar as figuras 11 e 12. A definio de cada servio monitorado neste host apresentada na sequncia:

Espao em discos rgidos: Espao em disco um problema crescente nos servidores, visto que o volume de arquivos grandes gerados por muitas aplicaes aumenta a cada dia. Um outro problema o uso indevido para armazenamento de msicas e vdeos, alm dos arquivos duplicados. Monitorar o uso dos discos com o Nagios facilita o controle do administrador sobre servidores e at estaes de usurios. A definio de cada servio tambm realizada no arquivo windows.cfg citado. A seguir, explica-se como configurado o monitoramento para este caso. define service{ use host_name service_description check_command } generic-service winserver C:\ Drive Space check_nt!USEDDISKSPACE!-l c -w 80 -c 90

O cdigo apresentado faz com que o Nagios emita um alerta e passe o recurso para o status Warning, caso o uso do disco rgido exceda oitenta por cento da capacidade total. Caso o volume de dados ultrapasse noventa por cento da capacidade do disco, o Nagios passa o status do recurso para o estado Critical e emite um alerta de nvel mais alto. Seguem as definies de cada campo:

define service - define um novo servio. use - possibilita a utilizao de um modelo criado anteriormente. host_name - nome do host no qual o recurso monitorado. service_description - oferece a opo de criar uma breve descrio do recurso ou servio. check_comand - executa o plugin + parmetros.

44

Atravs deste cdigo, o uso de disco na mquina virtual em execuo do Windows Server 2003 ativado. Uso de processador: Os processadores so componentes crticos em servidores e estaes de trabalho. O uso excessivo da capacidade de processamento pode indicar que o equipamento no comporta a necessidade do usurio ou empresa, ou que est sendo mal utilizado, afetado por cdigos maliciosos etc. O cdigo a seguir foi adicionado ao arquivo windows.cfg para que o processador do host "cliente virtual 1" (vide figura 11) seja monitorado.

define service{ use host_name service_description check_command } Esse cdigo permite o monitoramento da CPU de forma que o uso da capacidade de processamento acima de oitenta por cento, por cinco minutos consecutivos, faz que o Nagios mude seu estado para Warning. Caso este valor seja maior que noventa por cento, durante cinco minutos, o estado passar para Critical. generic-service winserver CPU Load check_nt!CPULOAD!-l 5,80,90

define service - define um novo servio. use - possibilita a utilizao de um modelo criado anteriormente. host_name - nome do host no qual o recurso monitorado. service_description - oferece a opo de criar uma breve descrio do recurso ou servio. check_comand - executa o plugin + parmetros.

Uso de memria Ram: cdigos maliciosos e excesso de carga em um servidor ou estao de trabalho podem causar o esgotamento do espao na memria Ram. O resultado a perda de desempenho e travamentos do sistema. O monitoramento deste recurso crtico para que se evitem problemas com indisponibilidade de servidores e segurana, uma vez que ataques do tipo buffer overflow podem explorar esta

vulnerabilidade. A configurao deste recurso no arquivo windows.cfg apresentada:

45

define service{ use host_name service_description check_command } Esse cdigo faz com que o Nagios altere o status do recurso memria Ram para Warning, caso o uso ultrapasse oitenta por cento, e Critical, caso este exceda os noventa por cento. Definio dos campos: generic-service winserver Memory Usage check_nt!MEMUSE!-w 80 -c 90

define service - define um novo servio. use - possibilita a utilizao de um modelo criado anteriormente. host_name - nome do host no qual o recurso monitorado. service_description - oferece a opo de criar uma breve descrio do recurso ou servio. check_comand - executa o plugin + parmetros.

Processos em execuo: Alguns processos so extremamente importantes para a execuo de qualquer sistema operacional. Em sistemas Windows, por exemplo, o processo Explorer.exe chamado de processo pai, do qual muitos outros dependem. Este processo deve, sem dvida, ser monitorado em servidores que executam verses do Windows. A configurao do monitoramento de processos simples: define service{ use host_name service_description check_command } Quando configurado desta forma, o Nagios muda o status do processo para Critical, caso este no esteja executando. O exemplo a seguir demonstra o monitoramento do processo W3SVC no Windows Server, que corresponde ao servio WWW proporcionado pelo IIS da Microsoft. um processo crtico para servidores web. Explorer check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe generic-service winserver

46

define service{ use host_name service_description check_command } W3SVC check_nt!SERVICESTATE!-d SHOWALL -l W3SVC generic-service winserver

3.4.2 Monitoramento de Servios em Hosts Linux Aps o processo de instalao do NRPE, o primeiro passo para se configurar o monitoramento nos hosts Linux a criao de uma definio para o plugin NRPE, em um dos arquivos de configurao de objetos do servidor Nagios. O seguinte arquivo deve ser aberto e editado atravs de um editor como vi ou gedit: /usr/local/nagios/etc/commands.cfg

O seguinte cdigo deve ser adicionado:

define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }

O segundo passo a definio de hosts e servios. O arquivo localhost.cfg contm um modelo de definies de host que podem ser utilizados, neste caso, foi adicionado um novo modelo chamado linux-box ao arquivo localhost.cfg (um novo arquivo poderia ser criado) como se segue: define host{ name linux-box ; Name of this template use generic-host ; Inherit default values check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 notification_period 24x7

47

notification_interval 30 contact_groups admins }

A descrio dos campos para esta definio apresentada:

define host - define um novo modelo de hosts. name linux-box - nome deste modelo. use generic-host - herda os valores do modelo bsico. check_interval - define o intervalo de monitoramento. retry_interval - define o intervalo das tentativas, caso o host ou servio esteja indisponvel. max_check_attempts - define o nmero mximo de tentativas antes que o host ou servio tenha seu estado alterado. notification_period - define o perodo no qual notificaes so enviadas. notification_interval - define o intervalo no qual as notificaes so enviadas. contact_groups - define os contatos que recebem as notificaes.

Aps este primeiro passo, os hosts devem ser criados, assim como os servios monitorados em cada um deles. O processo idntico ao anterior, no qual se explica como configurado o monitoramento em hosts Windows (vide seo 3.4.1), portanto, no ser abordado em detalhes.

3.4.3 Lista de equipamentos, servios e alertas do Nagios

As tabelas a seguir indicam como foram feitas as configuraes de alerta para cada host da rede de testes. Para maiores detalhes sobre cada equipamento vide seo 3.2.2 e 3.2.3. A Tabela 1 demonstra como sero configurados os alarmes do Nagios para os servios executados no host Servidor para Virtualizao:

Tabela 1 - Servios monitorados no host Servidor para Virtualizao


Nome do Servio Perdo de monitora mento Perdo de notificaes Janela ou tempo de medio Estado Ok Estado Warning Estado Critical

48

Sistema Operacional: Windows 7 Status

24x7

24x7

Resposta ICMP = Ok

Sem resposta ICMP por mais de 3 minutos

Controle de Espao em Disco Uso do processador Uso da memria RAM Processos em Execuo (Explorer.exe)

24x7

24x7

>80%

>90%

Sem resposta ICMP por mais de 5 minutos <90%

24x7 24x7 24x7

24x7 24x7 24x7

3 minutos 3 minutos -

>80% >80% Processo est em execuo

>90% >90% Processou parou por at 3 minutos

<90% <90% Processo parou por mais de 3 minutos

Fonte: Autor

Pode-ser observar na Tabela 1 que os perdos de notificaes e monitoramento so iguais a 24x7, ou seja, vinte e quatro horas por dia e sete dias por semana. A mesma configurao para este campo utilizada para todos os hosts da rede. O estado do host ser alterado para Warning caso no haja resposta ICMP por mais de trs minutos e Critical caso o tempo seja maior que cinco minutos. O servios de controle de espao em disco, uso do processadoe e uso da memria RAM sero alterados para Warning caso os respectivos valores de controle sejam maiores que oitenta por cento e menores que noventa por cento, o estado ser considerado Critical caso os valores sejam maiores que noventa por cento.

A Tabela 2 demonstra como sero configurados os alarmes do Nagios para os servios executados no host Cliente 1: Tabela 2 - Servios monitorados no host Cliente 1
Nome do Servio Perdo de monitora mento Perdo de notificaes Janela ou tempo de medio Estado Ok Estado Warning Estado Critical

Sistema Operacional: Windows XP Status

24x7

24x7

Resposta ICMP = Ok

Sem resposta ICMP por mais de 3 minutos

Controle de Espao em Disco Uso do processador Uso da memria RAM

24x7

24x7

>80%

>90%

Sem resposta ICMP por mais de 5 minutos <90%

24x7 24x7

24x7 24x7

3 minutos 3 minutos

>80% >80%

>90% >90%

<90% <90%

49

Processo em Execuo (Explorer.exe)

24x7

24x7

Processo est em execuo

Processou parou por at 3 minutos

Processo parou por mais de 3 minutos

Fonte: Autor

De acordo com a tabela 2, o estado do host ser alterado para Warning caso no haja resposta ICMP por mais de trs minutos e Critical caso o tempo seja maior que cinco minutos. O servios de controle de espao em disco, uso do processadoe e uso da memria RAM sero alterados para Warning caso os respectivos valores de controle sejam maiores que oitenta por cento e menores que noventa por cento, o estado ser considerado Critical caso os valores sejam maiores que noventa por cento.

A Tabela 3 demonstra como sero configurados os alarmes do Nagios para os servios executados no host Cliente 2: Tabela 3 - Servios monitorados no host Cliente 2
Nome do Servio Perdo de monitora mento Perdo de notificaes Janela ou tempo de medio Estado Ok Estado Warning Estado Critical

Sistema Operacional: Windows XP Status

24x7

24x7

Resposta ICMP = Ok

Sem resposta ICMP por mais de 3 minutos

Controle de Espao em Disco Uso do processador Uso da memria RAM Processo em Execuo (Explorer.exe)

24x7

24x7

>80%

>90%

Sem resposta ICMP por mais de 5 minutos <90%

24x7 24x7 24x7

24x7 24x7 24x7

3 minutos 3 minutos -

>80% >80% Processo est em execuo

>90% >90% Processou parou por at 3 minutos

<90% <90% Processo parou por mais de 3 minutos

Fonte: Autor

De acordo com a tabela 3, o estado do host ser alterado para Warning caso no haja resposta ICMP por mais de trs minutos e Critical caso o tempo seja maior que cinco minutos. O servios de controle de espao em disco, uso do processadoe e uso da memria RAM sero alterados para Warning caso os respectivos valores de controle sejam maiores que oitenta por cento e menores que noventa por cento, o estado ser considerado Critical caso os valores sejam maiores que noventa por cento.

50

A Tabela 4 demonstra como sero configurados os alarmes do Nagios para os servios executados no host Cliente 2: Tabela 4 - Servios monitorados no Cliente Virtual 1
Nome do Servio Perdo de monitora mento Perdo de notificaes Janela ou tempo de medio Estado Ok Estado Warning Estado Critical

Sistema Operacional: Windows Server 2003 Status

24x7

24x7

Resposta ICMP = Ok

Sem resposta ICMP por mais de 3 minutos

Controle de Espao em Disco Uso do processador Uso da memria RAM Processo em Execuo (Explorer.exe) Processo em Execuo (W3svc.exe)

24x7

24x7

>80%

>90%

Sem resposta ICMP por mais de 5 minutos <90%

24x7 24x7 24x7

24x7 24x7 24x7

3 minutos 3 minutos -

>80% >80% Processo est em execuo

>90% >90% Processou parou por at 3 minutos Processou parou por at 3 minutos

<90% <90% Processo parou por mais de 3 minutos Processo parou por mais de 3 minutos

24x7

24x7

Processo est em execuo

Fonte: Autor

De acordo com a tabela 3, o estado do host ser alterado para Warning caso no haja resposta ICMP por mais de trs minutos e Critical caso o tempo seja maior que cinco minutos. O servios de controle de espao em disco, uso do processadoe e uso da memria RAM sero alterados para Warning caso os respectivos valores de controle sejam maiores que oitenta por cento e menores que noventa por cento, o estado ser considerado Critical caso os valores sejam maiores que noventa por cento. Este host executa o sistema Opercional Windows Server 2003, portanto o processo W3svc.exe que muito importante para sua execuo deve ser monitorado

A Tabela 5 demonstra como sero configurados os alarmes do Nagios para os servios executados no host Cliente 2:

51

Tabela 5 - Servios monitorados no Cliente Virtual 2


Nome do Servio Perdo de monitora mento Perdo de notificaes Janela ou tempo de medio Estado Ok Estado Warning Estado Critical

Sistema Operacional: Linux Fedora Status

24x7

24x7

Resposta ICMP = Ok

Sem resposta ICMP por mais de 3 minutos

Controle de Espao em Disco Uso do processador Uso da memria RAM Nmero de Processos em Execuo

24x7

24x7

>80%

>90%

Sem resposta ICMP por mais de 5 minutos <90%

24x7 24x7 24x7

24x7 24x7 24x7

3 minutos 3 minutos -

>80% >80% No h alterao

>90% >90% Processo parou por at trs minutos

<90% <90% Processo parou por mais de 3 minutos

Fonte: Autor

De acordo com a tabela 5, o estado do host ser alterado para Warning caso no haja resposta ICMP por mais de trs minutos e Critical caso o tempo seja maior que cinco minutos. O servios de controle de espao em disco, uso do processadoe e uso da memria RAM sero alterados para Warning caso os respectivos valores de controle sejam maiores que oitenta por cento e menores que noventa por cento, o estado ser considerado Critical caso os valores sejam maiores que noventa por cento.

3.4.4 Criando arquivo RRD para exportao Aps a configurao do Nagios, o prximo passo a exportao dos dados obtidos para um arquivo que possa ser lido pelo Cacti, ou seja, um arquivo do tipo RRD. H vrias opes disponveis do site oficial do Nagios e para este trabalho foi escolhido o addon nagios2cacti. Este script cria um arquivo que poder ser lido pelo Cacti, a grande vantagem deste sistema o mnimo uso da banda de rede, visto que a ferramenta Cacti monitora atravs do

protocolo SNMP. Uma vez que os dados foram colhidos pelo Nagios, no faz sentido uma outra ferramenta executar o mesmo processo, portanto os dados so apenas transferidos e traduzidos para o formato RRD. A figura 17 exemplifica o processo:

52

Figura 17 - Representao do funcionamento nagios2cacti FONTE: http://n2rrd.diglinks.com/cgi-bin/trac.fcgi

De acordo com a figura 15, dados de monitoramento so extrados dos equipamentos da rede atravs dos plugins do Nagios que utilizam o nagios2cacti ou outra ferramenta do tipo N2RRD para abastecer o banco de dados RRD, que, por sua vez, utilizado pelo Cacti para a criao dos grficos.

A instalao do script nagios2cacti pode ser seguida passo a passo no site oficial da ferramenta (http://code.google.com/p/nagios2cacti/) e no ser abordado. Porm algumas consideraes devem ser feitas a respeito da configurao do script: So duas as formas oferecidas para a comunicao entre o Nagios e o nagios2cacti:

Pipe: Este mtodo utiliza menos recursos. O Nagios passa os dados atravs de um tnel e o servio perd2rrd os recebe em tempo real. Caso o servio perf2rrd trave, os dados naquele perodo sero perdidos.

UDP: Este mtodo o mais seguro, visto que os dados do Nagios so armazenados em um arquivo. Este excludo, caso a transferncia seja comprovada, caso contrrio, os dados so mantidos at que a transferncia seja efetuada.

3.4.5 Configurando o nagios2cacti

53

A configurao do nagios2cacti, a seguir, considera que os valores padro de instalao foram mantidos. O primeiro arquivo que deve ser configurado o n2rrd.conf que fica localizado no diretrio /etc/n2rrd/n2rrd.conf.

As variveis que devem ser obrigatoriamente configuradas so:

CACTI_DIR : Caminho para o diretrio do Cacti. NAGIOS_CONF_DIR : Caminho para os arquivos de configurao do Nagios /etc/nagios/ por padro. ROTATION : Rotation mode : d for diria, h para horria, n para nenhuma. SERVICE_PERFDATA_PIPE : Caminho para o pipe (perf2rrd) PERFDB_USER : usurio. PERFDB_PASSWORD : senha. PERFDB_HOST : nome do servidor. TEMPLATE_SEPARATOR_FIELD : "@" por padro, separador para diferenciar nome de servio de nome de template, exemplo: cpu_pload@CPULOAD O diretrio /etc/n2rrd/templates/rra contm os modelos necessrios para monitoramento de espao em disco, uso do processador etc.

Figura 18 - Modelos no formato RRD FONTE: O Autor O mtodo de comunicao utilizado nos testes deste trabalho o Pipe, a configurao deve ser feita no arquivo /etc/nagios/nagios.cfg, onde o seguinte cdigo deve ser adicionado:

54

process_performance_data=1 service_perfdata_file=/var/log/nagios/perfdata.pipe

service_perfdata_file_template=[SERVICEPERFDATA]|$SERVICEDESC$|$HOSTNAME$|$ HOSTADDRESS$|$TIMET$|$SERVICEEXECUTIONTIME$|$SERVICELATENCY$|$SERVI CESTATE$|$SERVICEOUTPUT$|$SERVICEPERFDATA$ service_perfdata_file_mode=w

Nesse caso, so estipulados os campos escritos no arquivo temporrio perfdate.pipe. O prximo passo iniciar o servio atravs do comando:

/usr/lib/N2Cacti/perf2rrd.pl -u -d -c /etc/n2rrd/n2rrd.conf

Este comando executa o script de configurao automtica do nagios2cacti.

3.4.6 Configurando o Cacti O processo de instalao do Cacti no apresenta dificuldade e pode ser obtido no site oficial da ferramenta, portanto no ser abordado neste trabalho. A tela inicial do Cacti desenvolvida em PHP e bastante intuitiva.

Figura 19 - Tela inicial do Cacti FONTE: O Autor

A ferramenta apresenta duas abas principais:

55

Console: onde so realizadas todas as configuraes. Graphs: onde so exibidos os resultados finais (grficos).

Como este trabalho no trata de estudos aprofundados nas funes do Cacti, apenas o processo de vinculao dos modelos com o nagios2cacti ser abordado. A configurao normal do Cacti feita atravs da guia Console, na qual os dispositivos devem ser adicionados atravs do endereo Ip, nome da comunidade SNMP etc. Neste caso um novo modelo de entrada de dados (template) deve ser criado e vinculado ao arquivo /var/log/nagios/perfdata.pipe, no qual so gravados os dados coletados pelo Nagios. A figura 20 exemplifica o processo:

Figura 20 - Criao do Data Input Method FONTE: O Autor

De acordo com a figura 18, uma nova entrada de dados foi criada, em que o caminho para o Pipe indicado no campo Input String. O nome da entrada de dados foi definido como DiskSpaceNagios, que corresponde ao controle de espao em Disco. O prximo passo a criao de um Data Source que pode ser vinculado a um modelo de host no futuro. A figura 19 exemplifica o processo.

56

Figura 21 - Criao do Data Source FONTE: O Autor

Deve-se observar que no campo Data Input Method agora aparece a opo DiskSpaceNagios que foi criada no passo anterior.

Finalmente deve-se criar um modelo de grfico baseado no Data Source que foi chamado Espao em Disco / Nagios. Segue o exemplo atravs da figura 20.

Figura 22 - Criao do Modelo de Grfico FONTE: O Autor Para que se tenha certeza de que as configuraes funcionam pode-se checar a aba Graphics na tela inicial do Cacti, como foi feito na figura 23:

57

Figura 23 - Exemplo de grfico obtidos atravs do nagios2cacti FONTE: O Autor A figura 21 comprova o sucesso da integrao entre as duas ferramentas desde que no haja servio SNMP ativado em nenhum equipamento na rede de testes, os dados foram importados do arquivo perfdata.pipe, escrito pelo addon nagios2cacti.

58

4 TESTES A variedade de testes possveis em um ambiente no qual vrias ferramentas de monitoramento de recursos computacionais so utilizadas em conjunto vasta, portanto um grupo de Hosts e Servios foram definidos para que fossem testados atravs da ferramentas Prime95 que foi utilizada para simular o uso dos Processadores. Estes testes foram muito teis para comprovar o funcionamento e a eficincia da estrutura combinada de monitoramento Nagios / Cacti. A sesso de testes a seguir verifica o correto funcionamento da ferramenta Nagios ao coletar e reportar dados do host Cliente Virtual 1 (Sistema Operacional: Windows XP) respeito de estado (Disponvel ou Indisponvel), espao em disco, uso de CPU e estado do processo Explorer.exe. O host Cliente Virtual 1 foi ligado ao alias WindowsXPSecurity para facilitar o processo de identificao, portanto quando se refere ao alias nesta sesso o autor est se referindo ao host.

4.1 Teste de Estado (Indisponvel ou Disponvel) Para este teste foi verificado o estado inicial do estado host Cliente Virtual 1. Como se trata de uma mquina virtual que foi iniciada corretamente, o administrador constatou o estado Disponvel atravs da tela Hosts da ferramenta Nagios. A figura 24 comprova o estado do Host.

Figura 24 - Estado Disponvel comprovado atravs do Nagios Fonte: O Autor Aps a comprovao do estado do Host atravs do Nagios, foi verificado o status do mesmo na ferramenta Cacti, o que comprovaria a interao correta das ferramentas. A Figura 25

59

demonstra a tela de controle de Dispositivos do Cacti, na qual pode-se verificar o estado de hosts monitorados pela ferramenta.

Figura 25 - Tela de Controle de Dispostivos do Cacti Fonte: O Autor

O prximo passo adotado neste teste foi o desligamento da mquina virtual correspondente ao host em questo. Aps cinco minutos (intervalo padro das verificaes), o estado do host deveria mudar para Indisponvel. O resultado foi comprovado e pode ser verificado atravs da Figura 26:

Figura 26 - Host em estado Indisponvel acusado pelo Nagios Fonte: O Autor Como pode ser observado na Figura 26, o Nagios alterou o estado do host para Critical, comprovando a efetividade da configurao realizada.

60

A Figura 27 aponta o estado do host na ferramenta Cacti:

Figura 27 - Host em estado Indisponvel acusado pelo Cacti Fonte: O Autor

Observa-se que o estado do host foi alterado para Down, ou seja, indisponvel. J que ambas as ferramentas apontam apontam a mudana de estado do host, concluiu-se que este teste foi realizado com sucesso.

4.2 Teste de uso do processador

Para a realizao deste teste foi instalada a ferramenta Prime95. Este software capaz de manter a carga do processador prxima dos cem por cento de forma constante. Atravs desta ferramenta poder ser verificado se o Nagios ir reportar o incidente. A figura 28 exemplifica o processo.

61

Figura 28 - Uso do Processador em estado OK Fonte: O Autor

De acordo com a Figura 28, o estado do processador exibido como OK, ou seja, de acordo com a configurao realizada anteriormente, o uso deste recurso est abaixo dos oitenta por cento.

A Figura 29 exibe a ferramenta Prime95 sendo utilizada para "sobrecarregar" o processador do host Cliente Virtual 1 em uma mquina virtual.

Figura 29 - Ferramenta Prime95 Fonte: O Autor

Observa-se que o Gerenciador de Tarefas do Windows exibe a carga de cem por cento para o Uso de CPU.

Aps uma espera de aproximadamente dez minutos verificou-se o estado deste campo no Nagios de acordo com a Figura 30:

62

Figura 30 - Nagios informando CpuLoad Critical Fonte: O Autor

Observou-se que o estado do campo CPULoad foi alterado para Critical com sucesso, o que comprova a efetividade da ferramenta Prime95 assim como do Nagios em reportar o problema. Neste caso, o teste muito similar ao feito anteriormente, portanto no ser documentado no Cacti, assim como o teste de consumo de espao em disco.

4.3 Teste de Uso de Espao em Disco O host Cliente Virtual 1 uma mquina virtual criada originalmente com um disco de cinco gigabytes de espao fsico. Aps a instalao do Windows XP e alguns aplicativos bsicos, o espao livre ficou entre quatrocentos e quinhentos megabytes, ou seja, acima do valor de alerta. Portanto verificou-se a mudana de estado na aba Services do Nagios de acordo com a Figura 31:

Figura 31 - Uso de Disco em estado Critical Fonte: O Autor

Como pode ser observado, o estado Critical foi atribudo ao campo C:\ Drive Space

63

confirmando o sucesso do teste de uso de espao em disco.

4.4 Teste de Execuo do Processo Explorer.exe O processo Explorer.exe primordial para o correto funcionamento de um sistema que executa o sistema operacional Windows. Para este teste, o host Cliente Virtual 1 foi reiniciado, porm no foi realizado o logon de maneira que o Explorer.exe no foi iniciado. A figura 32 demonstra o processo realizado:

Figura 32 - Modo de login do Windows XP aguardando alerta Fonte: O Autor

Aps um tempo de espera de aproximadamente sete minutos verificou-se o estado do recurso na tela do Nagios de acordo com a figura 33:

Figura 33 - Explorer.exe em estado critico Fonte: O Autor

64

Conforme o esperado, o estado do processo Explorer.exe foi alterado para Critical, comprovando o sucesso do teste.

4.5 Teste de Criao dos Grficos no Cacti At o momento apenas a funcionalidade do Nagios foi testada e comprovada ao monitorar hosts e servios baseados no sistema Windows. Neste teste, o servidor do Cacti foi adicionado ao Nagios para que seja monitorado e para que as informaes sejam representadas em forma de grfico pelo prprio Cacti. No foi feita a configurao do

protocolo SNMP neste host, portanto no possvel a criao de grficos sem que o Cacti receba estes dados do Nagios que por sua vez obteve dados a partir de seu agente NRPE instalado no host Servidor Nagios/Cacti. Aps alguns minutos de espera a tela de exibio de grficos do Cacti foi verificada. O resultado pode ser observado na figura 34:

Figura 34 - Grficos exibidos no Cacti Fonte: O Autor

Pode-se observar que os grficos esto sendo criados e mantidos atravs dos dados obtidos do Nagios atravs do script nagios2cacti, o que comprova a funcionalidade principal deste trabalho que a integrao das duas ferramentas.

65

CONSIDERAES FINAIS E TRABALHOS FUTUROS

O objetivo deste trabalho foi oferecer uma soluo eficiente de monitoramento de recursos computacionais, a baixo custo, atravs das ferramentas Nagios e Cacti, que pudesse facilitar o trabalho do administrador de redes. Primeiramente, foi necessrio um estudo aprofundado a respeito de ambas as ferramentas, seus recursos, tipos de dados, funcionamento, vantagens, desvantagens e comportamento em ambientes variados. Aps extensa pesquisa bibliogrfica e prtica, foi verificada a possibilidade de integrao das ferramentas para que o administrador tivesse acesso a dados consistentes, o que pode ser difcil de alcanar mesmo com o uso de ferramentas proprietrias, caso estas no sejam compatveis. Em seguida verificou-se a existncia de um addon que faria a exportao de dados obtidos com o Nagios para um formato acessvel pelo Cacti. Tambm notou-se a falta de documentao a respeito, o que tornou este trabalho um desafio aos conhecimentos do autor em relao ao funcionamento de sistemas operacionais Linux. Finalmente, a implementao deste prottipo foi realizada com sucesso e apesar do tamanho reduzido do ambiente de testes foi constatado a eficincia total nos testes realizados at o momento. Porm, apesar do sucesso do projeto deve-se mencionar o grau de dificuldade encontrado na configurao de scripts e entendimento das funes dos sistemas operacionais utilizados, acredita-se que este fator pode ser crtico em muitas empresas, visto que se faz necessria uma equipe de TI com conhecimentos em sistemas Linux, alm de muita pesquisa. Trabalhos Futuros Como trabalhos futuros pode-se apontar: Criao de um pacote de instalao automatizado e intuitivo para o Nagios e o Cacti, de maneira que a integrao das ferramentas torne-se prxima do nvel transparente ao usurio final, ou seja, um front-end para o processo de instalao e configurao bsicos. Este seria um trabalho que resolveria o principal problema encontrado por muitos administradores interessados em utilizar ferramentas livres, a dificuldade de operao.

66

BIBLIOGRAFIA Dinangkur Cacti 0.8 Network Monitoring Wojciech Learning Nagios 3.0 DYE, MCDONALD, Mark A, Network Fundamentals: CCNA exploration companion guide. ed. Cisco Press. Indianapolis, 2009. MORIMOTO, Carlos, Redes, Guia Prtico. ed GDH PRESS e Sul Editores. So Paulo, 2006. KUROSE, James F, Redes de Computadores e a Internet. ed Pearson Addison Wesley. So Paulo, 2005. CISCO SYSTEMS. Snmp Concepts. Disponvel em: < http://www.cisco.com/en/US/docs/internetworking/technology/handbook/SNMP.html >. Acesso em: 18 ago. 2010. IMAGESTREAM INTERNET SOLUTIONS. Network Monitoring. Disponvel em

<http://www.telogic.com.sg/PDF/Monitoring_White_Paper.pdf> Acesso em 6 set. 2010. GOERDEL, Holly, Proactive Management in Networks and Program Performance. Disponvel em < http://www.allacademic.com//meta/p_mla_apa_research_citation/0/6/4/7/9/pages6479 8/p64798-1.php> Acesso em 31 ago. 2010. Netcordia, Inc, Proactive Analysis is the Key to Optimizing Networks. Disponvel em <http://whitepaper.techworld.com/networking/5145/proactive-analysis-is-the-key-tooptimizing-networks/?otc=75&otd=TW> Acesso em 6 set. 2010. Oetiker, T. RRDtool - Logging and Graphing. Disponvel em <http://oss.oetiker.ch/rrdtool/doc/rrdtool.en.html> Acesso em 02 set. 2010. NAGIOS, http://www.nagios.org CACTI, http://www.cacti.net VirtualBox, www.virtualbox.org

67

Вам также может понравиться