ii
Monografia apresentada disciplina Trabalho de Concluso de Curso, do Curso de Engenharia de Computao da Universidade So Francisco, sob a orientao do Prof. Ms Sidney Pio de Campos, como exigncia parcial para concluso do curso de graduao. Orientador: Prof. Ms. Sidney Pio de Campos
iii
Monografia defendida e aprovada em 11 de Dezembro de 2007 pela Banca Examinadora assim constituda:
Prof. Ms. Sidney Pio de Campos (Orientador) USF Universidade So Francisco Itatiba SP.
Prof. Ms. Carlos Eduardo Pagani (Membro Interno) USF Universidade So Francisco Itatiba SP.
Prof. Ms. Mrcio Henrique Zuchini (Membro Interno) USF Universidade So Francisco Itatiba SP.
iv
"As pessoas que vencem neste mundo so as que procuram as circunstncias de que precisam e, quando no as encontram, as criam."
Dedico essa monografia aos meus pais, a minha esposa, aos amigos, aos professores e ao meu orientador que de alguma forma me ajudaram a concluir essa etapa da minha vida.
vi
Agradecimentos
Primeiramente agradeo a Deus por me dar fora e coragem para que conseguisse concluir os estudos.
Agradeo aos meus pais Jos Luiz A. de Oliveira e Rosana Barbosa de Oliveira, que me deram a oportunidade de seguir uma carreira ao qual me sinto honrado em chegar ao fim.
A minha esposa Ana Irene C. de Oliveira, que teve muita pacincia todos esses anos em entender o quanto foi importante eu chegar at aqui, em que vrios momentos deixei-lhe de dar ateno para me dedicar aos estudos.
Aos professores que souberam passar as informaes para que eu pudesse adquirir conhecimentos especficos onde pude crescer na vida pessoal e profissional.
Meu orientador Sidney Pio de Campos, que acreditou em meu trabalho, e me deu total apoio para o desenvolvimento do trabalho.
Enfim, agradeo a todos os amigos, parentes que me ajudaram de alguma forma direta ou indiretamente para a concluso desse trabalho.
vii
Sumrio
Lista de Siglas........................................................................................................................... ix Lista de Figuras......................................................................................................................... x Lista de Tabelas ....................................................................................................................... xi Lista de Tabelas ....................................................................................................................... xi Resumo..................................................................................................................................... xii Abstract .................................................................................................................................. xiii 1 2 3 INTRODUO .................................................................................................................. 1 MOTIVAO .................................................................................................................... 3 2.1 OBJETIVOS .................................................................................................................. 3 GERENCIAMENTO COM SNMP (Simple Network Manage ment Protocol)............ 4 3.1 Introduo do SNMP ..................................................................................................... 4 3.2 O Modelo SNMP ........................................................................................................... 6 3.3 ASN.1 (Abstract Syntax Notation 1) ............................................................................. 6 3.4 A MIB (Management Information Base) ...................................................................... 6 3.5 Funcionalidade do SNMP.............................................................................................. 7 3.6 Gerente .......................................................................................................................... 8 3.7 Agente............................................................................................................................ 8 NAGIOS .............................................................................................................................. 9 4.1 Estatstica dos usurios registrados no Nagios .............................................................. 9 4.2 Monitoramento de Rede e Servios............................................................................. 10 4.2.1 Monitoramento dos Recursos dos Hospedeiros.................................................... 10 4.2.2 Organizao Simples de Plugins .......................................................................... 11 4.2.3 Habilidade para definir Hierarquia de Redes........................................................ 11 4.2.4 Notificaes de Contatos ...................................................................................... 12 4.2.5 Monitorando o Ambiente...................................................................................... 12 4.2.6 Demais Ferramentas do Nagios ............................................................................ 13 4.3 AS CGIS (COMMON GATEWAY INTERFACE) DO NAGIOS............................. 14 4.3.1 CGI de Status ............................................................................................................ 14 4.3.2 CGI de Mapa de Status ............................................................................................. 15 4.3.3 CGI de Interface WAP .............................................................................................. 15 4.3.4 CGI de Apago de Rede............................................................................................ 15 4.3.5 CGI de Tendncia ..................................................................................................... 15 4.3.6 CGI de Relatrio de Disponibilidade........................................................................ 15 4.3.7 CGI de Histograma de Alerta.................................................................................... 15 4.4 RECURSOS ADICIONAIS PARA O NAGIOS ........................................................ 16
viii
4.4.1 NRPE (Nagios Remote Plugin Executer) ............................................................. 16 4.4.2 NSCA (Nagios Service Check Acceptor) ............................................................. 16 4.5 FALHAS NA REDE (Network Outages).................................................................... 17 4.5.1 Diagramas ............................................................................................................. 17 4.6 Determinando o Status e Alcance de Hospedeiros da Rede ........................................ 19 4.6.1 Monitorando Servios em Hospedeiros Inoperantes ( Down) ou Inalcanveis (Unreachable) .................................................................................................................... 19 4.6.2 Hospedeiros Locais............................................................................................... 20 4.6.3 Monitorando Hospedeiros Locais ......................................................................... 20 4.6.4 Hospedeiros Remotos ........................................................................................... 20 4.6.5 Monitorando Hospedeiros Remotos ..................................................................... 21 4.7 Notificaes ................................................................................................................. 22 4.8 Plugins do Nagios ........................................................................................................ 22 4.8.1 Usando os Plugins para checagem de Servios e Hospedeiros ............................ 23 5 ESTUDO DE CASO ........................................................................................................ 24 5.1 Instalao do Nagios.................................................................................................... 24 5.2 Instalando Plugins ....................................................................................................... 24 5.3 Instalando servidor web............................................................................................... 25 5.3.1 Configurando o Apache ........................................................................................ 25 5.4 Configurando o Nagios................................................................................................ 26 5.4.1 CGI.cfg ................................................................................................................. 26 5.4.2 NAGIOS.cfg ......................................................................................................... 27 5.4.3 Adicionando Hospedeiros e Servios para Monitoramento ................................. 27 5.4.4 Definio de contatos e grupo de contatos ........................................................... 27 5.4.5 Definio de servios a serem monitorados ......................................................... 28 5.4.6 Configurando imagens nos hospedeiros ............................................................... 29 5.4.7 Definio de Hospedeiros ..................................................................................... 29 5.4.8 Definio de Servios por grupo .......................................................................... 30 5.4.9 Definio de Grupo de Hospedeiros ..................................................................... 30 5.4.10 Definio de monitorao por perodo de tempo ................................................. 31 TESTES REALIZADOS ................................................................................................. 32 6.1 Dificuldades Encontradas ............................................................................................ 33 CONCLUSO .................................................................................................................. 34 7.1 Contribuies............................................................................................................... 35 7.2 Extenses ..................................................................................................................... 35
6 7
ix
Lista de Siglas
ASN.1 CGI GD GPL HEMS HTTP ICMP IETF NNTP NRPE NSCA MIB OCSP POP RFC RPC SMS UDP SMTP SNMP VRML WAP
Abstract Syntax Notation 1 Common Gateway Interface GD Graphics Library General Public Licensing High-level Entity Monitoring System Hyper Text Transport Protocol Internet Control Message Protocol Internet Engineering Task Force Network News Transfer Protocol Nagios Remote Plugin Executer Nagios Service Check Acceptor Managment Information Base Oline Certificate Status Protocol Post Office Protocol Request for Comments Remote Procedure Call Short Message Service User Datagram Protocol Simple Mail Transfer Protocol Simple Network Managment Protocol Virtual Reality Modeling Language Wireless Application Protocol
Lista de Figuras
Figura 1 - Mostra como funciona o gerente ao se relacionar com o objeto gerenciado. .. 8 Figura 2 Todos os hospedeiros mostrados em vermelho esto inoperantes ou inalcanveis, os demais esto em operao normal. ..................................................... 11 Figura 3 Notificao por WAP .................................................................................... 12 Figura 4 WebSensor EM01B ....................................................................................... 13 Figura 5 Diagrama da rede dos hospedeiros inalcanveis. ........................................ 18 Figura 6 Causa da falha da rede................................................................................... 18 Figura 7 Mostra o Nagios monitorando hospedeiros locais e remotos. ....................... 20 Figura 8 Mostra a rvore de dependncia do Nagios .................................................. 21
xi
Lista de Tabelas
Tabela 1: Conjunto de possveis operaes do SNMP .............................................. 5 Tabela 2 Os grupos de objetos na MIB-II da Internet (Retirado de [9])................. 7
Tabela 3: Ranking dos Pases que utilizam o Nagios ................................................ 9 Tabela 4 Ranking das reas que as Empresas utilizam o Nagios .......................... 9
Tabela 5: Ranking dos Sistemas Operacionais que o Nagios est instalado ........... 10
xii
OLIVEIRA, Ricardo Luiz. Gerenciamento em Redes Utilizando a Ferramenta Nagios. 2007. Monografia Curso de Engenharia de Computao da Universidade So Francisco, Cmpus de Itatiba.
Resumo
Uma empresa que possui Servidores trabalhando ininterruptamente necessita que seus Servidores, Servios e Sistemas trabalhem sem que ocorram falhas. Para poder identificar qualquer problema que venha a ocorrer em algum desses Servidores pode-se utilizar uma ferramenta de gerenciamento de redes. O Nagios uma ferramenta de monitorao de sistemas e aplicaes de rede, ele tem como funo fazer checagens periodicamente nos status de um servidor ou servio que indicado, se houver qualquer falha enviado uma notificao ao administrador. Essas notificaes podem ser enviadas por: e- mail, SMS, Pager, etc. Atravs da Internet pode-se visualizar o status atual da rede, histrico de notificaes e problemas, arquivos de log, etc. O Nagios pode monitorar todos os servidores de um nico local, alguns recursos monitorados pelo Nagios so SMTP, POP3, HTTP, carga do processador, memria, espao em disco, etc. Pode-se desenvolver seu prprio plugin para checagem de outros servio s. Com esse recurso de gerenciamento, a empresa ir obter uma melhora significativa na gesto dos recursos de infra-estrutura de Tecnologia da Informao.
PALAVRAS-CHAVE: Monitoramento, Falha na Rede, Plugin, Hospedeiros, Status da Rede, Software livre.
xiii
Abstract
A company that has Servers working continuously, need that your Servers, Services and Systems keep working without failure. A way to keep able for identify any problem that come to happen in anyone of these Servers can be to use a tool of Network Management. The Nagios is a tool for monitoring of systems and network applications, it has like main function to check periodically the status of a server or service that is indicated, if to have any failure, a notification is sent to administrator. These notification can be to send by email, SMS, Pager, etc. Through of Internet can visualize the current status of network, historical of notifications and problems, files of log, etc. The Nagios can monitory all of servers of a unique local, resources mo nitored by Nagios are SMTP, POP3, HTTP, processor load, memory, disc space, etc. It is possible to develop your own plugin for checking another services. With this resource of management, the company will obtain a significant improvement in the administration of infra-structure resources for Technology of information.
KEY-WORDS: Monitoring, Network Failure, Plugin, Hosts, Status of network, Free Software.
1 INTRODUO
Uma empresa dotada de uma grande rede de computadores, como no caso da Universidade So Francisco, que tem computadores ligados no horrio de expediente administrativo e, na parte especifica ao atendimento hospitalar que a rede permanece ligada durante vinte e quatro horas ininterruptamente se faz necessrio que os servidores ope rem tambm vinte e quatro horas. Para isso necessrio que os seus servios permaneam estveis no se permitindo a ocorrncia de falhas nos servidores, onde alguns servios so de prioridade mxima no podendo sair do ar de forma alguma, como por exemplo, o servidor de e-mail, Proxy, sistemas entre outros. Desta forma h a necessidade de se corrigir esses problemas no menor tempo, ou se possvel antes que os mesmos aconteam, portanto, surgindo necessidade de se implantar um sistema de monitoramento desses recursos de rede. Para isso utiliza- se uma ferramenta de software livre denominada Nagios. O Nagios uma aplicao popular de cdigo aberto e licenciado pelo sistema GPL utilizado para monitorao de redes e servios. Esta ferramenta a evoluo do NetSaint, a qual foi escrita e atualmente mantida por Ethan Galstad, junto com um exrcito de desenvolvedores que ativamente mantm plugins oficiais e no-oficiais. Nagios uma ferramenta de monitorao de sistemas e aplicaes de rede, onde realiza checagens periodicamente nos status de um servio ou hospedeiros, e em caso de falhas envia um alerta aos responsveis. Quando ocorre um problema, o servidor pode enviar notificaes para o administrador de diferentes maneiras: seja elas por e- mail, SMS, Pager, etc. Para visualizao do status atual da rede, histrico de notificaes e problemas, arquivos de log, etc pode ser acompanhado on- line atravs de um browser. Todo monitoramento feito pelo Nagios atravs de plugins. Esses plugins so programas usados sob demanda. Trata-se de executveis, compilados ou scripts desenvolvidos em (Perl, Shell, C, etc.), que podem ser executados por meio da linha de comando para checar o status de um hospedeiro ou servio. O Nagios necessita dos plugins para o seu funcionamento.
1. Monitoramento de rede e servios como SMTP, POP3. HTTP, NNTP atravs do protocolo SNMP e conectividade atravs do protocolo ICMP; 2. Monitoramento dos recursos dos servidores como, carga do processador, memria, espao em disco, etc; 3. Notificaes de contatos em tempo real quando ocorrerem falhas e quando so solucionados por E-mail, Pager, SMS, etc; 4. Criao simples de plugins que permitem aos usurios desenvolverem seus prprios plugins para realizao de servios de checagens; 5. Capacidade para definir hierarquia em redes ao utilizar parent hosts, permitindo a deteco e distino entre os hospedeiros que esto desligados e aqueles que no so alcanveis; 6. Capacidade para definir tratadores de eventos afins de que sejam executados os eventos de servios ou hospedeiros para soluo de problemas; 7. Suporte para monitorao e implementao de hospedeiros redundantes; 8. Checagem de Servios paralelos; 9. Interface Web com visualizao do status atual da rede, que podemos identificar de maneira fcil os problemas.
2 MOTIVAO
possvel se obter uma resposta rpida sobre falhas da rede realizando o monitoramento on-line, podendo-se acompanhar o seu status da rede mantendo em um nico local todos os dados monitorados. O acesso documentao da ferramenta de monitorao Nagios so insuficientes e distintas. A idia de montar um servidor de monitoramento em redes com o software livre Nagios, surgiu devido escassez da rede da Universidade So Francisco, onde ocorrem problemas, sendo solucionado somente a partir da comunicao do cliente, desta forma, possvel o conhecimento do problema com antecedncia.
2.1
OBJETIVOS
Apresentar e analisar um software para gerenciamento de redes e servios e
realizar um estudo de caso implantando um servidor para gerenciamento parcial da rede da Universidade So Francisco configurando o servidor NAGIOS, dessa forma o gerenciamento de todos os equipamentos ser em um nico local. O Servidor de Gerenciamento est implantado na Universidade So Francisco Campus de Bragana Paulista, no qual o gerenciamento ser aplicado em equipamentos ativos como roteadores, switches, centrais telefnicas e tambm em servidores (servios e processos). Um projeto futuro seria a implantao de um sistema de gerenciamento NAGIOS na rede Corporativa do Grupo Bom Jesus / USF, instalando o servidor de Gerenciamento em um DataCenter, ponto de consolidao de toda a rede corporativa, abrangendo vinte e cinco unidades em quatro estados do pas. O contedo do trabalho ser apresentado focando a parte tcnica e de contedo acadmico sobre a implantao do sistema Nagios e caractersticas dos equipamentos a serem monitorados. Por fim, a expectativa obter-se um resultado satisfatrio com a implantao desse projeto que beneficiar a empresa, obtendo uma melhora significativa na gesto dos recursos de infra-estrutura da TI.
3 GERENCIAMENTO
COM
SNMP
(SIMPLE
NETWORK
MANAGEMENT PROTOCOL)
Conforme [10], os protocolos de gerenciamento de rede especificam a comunicao entre o programa cliente de gerenciamento de rede chamado pelo administrador e o programa do servidor de gerenciamento de rede que est sendo executado em um hospedeiro ou roteador. O SNMP apresenta uma alternativa para o gerenciamento de rede. Em vez de definir um grande conjunto de comandos, o SNMP lana todas as operaes em um paradigma de busca e armazenamento (fetch-store paradigm). O paradigma de busca e armazenamento tem sua origem em um sistema de protocolo de gerenciamento conhecido como HEMS (High- level Entity Monitoring System). As principais vantagens de se usar um paradigma de busca e armazenamento so estabilidade, simplicidade e flexibilidade.
3.1
Introduo do SNMP
Como as redes de computadores vm crescendo a cada dia, tornando-se uma rede
interconectada, a exemplo disso, a Internet, houve a necessidade de criar protocolos de gerenciamentos de rede, para que de uma forma mais simples pudessem monitorar os equipamentos ativos. Assim houve a necessidade da integrao e comunicao entre os equipamentos a serem gerenciados, dessa forma obtendo as informaes necessrias para garantir que a integridade da rede seja mantida e alertando para que no ocorram possveis falhas. De acordo com [10], a operao de interrupo permite ao administrador programar servidores para enviar informaes quando ocorrer um evento. Por exemplo, um servidor SNMP pode ser programado para enviar ao administrador uma mensagem de interrupo quando uma das redes conectadas deixarem de ser operacionais (ou seja, uma interface for desativada). De acordo com [6]. No incio da dcada de 80 o protocolo Simple Network Management Protocol SNMP comeou a ser desenvolvido pelo Internet Engineering Task Force IETF, com o objetivo de disponibilizar uma forma simp les e prtica de realizar o controle de equipamentos em uma rede de computadores. Atualmente as pesquisas na rea de
gerenciamento de redes possuem o objetivo de obter da rede seu rendimento mximo. com este objetivo que foi realizada esta publicao. Sua especificao est contida no RFC 1157 Conforme [5], [11].
1. 1989: SNMP v1 2. 1992: Remote Monitoring RMON 3. 1993: SNMP v2 4. 1996: SNMP v2c (Community Security) 5. 1996: MIB RMON v2 6. 1998: SNMP v3 (User Security Model)
De acordo com [5], [6], [9], [10] o SNMP um protocolo de gerenciamento de redes que tem como objetivo mostrar de uma forma simples e prtica como obter o controle dos equipamentos da rede. Estando na camada de aplicao o SNMP utiliza o UDP ( User Datagram Protocol) como servio de protocolo de transporte para enviar e receber as mensagens pela rede. O SNMP tem dominado nos ltimos anos o mercado de sistemas de gerenciamento de redes, pois muito simples sua implementao consumindo o mnimo de recursos de processamento e de redes, permitindo sua incluso at nos equipamentos mais simples, dessa forma esse protocolo ajuda a localizar e solucionar os problemas e erros que ocorrem na rede, possibilitando visualizar as estatsticas de trfego da rede. Na tabela 01 apresenta-se o conjunto de possveis operaes do SNMP, [10]
Tabela 01: conjunto de possveis operaes do SNMP Comando get-request get-next-request Significado Busca o valor de uma varivel especfica e armazena operaes Busca o valor sem saber o nome exato, permite que o administrador promova a iterao atravs de tabela de itens get-response set-request Trap Responde a uma operao de busca e armazena operaes Armazena um valor em uma varivel especfica Resposta acionada por um evento
O SNMPv2 adiciona a operao get-bulk , que permite ao administrador buscar vrios valores em uma nica solicitao.
3.2
O Modelo SNMP
De acordo com [9] o modelo SNMP de uma rede gerenciada consiste em quatro
1. Ns Gerenciados (hospedeiros, roteadores, pontes, impressoras); 2. Estaes de Gerenciamento; 3. Informaes de Gerenciamento; 4. Um Protocolo de Gerenciamento.
Cada dispositivo mantm uma ou mais variveis que descrevem seu estado, essas variveis so chamadas de objetos, porm o conjunto formado por todos os objetos possveis em uma rede fornecido em uma estrutura de dados chamada de MIB (Management Information Base).
3.3
fabricantes, houve a necessidade de padronizar esses objetos juntamente com regras de codificao, assim o SNMP retirou da camada OSI a especificao de dados do modelo ANS.1.
3.4
ficam em bases de informaes de gerncia que definida por uma estrutura SMI ( Structure of Management Information) que mostra como as informaes de gerncia sero agrupadas e denominadas. Um exemplo, a MIB determina que o software IP deve manter uma contagem de todos os octetos que chegam em cada interface de rede e que o software de gerenciamento de rede pode ler apenas aqueles valores. [Interligao em rede com TCP/IP V.1 Comer, E. Douglas]
definido na MIB um conjunto de objetos gerenciados pelo SNMP, esses objetos so agrupados em dez categorias correspondentes aos dez ns sob a mib-2, conforme mostra a tabela 2. Tabela 2 Os grupos de objetos na MIB-II da Internet (Retirado de [9]) GRUPO N DE OBJETOS System Interfaces AT IP ICMP TCP UDP EGP Transmission SNMP 7 23 3 42 26 19 6 20 0 29 Nome, local e descrio do equipamento Interfaces de rede e seu trfego Converso de endereo (obsoleto) Estatsticas de pacotes IP Estatsticas sobre as mensagens ICMP recebidas Algoritmos TCP, parmetro e estatsticas Estatsticas de trfego UDP Estatstica de trfego de protocolo de gateway externo Reservado para MIDs de meios fsicos especficos Estatstica de trfego SNMP DESCRIO
3.5
Funcionalidade do SNMP
O SNMP utiliza um esquema baseado em dois dispositivos, gerente e agente, onde
o gerente configurado em uma estao e os agentes so as demais estaes monitoradas pelo SNMP, onde cada agente possui uma MIB ( Management Information Base) que contm um conjunto de variveis que mostram o seu estado atual aos objetos gerenciados. Existe uma estao que responsvel pelo gerenciamento da rede (gerente), cada agente possui uma MIB associada a ele e por fim usado o protocolo SNMP para o gerenciamento de rede onde so trocadas as informaes entre o gerente e os agentes.
3.6
Gerente
De acordo com [5], [6] executado em um servidor onde ir obter o envio de
informaes de gerenciamento junto aos mecanismos gerenciados mediante a comunicao com um ou mais agentes, o gerente efetua requisies ao agente. Como tambm o envio automtico de informaes do agente a um gerente.
3.7
Agente
De acordo com [5], [6] o agente monitora as informaes da mquina utilizando
as chamadas de sistemas e utiliza as RPC ( Remote Procedure Call ) para controlar as informaes das mquinas. de responsabilidade do agente enviar informaes solicitadas pelo gerente e o envio automtico de informaes de gerencia mento ao gerente.
4 NAGIOS
4.1
oficial, o Nagios utilizado por 1.374 empresas registradas obtendo 1.262 redes monitoradas, dentre elas o Brasil est em sexto lugar no ranking dos pases que utilizam o Nagios, conforme mostra a Tabela 3. Tabela 3 Ranking dos Pases que utilizam o Nagios Pases United States of Amrica Germany United Kingdom France Netherlands Brazil Australia Utilizao do Nagios 351 163 84 77 70 68 53
No ranking das empresas podemos verificar que a maior utilizao vem das empresas Internet Service Provider que ocupa 16,2% e logo em seguida as empresas de Consulting (Information Technology) com 15,4% conforme a Tabela 4. Tabela 4 Ranking das reas que as Empresas utilizam o Nagios Empresas Internet Service Provider Consulting (Information Technology) Telecommunications Government Healthcare / Medicine Utilizao do Nagios 223 212 81 66 64
O Nagios j est se tornando uma ferramenta de uso freqente, onde possvel destacar algumas das distribuies que mais se utiliza na instalao do Nagios, conforme a Tabela 5.
10 Tabela 5 Ranking dos Sistemas Operacionais que o Nagios est instalado. Sistemas Operacionais Linux (RedHat) Linux (Debian) Linux (Suse) Linux (Fedora) FreeBSD Utilizao do Nagios 404 266 152 121 112
De acordo com informaes do site oficial do Nagios, podemos destacar algumas empresas registradas que possuem o Nagios instalado e utiliza-o para algum tipo de servio como a AT&T Latim Amrica, Cmara dos Deputados, Celepar, rgos Governamentais, Companhia do Metropolitano de So Paulo METR, Empresas de Telefonia, Infraero, etc.
Podemos destacar algumas ferramentas de monitoramento do Nagios, como monitoramento de rede e servios, criao e organizao de plugins, checagem de servios, notificaes de estado entre outras, podemos descrever essas funcionalidades como nas sees seguintes.
4.2
monitorados como; HTTP, SMTP, POP3 e NNTP, quando algum desses servios paralisa o Nagios configurado para tomar as devidas providncias alertando ao administrador para que adote as medidas cabveis o mais rpido possvel, pois esses servios no podem parar, caso contrrio causar problemas em sua empresa. Assim o Nagios consegue verificar a existncia ativa de um hospedeiro ou servio na rede.
11
Figura 2 Todos os hospedeiros mostrados em vermelho esto inoperantes ou inalcanveis, os demais esto em operao normal. [Imagem retirada do site http://www.nagios.org]
12
13
atravs da rede ou Internet de acordo com que foi solicitado. Isso ideal para controlar a temperatura de uma sala de servidores onde pode ocorrer que a temperatura, iluminao ou a umidade do ar excedam os requisitos especificados.
14
4.3
Nagios tambm necessita das CGIs para poder trabalhar. No caso do Nagios utilizar uma interface WEB necessrio uma autorizao para autenticar no servidor e obter o acesso e que esteja configurado com autorizao para verificar qualquer infor mao que foi requisitada.
Seguem abaixo as CGIs que acompanham o pacote de instalao do Nagios: CGI de status CGI de mapa de status CGI da interface WAP CGI do status world (VRML) CGI de viso geral ttica CGI de apages na rede CGI de configurao CGI de comando CGI de informao extendida CGI de log de evento CGI de histrico de alerta CGI de notificaes CGI de tendncias CGI de relatrio de disponibilidade CGI de histograma de alerta CGI de sumrio de alertas Conforme [1], sero comentados alguns dos plugins mais importantes.
4.3.1 CGI de Status (Nome do arquivo: status.cgi) - Para o Nagios esse o CGI mais
importante, atravs dele que possvel visualizar o status de todos os servios e hospedeiros que esto sendo monitorados. O CGI de status pode produzir dois tipos principais de sada uma viso geral do status de todos os grupos de hospedeiros (ou de um grupo de hospedeiro em particular) e uma viso detalhada de todos os servios (ou aqueles associados a um hospedeiro em particular).
15
4.3.2 CGI de Mapa de Status (Nome do arquivo: statusmap.cgi) essa CGI que
cria o mapa mostrando todos os hospedeiros configurados no Nagios, para que sejam exibidas as imagens e grficos a CGI utiliza a biblioteca gd Library (Thomas Boutell).
4.3.5 CGI de Tendncia (Nome do arquivo: trends.cgi) Caso voc deseje gerar um
grfico para saber por quanto tempo um determinado hospedeiro ou servio ficou estvel, essa CGI responsvel por mostrar essas informaes por um perodo de tempo arbitrrio.
Caso deseje saber o que cada uma das outras CGI so responsveis, pode ser obtida atravs do site oficial do Nagios [1].
16
4.4
17
4.5
status atual de todos os servios e hospedeiros que esto sendo monitorados, atravs dele possvel separar e resolver os problemas com uma maior rapidez sem causar algum impacto na rede. Essas CGIs no iro identificar totalmente o problema da rede, mas antes identificar o hospedeiro que est a causar algum problema do que deix- lo prejudicar a rede. Existem duas condies para um hospedeiro ser acusado com algum problema: Tem que estar inoperante ou inacessvel e pelo menos um dos hospedeiros pai tem de estar em operao. Todos os hospedeiros filhos estiverem inoperante ou inacessvel e no ter nenhum hospedeiro pai em operao. Se ocorrer uma ou ambas condies acima, um hospedeiro dado com problema. O Nagios alm de identificar o hospedeiro com problema tambm identifica o nmero de hospedeiros que sero afetados pela falha desse hospedeiro, para isso feito um clculo que determina o nmero de servios que ser indisponibilizado pela falha do hospedeiro, esse clculo feito da seguinte forma, para cada hospedeiro tem um peso que quatro vezes maior que o nmero de servios que ele dispe. Atravs desse valor o Nagios ordena por gravidade os hospedeiros causadores de problemas.
4.5.1 Diagramas
O diagrama abaixo ajudar a mostrar como o CGI determina a causa da parada na rede.
Todos os
hospedeiros
mostrados
em vermelho
esto
inoperantes ou
18
Este diagrama mostra a causa da parada na rede (do ponto de vista do Nagios) e mostra tambm vrios grupos de hospedeiros que so afetados pela parada. O CGI de parada na rede mostra qual o hospedeiro que est causando o problema em sua rede, e tambm dir quantos servios ou hospedeiros esto sendo afetados por um hospedeiro problemtico em particular.
19
O hospedeiro um (que est no domnio A) est bloqueando dois hospedeiros filhos. O hospedeiro dois (que est no domnio B) est sozinho, ento ele responsvel pelo bloqueio dele mesmo e o hospedeiro trs (que est no domnio C) o nico responsvel pelo bloqueio de sete hospedeiros. Os dois hospedeiros (que est no domnio D) o problema est dividido entre os hospedeiros dois e trs, j que no d para saber qual o causador da parada. O nmero de hospedeiros afetados por hospedeiro com problema o seguinte: (o hospedeiro com problema tambm faz parte da Figura 9):
4.6
20
vivo e enviar uma notificao informando que aquele determinado servio est se comportando de forma irregular.
21
22
4.7
Notificaes
O Nagios tem a funo de notificar o administrador do sistema quando ocorre
alguma falha, pois impossvel um administrador ficar o tempo todo monitorando uma interface web para verificar quando ir ocorrer um problema, de uma outra maneira tem que ser bem configurado quem ir receber as notificaes e quando ir receber essas notificaes, pois se receber notificaes de mais, acaba dificultando a analise dos problemas. As notificaes podem ocorrer quando houver uma mudana de estado para hard ou quando um hospedeiro ou servio permanece no estado hard por muito tempo, ultrapassando o tempo limite da ltima notificao enviada. Essas notificaes tm como funcionalidade notificar em tempo real o administrador sobre os problemas ocorridos na rede. As notificaes so enviadas para os contatos cadastrados em um grupo ou individual, mas antes de enviar a notificao o Nagios se encarregar de verificar se existe um contato duplicado e remover as mensagens desses contatos duplicados. Antes de enviar qualquer notificao, ela passa por alguns filtros onde ser julgada a sua importncia a ponto de ser enviada. Os filtros verificam de uma forma global se essas notificaes esto ou no habilitadas, filtros de servios e hospedeiros passam por vrias etapas realizando uma anlise mais complexa onde pode enviar ou no, de acordo com os critrios estabelecidos para cada etapa. J os filtros de contatos so especficos a cada contato e as notificaes sero filtradas de acordo com as regras e encaminhadas. As notificaes podem ser enviadas por E-mail, Pager, Phone (SMS), WinPopup message, Yahoo, ICQ, MSN, Alerta Sonoros, etc.
4.8
Plugins do Nagios
De acordo com [2], como o Nagios no tem nenhuma funcionalidade sem os
plugins, esses plugins se tornam parte fundamental do sistema para realizar a verificao dos hospedeiros e servios. Para que isso ocorra, os plugins tm que fazer o intermdio entre o Nagios e o hospedeiro a ser monitorado.
23
24
5 ESTUDO DE CASO
O estudo de caso foi realizado para gerenciar os servidores locais da Universidade So Francisco, no qual est sendo monitorado o status da rede e seus servios. Para isso foi instalado a ferramenta de gerenciamento Nagios em um servidor e cadastrados os servidores para que sejam monitorados. Segue passo a passo como foi feito a instalao da ferramenta. Para uma maior segurana e para manter a integridade da empresa, foram mascaradas as faixas de IP.
5.1
Instalao do Nagios
A instalao da ferramenta Nagios ser mostrada na distribuio Linux Debian
V4.0. Existem duas formas de se instalar o Nagios, pelo modo Tarbal e Pacote. Ser demonstrada a instalao atravs do modo Pacote. A verso instalada do Nagios a 2.6. Instalando o Nagios pela linha de comando apt-get, esse comando realizar o download e a instalao dos arquivos. Acesso o sistema com o usurio root e digite a seguinte linha de comando. # apt-get install nagios2 nagios-common nagios- nrpe-plugin nagios-nrpe-server nagiosplugins nagios- images
5.2
Instalando Plugins
A instalao pode ser feita pela seguinte linha de comando : # apt-get install plugins<verso>
Aps a instalao os plugins estaro no seguinte diretrio: /usr/lib/nagios/plugins Ou faa o download do site http://www.nagios.org/download/ da verso mais recente do plugin. Descompacte o arquivo em uma pasta, acesse a pasta e use o seguinte comando :
25
Ser criada uma pasta libexec, que contm os arquivos de plugins do Nagios.
5.3
O arquivo se encontra em /etc/apache2/conf.d/ com o nome nagios2.conf. Como foi instalado pelo apt-get o arquivo j vem configurado automaticamente, mas ser mostrado a configurao do servidor web.
# # # # #
apache configuration for nagios 2.x note to users of nagios 1.x: throughout this file are commented out sections which preserve backwards compatibility with bookmarks/config for nagios 1.x. simply look for lines following "nagios 1.x:" comments.
ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios2 ScriptAlias /nagios2/cgi-bin /usr/lib/cgi-bin/nagios2 # nagios 1.x: #ScriptAlias /cgi-bin/nagios /usr/lib/cgi-bin/nagios2 #ScriptAlias /nagios/cgi-bin /usr/lib/cgi-bin/nagios2 # Where the HTML pages live Alias /nagios2 /usr/share/nagios2/htdocs # nagios 1.x: #Alias /nagios /usr/share/nagios2/htdocs <DirectoryMatch (/usr/share/nagios2/htdocs|/usr/lib/cgi-bin/nagios2)>
26
Options FollowSymLinks DirectoryIndex index.html AllowOverride AuthConfig Order Allow,Deny Allow From All # AuthName "Nagios Access" # AuthType Basic # AuthUserFile /etc/nagios2/htpasswd.users # nagios 1.x: # AuthUserFile /etc/nagios/htpasswd.users # require valid-user </DirectoryMatch>
Dessa forma, o servidor web no ir requerer autenticao para logar no sistema. Caso deseje colocar uma autenticao ser necessrio criar o arquivo com o seguinte comando:
5.4
Configurando o Nagios
Aps a concluso da instalao do Nagios, Plugins e Apache ser necessrio
configurar os arquivos do sistema para sua funcionalidade. aconselhvel fazer um backup dos arquivos originais antes de iniciar as alteraes.
5.4.1 CGI.cfg
Na pasta /etc/nagios2 ser necessrio configurar o arquivo CGI.cfg, onde ficam os arquivos cgi que o Nagios utiliza como parmetro de autorizao de acesso a interface web. Verifique se o acesso interface Web do Nagios exige autenticao: use_authentication=0 (0 No Exige Autenticao / 1 Exige Autenticao)
Ser liberado acesso completo ao usurio nagiosadmin, para isso altere as seguintes linhas:
27
5.4.2 NAGIOS.cfg
O arquivo nagios.cfg o arquivo principal de configurao, nele consta todas as configuraes bsicas do Nagios. De inicio nenhuma alterao ser necessria. O nagios.cfg dever estar na pasta /etc/nagios2. Onde a partir desse arquivo que o Nagios carregar todos os outros arquivos de configurao.
28
# In this simp le config file, a single contact will receive all alerts. define contact{ contact_name alias service_notification_period host_notification_period service_notification_options host_notification_options service_notification_commands host_notification_commands email }
root Root 24x7 24x7 w,u,c,r d,r notify-by-email host-notify-by-email seu_e-mail@do min io.co m.br
###################################################################### # CONTA CT GROUPS ###################################################################### # We only have one contact in this simp le configurat ion file, so there is # no need to create more than one contact group. define contactgroup{ contactgroup_name alias members }
# Define a service to check the disk space of the root partition on the local machine. # Warning if < 20% free, critical if < 10% free space on partition. define service{ use host_name service_description check_command }
generic-service ; Name of service template to use Nag ios Disk Space check_all_disks!20%!10%
29
define service{ use host_name service_description check_command } define service{ use host_name service_description check_command }
generic-service ; Name of service template to use Nag ios Current Smtp check_smtp!-t 5 -e "nagios"
generic-service ; Name of service template to use Servidor_ E-mail Current Pop check_pop!-t 5 -e "nagios"
extinfo_nagios2.cfg
## Extended Host and Service Info rmation define hostextinfo{ hostgroup_name notes # notes_url icon_image icon_image_alt vrml_image statusmap_image 2d_coords 3d_coords }
debian-servers Debian GNU/ Linu x servers http://webserver.localhost.localdomain/hostinfo.pl?host=netware1 ./base/debian.png Debian GNU/ Linu x ./base/debian.png ./base/debian.png 500,500 50.0,50.0,50.0
30
services_nagios2.cfg
# check that ping-only hosts are up define service { hostgroup_name ping-servers service_description PING check_command check_ping!100.0,20%!500.0,60% use generic-service notification_interval 0 ; set > 0 if you want to be renotified }
hostgroups_nagios2.cfg
# A list of your web servers define hostgroup { hostgroup_name http-servers alias HTTP servers members Nagios } define hostgroup { hostgroup_name alias members }
# nagios doesn't like monitoring hosts without services, so this is a group for devices # that have no other "services" monitorable (like routers w/out snmp for examp le)
31
ping-servers Pingable servers gateway, Servidor_Do minio, Servidor_ E-mail, Serv idor_BKP, Servidor_ANTIVIRUS, Servidor_IMPRESSA O
5.4.10
############################################# ############################## # timeperiods.cfg ########################################################################### # This defines a timeperiod where all times are valid for checks, # notifications, etc. The classic "24x7" support nightmare. :-) define timeperiod{ timeperiod_name alias sunday monday tuesday wednesday thursday friday saturday }
24x7 24 Hours A Day, 7 Days A Week 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00
# Here is a slightly friendlier period during work hours define timeperiod{ timeperiod_name workhours alias Standard Work Hours sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 }
32
6 TESTES REALIZADOS
Foi configurado no Servidor Nagios para realizar checagens pelo comando PING nos servidores cadastrados, onde est configurado para a cada sessenta segundos, o Nagios faz a checagem se o servidor est respondendo. Feito teste no servidor de backup, onde o servidor foi desligado. O Nagios identificou a falha enviado um e- mail de notificao para o contato cadastrado informando que o hospedeiro estava baixo ou inalcanvel, religado o servidor onde o Nagios identificou que est de p, tambm enviou uma notificao informando que o servidor est OK.
Para monitoramento de servios, o Nagios est configurado para realizar a checagem a cada cinco minutos nos servios especificados. Ao ser realizado teste no servio de SMTP do servidor de e- mail, onde o servio foi paralisado por algum problema, o Nagios identificou o problema no servio e enviou uma notificao ao conta to cadastrado informando que o servio est com estado CRITICO, quando o servio de SMTP se restabeleceu o Nagios enviou uma notificao informando que o servio de SMTP est normal.
33
6.1
Dificuldades Encontradas
Atravs dos tutoriais encontrados na Internet, no foi possvel realizar a instalao
passo a passo pelas linhas de comando. Para instalar o Nagios, foi necessrio instalar pela linha de comando apt- get. No foi possvel configurar o NRPE em Sistema Operacional Windows. Em uma determinada etapa do projeto o Servidor Apache perdeu as configuraes de autenticao, no sendo possvel mais autenticar no Servidor para visualizar o status da rede. Foi necessrio reinstalar novamente todo o sistema, porm dessa vez foi instalado sem a configurao de autenticao.
34
7 CONCLUSO
Toda pesquisa feita e desenvolvida ao longo deste trabalho trouxe uma grande satisfao em ter uma ferramenta de monitoramento de sistemas e rede trabalhando ativamente na rede da instituio, na qual o Nagios est monitorando ativamente os recursos da rede. O Nagios est instalado e configurado na rede da Universidade So Francisco onde foi possvel adquirir resultados prticos atravs de sua implementao. Atravs do Nagios possvel monitorar os servidores, servios e processos que esto sendo executados, tirar relatrios para se basear como est se comportando determinado hospedeiro, enviar notificaes para os responsveis na ocorrncia de falhas. O Nagios ainda possui muitos itens que necessitam ser implementados para que se possa tirar mais proveito dessa ferramenta, aumentando a capacidade de monitoramento da rede, desenvolvimento de plugins especficos para checagem de servios. Com essa ferramenta possvel identificar o problema antes da reclamao de um cliente, assim pode-se tomar as medidas cabveis o mais rpido possvel sem que afete o trabalho de algum cliente, ou quando o mesmo entrar em contato, pode-se ter uma resposta do problema e o prazo para soluo. Com esse contedo apresentado, pode-se focar a parte tcnica sobre a implantao e caractersticas dos equipamentos a serem monitorados. Foi gratificante conseguir implantar o servidor de gerenciamento na rede da Universidade So Francisco, atravs do estudo implantado houve uma melhora significante na rea de Tecnologia da Informao.
35
7.1
Contribuies
Resumidamente, a principal contribuio deste estudo foi implantao da
ferramenta de monitoramento Nagios na rede da Universidade So Francisco, onde est sendo feito o monitoramento dos recursos de rede, podendo solucionar os problema de uma forma mais gil, que antes isso no ocorria. Atravs do estudo implantado houve uma melhora significante nos recursos de Infra-estrutura de Tecnologia da Informao na Universidade So Francisco. Esse estudo tambm ir contribuir para o desenvolvimento utilizando a ferramenta Nagios, onde atravs dessa documentao facilitar ao desenvolvedor a implantao do Nagios na rede de sua empresa. Essa documentao tambm ser disponibilizada na rede para ser utilizada pela comunidade de software livre, podendo se basear nela para futuras instalaes do Nagios.
7.2
Extenses
Este trabalho pode ser continuado para poder realizar o monitoramento da rede
corporativa dos demais servidores das unidades da Universidade So Francisco, bem como o grupo Bom Jesus, tambm poder instalar o servidor Nagios no DataCenter e configur-lo para notificar os administradores de cada unidade na ocorrncia de falhas. Alm de monitorar servidores, servios e processos, atravs do Nagios possvel acrescentar o monitoramento de switch, roteador, centrais telefnicas, temperatura ambiente da sala do servidor entre outros. O Nagios no a nica ferramenta de monitoramento de rede de cdigo aberto, existem diversas outras ferramentas que fazem o mesmo servio, algumas so pagas e outras so gratuitas, como exemplo, podemos citar uma ferramenta de monitoramento de rede gratuita chamada Zabbix.
36
Referncias Bibliogrficas
[1] Site Oficial do Nagios (http://www.nagios.org) Acessado em 13 de Maro de 2007
[2] Estudo de uma Ferramenta de Gesto de Redes http://nagios.sourceforge.net/download/contrib/documentation/misc/Nagios_Portuguese.pdf Acessado em 07 de Setembro de 2007
[4] Habilitar Status Map 3-D e cones para o Nagios http://www.parallelgraphics.com/products/cortona/download/iexplore/ Acessado em 04 de Agosto de 2007
[9] TANENBAUM, Andrew S., Redes de Computadores. 1997 Terceira Edio - Rio de Janeiro - RJ
37
[10] COMER, Douglas E., INTERLIGAO EM REDE COM TCP/IP : princpios, protocolos e arquitetura. 1998 Vol. 1 Rio de Janeiro - RJ
[11] The Internet Engineering Task Force - http://www.ietf.org/RFC 1157 Acessado em 22 de Outubro de 2007
[14] ANDRADE, Hetty Alves de. Nagios como soluo de Monitoramento de Redes. 2006. Monografia Curso de Ps Graduao Latu Sensu em Administrao de Redes Linux Universidade Federal de Lavras, Minas Gerais Brasil. Disponvel em:
38
39
40
41
42
43
44
45
46
47
48
49
50
51