Upload
dophuc
View
216
Download
0
Embed Size (px)
Citation preview
Curso de Engenharia de Computaç ão
GERENCIAMENTO EM REDES
UTILIZANDO A FERRAMENTA NAGIOS
Ricardo Luiz de Oliveira
Itatiba – São Paulo – Brasil
Dezembro de 2007
ii
Curso de Engenharia de Computaç ão
GERENCIAMENTO EM REDES UTILIZANDO A FERRAMENTA NAGIOS
Ricardo Luiz de Oliveira
Monografia apresentada à disciplina Trabalho de Conclusão de Curso, do Curso de Engenharia de Computação da Universidade São Francisco, sob a orientação do Prof. Ms Sidney Pio de Campos, como exigência parcial para conclusão do curso de graduação. Orientador: Prof. Ms. Sidney Pio de Campos
Itatiba – São Paulo – Brasil
Dezembro de 2007
iii
GERENCIAMENTO EM REDES UTILIZANDO A FERRAMENTA NAGIOS
Ricardo Luiz de Oliveira
Monografia defendida e aprovada em 11 de Dezembro de 2007 pela Banca
Examinadora assim constituída:
Prof. Ms. Sidney Pio de Campos (Orientador)
USF – Universidade São Francisco – Itatiba – SP.
Prof. Ms. Carlos Eduardo Pagani (Membro Interno)
USF – Universidade São Francisco – Itatiba – SP.
Prof. Ms. Má rcio Henrique Zuchini (Membro Interno)
USF – Universidade São Francisco – Itatiba – SP.
iv
"As pessoas que vencem neste mundo sã o as que
procuram as circunstâncias de que precisam e, quando
nã o as encontram, as criam."
George Bernard Shaw
v
.
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 agradeço a Deus por me dar força e coragem para que conseguisse
concluir os estudos.
Agradeço 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 paciência todos esses anos
em entender o quanto foi importante eu chegar até aqui, em que vá rios momentos
deixei-lhe de dar atençã o para me dedicar aos estudos.
Aos professores que souberam passar as informaçõ es para que eu pudesse adquirir
conhecimentos específicos 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, agradeço a todos os amigos, parentes que me ajudaram de alguma forma
direta ou indiretamente para a conclusã o desse trabalho.
vii
Sumário
Lista de Siglas ..................................................................................................................... ix
Lista de Figuras ................................................................................................................... x
Lista de Tabelas .................................................................................................................. xi
Lista de Tabelas .................................................................................................................. xi
Resumo............................................................................................................................... xii
Abstract............................................................................................................................. xiii
1 INTRODUÇ ÃO............................................................................................................. 1
2 MOTIVAÇ ÃO............................................................................................................... 3 2.1 OBJETIVOS............................................................................................................. 3
3 GERENCIAMENTO COM SNMP (Simple Network Management Protocol)........... 4 3.1 Introdução 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
4 NAGIOS ........................................................................................................................ 9 4.1 Estatística dos usuá rios registrados no Nagios........................................................... 9 4.2 Monitoramento de Rede e Serviços ..........................................................................10
4.2.1 Monitoramento dos Recursos dos Hospedeiros ................................................. 10 4.2.2 Organização Simples de Plugins ....................................................................... 11 4.2.3 Habilidade para definir Hierarquia de Redes..................................................... 11 4.2.4 Notificações 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 Apagão de Rede ....................................................................................... 15 4.3.5 CGI de Tendência................................................................................................. 15 4.3.6 CGI de Relatório 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 Serviços em Hospedeiros Inoperantes (Down) ou Inalcançá veis (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 Notificações.............................................................................................................22 4.8 Plugins do Nagios ....................................................................................................22
4.8.1 Usando os Plugins para checagem de Serviços e Hospedeiros........................... 23
5 ESTUDO DE CASO.....................................................................................................24 5.1 Instalação 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 Serviços para Monitoramento ............................... 27 5.4.4 Definição de contatos e grupo de contatos ........................................................ 27 5.4.5 Definição de serviços a serem monitorados ...................................................... 28 5.4.6 Configurando imagens nos hospedeiros ............................................................ 29 5.4.7 Definição de Hospedeiros................................................................................. 29 5.4.8 Definição de Serviços por grupo....................................................................... 30 5.4.9 Definição de Grupo de Hospedeiros ................................................................. 30 5.4.10 Definição de monitoração por período de tempo............................................... 31
6 TESTES REALIZADOS..............................................................................................32 6.1 Dificuldades Encontradas.........................................................................................33
7 CONCLUSÃO ..............................................................................................................34 7.1 Contribuições...........................................................................................................35 7.2 Extensões.................................................................................................................35
Anexo 1 - Telas da ferramenta de monitoramento do Nagios...........................................38
ix
Lista de Siglas
ASN.1 Abstract Syntax Notation 1
CGI Common Gateway Interface
GD GD Graphics Library
GPL General Public Licensing
HEMS High-level Entity Monitoring System
HTTP Hyper Text Transport Protocol
ICMP Internet Control Message Protocol
IETF Internet Engineering Task Force
NNTP Network News Transfer Protocol
NRPE Nagios Remote Plugin Executer
NSCA Nagios Service Check Acceptor
MIB Managment Information Base
OCSP Oline Certificate Status Protocol
POP Post Office Protocol
RFC Request for Comments
RPC Remote Procedure Call
SMS Short Message Service
UDP User Datagram Protocol
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Managment Protocol
VRML Virtual Reality Modeling Language
WAP Wireless Application Protocol
x
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 estão inoperantes ou
inalcançá veis, os demais estão em operação normal. ................................................... 11
Figura 3 – Notificação por WAP................................................................................. 12
Figura 4 – WebSensor EM01B ................................................................................... 13
Figura 5 – Diagrama da rede dos hospedeiros inalcançá veis........................................ 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 dependência do Nagios ................................................ 21
xi
Lista de Tabelas
Tabela 1: Conjunto de possíveis operações do SNMP............................................. 5
Tabela 2 – Os grupos de objetos na MIB-II da Internet (Retirado de [9]) ................ 7
Tabela 3: Ranking dos Países 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 Computação da Universidade São Francisco, Câmpus
de Itatiba.
Resumo
Uma empresa que possui Servidores trabalhando ininterruptamente necessita que
seus Servidores, Serviços 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
monitoração de sistemas e aplicações de rede, ele tem como função fazer checagens
periodicamente nos status de um servidor ou serviço que é indicado, se houver qualquer
falha é enviado uma notificação ao administrador. Essas notificações podem ser enviadas
por: e-mail, SMS, Pager, etc.
Através da Internet pode-se visualizar o status atual da rede, histórico de
notificações e problemas, arquivos de log, etc.
O Nagios pode monitorar todos os servidores de um único local, alguns recursos
monitorados pelo Nagios são SMTP, POP3, HTTP, carga do processador, memória, espaço
em disco, etc. Pode-se desenvolver seu próprio plugin para checagem de outros serviços.
Com esse recurso de gerenciamento, a empresa irá obter uma melhora
significativa na gestão dos recursos de infra-estrutura de Tecnologia da Informação.
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 e-
mail, 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 monitored 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
1 INTRODUÇ Ã O
Uma empresa dotada de uma grande rede de computadores, como no caso da
Universidade São Francisco, que tem computadores ligados no horá rio de expediente
administrativo e, na parte especifica ao atendimento hospitalar que a rede permanece ligada
durante vinte e quatro horas ininterruptamente se faz necessá rio que os servidores operem
também vinte e quatro horas.
Para isso é necessá rio que os seus serviços permaneçam está veis não se
permitindo a ocorrência de falhas nos servidores, onde alguns serviços são de prioridade
má xima não 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 possível antes que os mesmos aconteçam, 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 aplicação popular de código aberto e licenciado pelo sistema GPL utilizado
para monitoração de redes e serviços. Esta ferramenta é a evolução do NetSaint, a qual foi
escrita e é atualmente mantida por Ethan Galstad, junto com um exército de desenvolvedores
que ativamente mantém plugins oficiais e não-oficiais. Nagios é uma ferramenta de
monitoração de sistemas e aplicações de rede, onde realiza checagens periodicamente nos
status de um serviço ou hospedeiros, e em caso de falhas envia um alerta aos
responsá veis. Quando ocorre um problema, o servidor pode enviar notificações para o
administrador de diferentes maneiras: seja elas por e-mail, SMS, Pager, etc. Para
visualização do status atual da rede, histórico de notificações e problemas, arquivos de log, etc
pode ser acompanhado on-line através de um browser.
Todo monitoramento feito pelo Nagios é através de plugins. Esses plugins são
programas usados sob demanda. Trata-se de executá veis, 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 serviço. O Nagios necessita dos plugins
para o seu funcionamento.
2
Dentre os monitoramentos, podem destacar-se os seguintes serviços:
1. Monitoramento de rede e serviços como SMTP, POP3. HTTP, NNTP através do
protocolo SNMP e conectividade através do protocolo ICMP;
2. Monitoramento dos recursos dos servidores como, carga do processador, memória,
espaço em disco, etc;
3. Notificações de contatos em tempo real quando ocorrerem falhas e quando são
solucionados por E-mail, Pager, SMS, etc;
4. Criação simples de plugins que permitem aos usuá rios desenvolverem seus próprios
plugins para realização de serviços de checagens;
5. Capacidade para definir hierarquia em redes ao utilizar parent hosts, permitindo a
detecção e distinção entre os hospedeiros que estão desligados e aqueles que não são
alcançá veis;
6. Capacidade para definir tratadores de eventos afins de que sejam executados os
eventos de serviços ou hospedeiros para solução de problemas;
7. Suporte para monitoração e implementação de hospedeiros redundantes;
8. Checagem de Serviços paralelos;
9. Interface Web com visualização do status atual da rede, que podemos identificar de
maneira fá cil os problemas.
3
2 MOTIVAÇ Ã O
É possível se obter uma resposta rá pida 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 à documentação da ferramenta de monitoração
Nagios são insuficientes e distintas.
A idéia de montar um servidor de monitoramento em redes com o software livre
Nagios, surgiu devido à escassez da rede da Universidade São Francisco, onde ocorrem
problemas, sendo solucionado somente a partir da comunicação do cliente, desta forma, é
possível o conhecimento do problema com antecedência.
2.1 OBJETIVOS
Apresentar e analisar um software para gerenciamento de redes e serviços e
realizar um estudo de caso implantando um servidor para gerenciamento parcial da rede da
Universidade São 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 São Francisco –
Campus de Bragança Paulista, no qual o gerenciamento será aplicado em equipamentos ativos
como roteadores, switches, centrais telefônicas e também em servidores (serviços e
processos).
Um projeto futuro seria a implantação de um sistema de gerenciamento NAGIOS
na rede Corporativa do Grupo Bom Jesus / USF, instalando o servidor de Gerenciamento em
um DataCenter, ponto de consolidação de toda a rede corporativa, abrangendo vinte e cinco
unidades em quatro estados do país.
O conteúdo do trabalho será apresentado focando a parte técnica e de conteúdo
acadêmico sobre a implantação do sistema Nagios e características dos equipamentos a serem
monitorados.
Por fim, a expectativa é obter-se um resultado satisfatório com a implantação
desse projeto que beneficiará a empresa, obtendo uma melhora significativa na gestão dos
recursos de infra-estrutura da TI.
4
3 GERENCIAMENTO COM SNMP (SIMPLE NETWORK MANAGEMENT PROTOCOL)
Conforme [10], os protocolos de gerenciamento de rede especificam a
comunicação 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 lança todas as operações 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” são estabilidade, simplicidade e flexibilidade.
3.1 Introduç ão do SNMP
Como as redes de computadores vêm 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 integração e comunicação entre os
equipamentos a serem gerenciados, dessa forma obtendo as informações necessá rias para
garantir que a integridade da rede seja mantida e alertando para que não ocorram possíveis
falhas.
De acordo com [10], a operação de interrupção permite ao administrador
programar servidores para enviar informações quando ocorrer um evento. Por exemplo, um
servidor SNMP pode ser programado para enviar ao administrador uma mensagem de
interrupção quando uma das redes conectadas deixarem de ser operacionais (ou seja, uma
interface for desativada).
De acordo com [6]. “No início da década de 80 o protocolo Simple Network
Management Protocol – SNMP começou a ser desenvolvido pelo Internet Engineering Task
Force – IETF, com o objetivo de disponibilizar uma forma simples e prá tica de realizar o
controle de equipamentos em uma rede de computadores. Atualmente as pesquisas na á rea de
5
gerenciamento de redes possuem o objetivo de obter da rede seu rendimento má ximo. É com
este objetivo que foi realizada esta publicação.”
Sua especificação 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 prá tica como obter o controle
dos equipamentos da rede. Estando na camada de aplicação o SNMP utiliza o UDP (User
Datagram Protocol) como serviço 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 implementação consumindo o mínimo de
recursos de processamento e de redes, permitindo sua inclusão 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 estatísticas de trá fego da rede.
Na tabela 01 apresenta-se o conjunto de possíveis operações do SNMP, [10]
Tabela 01: conjunto de possíveis operações do SNMP
Comando Significado
get-request Busca o valor de uma variá vel específica e armazena operações
get-next-request Busca o valor sem saber o nome exato, permite que o administrador
promova a iteração através de tabela de itens
get-response Responde a uma operação de busca e armazena operações
set-request Armazena um valor em uma variá vel específica
Trap Resposta acionada por um evento
O SNMPv2 adiciona a operação get-bulk, que permite ao administrador buscar
vá rios valores em uma única solicitação.
6
3.2 O Modelo SNMP
De acordo com [9] o modelo SNMP de uma rede gerenciada consiste em quatro
componentes, que são os seguintes:
1. Nós Gerenciados (hospedeiros, roteadores, pontes, impressoras);
2. Estações de Gerenciamento;
3. Informações de Gerenciamento;
4. Um Protocolo de Gerenciamento.
Cada dispositivo mantém uma ou mais variá veis que descrevem seu estado, essas
variá veis são chamadas de objetos, porém o conjunto formado por todos os objetos possíveis
em uma rede é fornecido em uma estrutura de dados chamada de MIB (Management
Information Base).
3.3 ASN.1 (Abstract Syntax Notation 1)
Para tornar a comunicação entre os equipamentos produzidos por diferentes
fabricantes, houve a necessidade de padronizar esses objetos juntamente com regras de
codificação, assim o SNMP retirou da camada OSI a especificação de dados do modelo
ANS.1.
3.4 A MIB (Management Information Base)
É um conjunto de recursos gerenciá veis, onde as informações das estações agentes
ficam em bases de informações de gerência que é definida por uma estrutura SMI (Structure
of Management Information) que mostra como as informações de gerência serão 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.”
[Interligação em rede com TCP/IP V.1 – Comer, E. Douglas]
7
É definido na MIB um conjunto de objetos gerenciados pelo SNMP, esses objetos
são agrupados em dez categorias correspondentes aos dez nós 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
DESCRIÇ ÃO
System 7 Nome, local e descrição do equipamento
Interfaces 23 Interfaces de rede e seu trá fego
AT 3 Conversão de endereço (obsoleto)
IP 42 Estatísticas de pacotes IP
ICMP 26 Estatísticas sobre as mensagens ICMP recebidas
TCP 19 Algoritmos TCP, parâmetro e estatísticas
UDP 6 Estatísticas de trá fego UDP
EGP 20 Estatística de trá fego de protocolo de gateway externo
Transmission 0 Reservado para MIDs de meios físicos específicos
SNMP 29 Estatística de trá fego SNMP
3.5 Funcionalidade do SNMP
O SNMP utiliza um esquema baseado em dois dispositivos, gerente e agente, onde
o gerente é configurado em uma estação e os agentes são as demais estações monitoradas pelo
SNMP, onde cada agente possui uma MIB (Management Information Base) que contém um
conjunto de variá veis que mostram o seu estado atual aos objetos gerenciados.
Existe uma estação que é responsá vel 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 são trocadas as informações entre o gerente e os agentes.
8
Figura 1 - Mostra como funciona o gerente ao se relacionar com o objeto gerenciado.
3.6 Gerente
De acordo com [5], [6] é executado em um servidor onde irá obter o envio de
informações de gerenciamento junto aos mecanismos gerenciados mediante a comunicação
com um ou mais agentes, o gerente efetua requisições ao agente. Como também o envio
automá tico de informações do agente a um gerente.
3.7 Agente
De acordo com [5], [6] o agente monitora as informações da má quina utilizando
as chamadas de sistemas e utiliza as RPC (Remote Procedure Call) para controlar as
informações das má quinas. É de responsabilidade do agente enviar informações solicitadas
pelo gerente e o envio automá tico de informações de gerenciamento ao gerente.
9
4 NAGIOS
4.1 Estatística dos usuários registrados no Nagios
De acordo com [1], as informações publicadas em 28 de Maio de 2007 em seu site
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 países que utilizam o Nagios,
conforme mostra a Tabela 3.
Tabela 3 – Ranking dos Países que utilizam o Nagios
Países Utilizaç ã o do Nagios United States of América 351 Germany 163 United Kingdom 84 France 77 Netherlands 70 Brazil 68 Australia 53
No ranking das empresas podemos verificar que a maior utilização 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 Utilizaç ã o do Nagios Internet Service Provider 223 Consulting (Information Technology) 212 Telecommunications 81 Government 66 Healthcare / Medicine 64
O Nagios já está se tornando uma ferramenta de uso freqüente, onde é possível
destacar algumas das distribuições que mais se utiliza na instalação do Nagios, conforme a
Tabela 5.
10
Tabela 5 – Ranking dos Sistemas Operacionais que o Nagios está instalado.
Sistemas Operacionais Utilizaç ã o do Nagios Linux (RedHat) 404 Linux (Debian) 266 Linux (Suse) 152 Linux (Fedora) 121 FreeBSD 112
De acordo com informações do site oficial do Nagios, podemos destacar algumas
empresas registradas que possuem o Nagios instalado e utiliza-o para algum tipo de serviço
como a AT&T Latim América, Câmara dos Deputados, Celepar, Órgãos Governamentais,
Companhia do Metropolitano de São Paulo – METR, Empresas de Telefonia, Infraero, etc.
Podemos destacar algumas ferramentas de monitoramento do Nagios, como
monitoramento de rede e serviços, criação e organização de plugins, checagem de serviços,
notificações de estado entre outras, podemos descrever essas funcionalidades como nas seções
seguintes.
4.2 Monitoramento de Rede e Serviç os
O administrador do Nagios pode configurar diversos serviços para serem
monitorados como; HTTP, SMTP, POP3 e NNTP, quando algum desses serviços paralisa o
Nagios é configurado para tomar as devidas providências alertando ao administrador para que
adote as medidas cabíveis o mais rá pido possível, pois esses serviços não podem parar, caso
contrá rio causará problemas em sua empresa. Assim o Nagios consegue verificar a existência
ativa de um hospedeiro ou serviço na rede.
4.2.1 Monitoramento dos Recursos dos Hospedeiros
É possível monitorar os recursos de hardware que um hospedeiro possui com
objetivo de adquirir estatísticas em tempo real do uso dos hardwares específicos e
conseqüentemente fazer um balanço entre as cargas dos servidores, onde podemos destacar
alguns desses recursos a serem monitorados como carga de processador, espaço em disco, uso
de memória, processos em execução entre outros.
11
4.2.2 Organizaç ão Simples de Plugins
Todo o monitoramento feito pelo Nagios é realizado através de plugins que fazem
parte dos arquivos CGIs, dessa forma é possível que o próprio administrador possa
desenvolver seu próprio plugin. Essas CGIs são armazenadas em uma única pasta e só são
executadas quando é feito uma solicitação via browser.
4.2.3 Habilidade para definir Hierarquia de Redes
Com o Nagios é possível definir um sistema de hierarquia, onde são definidos os
hospedeiros pais e hospedeiros filhos dentro de uma mesma rede, com isso torna-se possível
detectar quais são os hospedeiros que estão caídos ou inalcançá veis. Partindo do servidor de
monitoramento, é construído um grafo hierá rquico, assim os servidores ficam no topo e os
demais hospedeiros são posicionados ao longo das ramificações.
A Figura 2 mostra como o Nagios visualiza a rede.
Figura 2 – Todos os hospedeiros mostrados em vermelho estão inoperantes ou inalcançá veis,
os demais estão em operação normal. [Imagem retirada do site http://www.nagios.org]
12
4.2.4 Notificaç õ es de Contatos
É possível configurar no Nagios quando da ocorrência de algum problema ou
falha, para que ele envie um alerta para o administrador ou para um grupo de contatos
cadastrados. Esses alertas podem ser enviados por e-mail, Pager, SMS, mensagens
instantâneas como ICQ, MSN, Yahoo ou até mesmo por outro meio de comunicação. Assim é
possível saber se houve uma falha ou uma solução do determinado problema em tempo real,
pois assim que ocorrer alguma irregularidade o Nagios se encarregará de encaminhar o alerta.
Uma grande vantagem nisso é que mesmo o administrador estando fora da empresa, ele fica
ciente dos problemas que estão ocorrendo.
A Figura 3 – Mostra uma das formas que o Nagios Notifica
Figura 3 – Notificação por WAP
[http://www.nagios.org]
4.2.5 Monitorando o Ambiente
O Nagios além de realizar o monitoramento de sistemas e redes, também é
possível realizar o monitoramento de fatores ambientais como, temperatura, iluminação e
umidade relativa do ar, tudo isso é possível através de um aparelho chamado WebSensor
EM01B, ele pode ser conectado por um cabo de rede através de um switch ou hub, onde
possui um endereço TCP/IP. O Administrador do Nagios pode configurá -lo para que em caso
de alguma irregularidade seja enviada uma mensagem de alerta, assim o administrador irá
especificar as configurações em que o equipamento deverá atuar, os dados serão transmitidos
13
através 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, iluminação ou a
umidade do ar excedam os requisitos especificados.
A Figura 4 mostra o aparelho
Figura 4 – WebSensor EM01B
[http://www.nagios.org]
4.2.6 Demais Ferramentas do Nagios
Além dessas ferramentas que foram apresentadas até agora, o Nagios ainda possui
diversas ferramentas, no caso de receber notificações WAP é necessá rio ter uma autorização
de operadoras de telefonia para o envio de SMS ou serviços de Pager, histórico de
notificações e falhas, arquivos de logs. Possui um recurso que é a exibição do mapa da rede
onde são monitorados os hospedeiros que podem ser visualizados em 2D e 3D podendo
distinguir o sistema operacional dos hospedeiros como Servidores (Linix, Windows), proxy,
roteador, estação de trabalho entre outras.
14
4.3 AS CGIS (COMMON GATEWAY INTERFACE) DO NAGIOS
Conforme [1], como o Nagios não tem nenhuma funcionalidade sem os plugins, o
Nagios também necessita das CGIs para poder trabalhar. No caso do Nagios utilizar uma
interface WEB é necessá rio uma autorização para autenticar no servidor e obter o acesso e
que esteja configurado com autorização para verificar qualquer informação que foi
requisitada.
Seguem abaixo as CGIs que acompanham o pacote de instalação do Nagios:
w CGI de status
w CGI de mapa de status
w CGI da interface WAP
w CGI do status world (VRML)
w CGI de visã o geral tática
w CGI de apagões na rede
w CGI de configuraç ã o
w CGI de comando
w CGI de informaç ã o extendida
w CGI de log de evento
w CGI de histó rico de alerta
w CGI de notificaç ões
w CGI de tendências
w CGI de relató rio de disponibilidade
w CGI de histograma de alerta
w CGI de sumário de alertas
Conforme [1], serão 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, é através dele que é possível visualizar o status de todos os serviços e hospedeiros
que estão sendo monitorados. O CGI de status pode produzir dois tipos principais de saída -
uma visão geral do status de todos os grupos de hospedeiros (ou de um grupo de hospedeiro
em particular) e uma visão detalhada de todos os serviços (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 grá ficos a CGI utiliza a biblioteca gd Library (Thomas Boutell).
4.3.3 CGI de Interface WAP (Nome do arquivo: statuswml.cgi) – Se você tiver um
aparelho habilitado para WAP (ex.: celular) é esta a CGI que serve como interface WAP para
visualização do status da rede. Vantagem é que você pode obter as informações do status da
rede de qualquer lugar. Visões diferentes de status incluem sumá rio de grupo de hospedeiros,
visão geral de grupo de hospedeiro, detalhes de hospedeiros, detalhes de serviços e todos os
problemas.
4.3.4 CGI de Apagão de Rede (Nome do arquivo: outages.cgi) – Assim que
começam a apresentar as falhas nos hospedeiros, esta CGI mostra uma listagem dos
hospedeiros que estão causando as falhas na rede, isso é bastante útil se você tiver uma rede
de médio a grande porte, pois consegue identificar o problema mais rá pido.
4.3.5 CGI de Tendência (Nome do arquivo: trends.cgi) – Caso você deseje gerar um
grá fico para saber por quanto tempo um determinado hospedeiro ou serviço ficou está vel, essa
CGI é responsá vel por mostrar essas informações por um período de tempo arbitrá rio.
4.3.6 CGI de Relatório de Disponibilidade (Nome do arquivo: avail.cgi) – É
possível tirar relatório para analisar a disponibilidade dos hospedeiros e serviços em um
determinado período de tempo especificado.
4.3.7 CGI de Histograma de Alerta (Nome do arquivo: histogram.cgi) – Essa é
mais uma forma de reportar a disponibilidade de um hospedeiro ou serviço através de um
período de tempo especifico.
Caso deseje saber o que cada uma das outras CGI são responsá veis, pode ser
obtida através do site oficial do Nagios [1].
16
4.4 RECURSOS ADICIONAIS PARA O NAGIOS
4.4.1 NRPE (Nagios Remote Plugin Executer)
De acordo com [1], o NRPE permite executar plugins em hospedeiros remotos,
ele é instalado nos hospedeiros remotos a fim de enviar os dados solicitados ao Servidor
Nagios, o plugin check_nrpe é responsá vel por enviar pedidos de execução para o agente
NRPE no hospedeiro remoto, o agente NRPE é executado no hospedeiro remoto coletando as
requisições do plugin, então envia as informações de saída com um código de retorno ao
plugin check_nrpe, onde passará a saída do plugin remoto juntamente com o código como se
fosse dele próprio, isso torna um método bem transparente de execução entre plugins remotos.
O agente NRPE pode ser executado tanto em modo daemon como um serviço
inetd.
Modo daemon: quando executado nesse modo o agente NRPE faz uma
comparação do IP do cliente com a lista de IP cadastrados no arquivo de configuração
(nrpe.cfg).
Modo inetd: pode ser utilizado para restringir acesso ao plugin NRPE.
4.4.2 NSCA (Nagios Service Check Acceptor)
De acordo com [1], esse plugin tem a função de enviar informações do hospedeiro
remoto ao servidor Nagios por sua própria iniciativa, ou seja, permite ao servidor Nagios
coletar informações de checagens passivas de serviços. O NSCA pode ser utilizado como um
programa normal como também pode ser integrado a um Servidor Nagios. Essa opção é
utilizada para configurar um ambiente de monitoramento distribuído utilizando o comando
ocsp (Oline Certificate Status Protocol).
17
4.5 FALHAS NA REDE (Network Outages)
Conforme [1], o status.cgi é o arquivo mais importante, ele permite visualizar o
status atual de todos os serviços e hospedeiros que estão sendo monitorados, através dele é
possível separar e resolver os problemas com uma maior rapidez sem causar algum impacto
na rede.
Essas CGIs não irão 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 condições para um hospedeiro ser acusado com algum problema:
• Tem que estar inoperante ou inacessível e pelo menos um dos
hospedeiros pai tem de estar em operação.
• Todos os hospedeiros filhos estiverem inoperante ou inacessível e não
ter nenhum hospedeiro pai em operação.
Se ocorrer uma ou ambas condições acima, um hospedeiro é dado com problema.
O Nagios além de identificar o hospedeiro com problema também identifica o número de
hospedeiros que serão afetados pela falha desse hospedeiro, para isso é feito um cá lculo que
determina o número de serviços que será indisponibilizado pela falha do hospedeiro, esse
cá lculo é feito da seguinte forma, para cada hospedeiro tem um peso que é quatro vezes maior
que o número de serviços que ele dispõe. Através 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 estão inoperantes ou
inalcançá veis (do ponto de vista do Nagios). Os demais estão em operação normal.
18
Figura 5 – Diagrama da rede dos hospedeiros inalcançá veis.
Este diagrama mostra a causa da parada na rede (do ponto de vista do Nagios) e
mostra também vá rios grupos de hospedeiros que são afetados pela parada.
O CGI de parada na rede mostra qual o hospedeiro que está causando o problema
em sua rede, e também dirá quantos serviços ou hospedeiros estão sendo afetados por um
hospedeiro problemá tico em particular.
Figura 6 – Causa da falha da rede
19
O hospedeiro um (que está no domínio A) está bloqueando dois hospedeiros
filhos. O hospedeiro dois (que está no domínio B) está sozinho, então ele é responsá vel pelo
bloqueio dele mesmo e o hospedeiro trê s (que está no domínio C) é o único responsá vel pelo
bloqueio de sete hospedeiros.
Os dois hospedeiros (que está no domínio D) o problema está dividido entre os
hospedeiros dois e três, já que não dá para saber qual é o causador da parada.
O número de hospedeiros afetados por hospedeiro com problema é o seguinte: (o
hospedeiro com problema também faz parte da Figura 9):
• Hospedeiro 1: 3 clientes afetados
• Hospedeiro 2: 3 clientes afetados
• Hospedeiro 3: 10 clientes afetados
4.6 Determinando o Status e Alcance de Hospedeiros da Rede
4.6.1 Monitorando Serviç os em Hospedeiros Inoperantes (Down) ou Inalcanç áveis (Unreachable)
A principal função do Nagios é monitorar os serviços dos hospedeiros ou
dispositivos da rede. Quando ocorre um problema e um hospedeiro ou dispositivo da rede fica
inoperante, todos os serviços que estão relacionados a ele também ficarão inoperantes, dessa
forma o Nagios não irá monitorar os serviços desse hospedeiro por ele estar inalcançá vel.
Quando o Nagios faz as checagens, ele consegue detectar problemas nos serviços
especificados, e quando o resultado de uma checagem de serviço retorna uma resposta como
não-OK, o Nagios irá verificar se o hospedeiro está operante, isso é feito com o comando ping
onde é aguardada uma resposta. Se a resposta do comando ping retornar não-OK, o Nagios já
assume que esse hospedeiro está com problema, paralisa todos os alertas e envia uma
notificação para o responsá vel informando que aquele hospedeiro está inalcançá vel. Quando a
resposta da checagem do hospedeiro retorna um OK, o Nagios saberá que o hospedeiro está
20
vivo e enviará uma notificação informando que aquele determinado serviço está se
comportando de forma irregular.
4.6.2 Hospedeiros Locais
Hospedeiros locais são todos aqueles que ficam no mesmo equipamento ativo
(switch, hub) que está rodando o Nagios, e que nenhum roteador ou firewall está entre eles.
4.6.3 Monitorando Hospedeiros Locais
Quando o Nagios vai checar se um hospedeiro local está OK, é somente executar
o comando de checagem para aquele hospedeiro. Se o comando retornar OK para o Nagios
aquele hospedeiro está operante. Se o comando retornar qualquer outro nível, o Nagios
assumirá que o hospedeiro está inalcançá vel.
A Figura 7 mostra o layout de rede. O Nagios está rodando no hospedeiro “A” e
está monitorando todos os hospedeiros e roteadores desenhados no diagrama. Os demais
hospedeiros B, C, D, E e F são todos considerados hospedeiros locais em relação ao
hospedeiro “A” .
Figura 7 – Mostra o Nagios monitorando hospedeiros locais e remotos.
4.6.4 Hospedeiros Remotos
Hospedeiros remotos são aqueles que estão em uma rede diferente em que o
Nagios está . Na Figura 10 os hospedeiros, G, H, I, J, K, L, M são todos considerados
hospedeiros remotos em relação ao hospedeiro “A” que está rodando o Nagios.
21
4.6.5 Monitorando Hospedeiros Remotos
Quando o Nagios faz a checagem em um hospedeiro remoto e não obtém uma
resposta, o Nagios irá caminhar por uma á rvore de dependência, até que alcance o topo ou até
obter uma resposta de um hospedeiro pai.
Podemos verificar conforme mostra a Figura 8, que alguns hospedeiros estão mais
longe do que outros, podemos construir a á rvore de dependências analisando que os
hospedeiros H, I, J estão um hop mais longe que o Nagios do que o roteador G.
Figura 8 – Mostra a á rvore de dependência do Nagios
22
4.7 Notificaç õ es
O Nagios tem a função de notificar o administrador do sistema quando ocorre
alguma falha, pois é impossível 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 notificações e quando irá receber essas notificações,
pois se receber notificações de mais, acaba dificultando a analise dos problemas.
As notificações podem ocorrer quando houver uma mudança de estado para hard
ou quando um hospedeiro ou serviço permanece no estado hard por muito tempo,
ultrapassando o tempo limite da última notificação enviada.
Essas notificações têm como funcionalidade notificar em tempo real o
administrador sobre os problemas ocorridos na rede. As notificações são enviadas para os
contatos cadastrados em um grupo ou individual, mas antes de enviar a notificação o Nagios
se encarregará de verificar se existe um contato duplicado e removerá as mensagens desses
contatos duplicados.
Antes de enviar qualquer notificação, ela passa por alguns filtros onde será
julgada a sua importância a ponto de ser enviada. Os filtros verificam de uma forma global se
essas notificações estão ou não habilitadas, filtros de serviços e hospedeiros passam por vá rias
etapas realizando uma aná lise mais complexa onde pode enviar ou não, de acordo com os
critérios estabelecidos para cada etapa. Já os filtros de contatos são específicos a cada contato
e as notificações serão filtradas de acordo com as regras e encaminhadas. As notificações
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 não tem nenhuma funcionalidade sem os
plugins, esses plugins se tornam parte fundamental do sistema para realizar a verificação dos
hospedeiros e serviços. Para que isso ocorra, os plugins têm que fazer o intermédio entre o
Nagios e o hospedeiro a ser monitorado.
23
4.8.1 Usando os Plugins para checagem de Serviç os e Hospedeiros
Conforme [1], quando Nagios vai checar um serviço, ele executa o plugin que foi
especificado para realizar esse tipo de serviço e esse plugin irá verificar o status do serviço
especificado e retornará para o Nagios o resultado, assim o Nagios tomará as decisões. Já na
checagem de hospedeiros, o Nagios solicita a checagem com mais regularidade, ou seja, elas
só são executadas quando existe um ou mais problema com um serviço de um determinado
hospedeiro. O Nagios pode usar o mesmo plugin que ele checa um serviço para checar um
hospedeiro, uma única diferença é que na checagem de um hospedeiro o plugin retorna um
estado não-ok, para o Nagios esse hospedeiro está inoperante. Para você verificar se um
hospedeiro está em operação, normalmente utiliza-se o comando ping para fazer essa
verificação, se retornar um estado OK, você saberá que o hospedeiro está operante.
24
5 ESTUDO DE CASO
O estudo de caso foi realizado para gerenciar os servidores locais da Universidade
São Francisco, no qual está sendo monitorado o status da rede e seus serviços. 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 instalação da ferramenta.
Para uma maior segurança e para manter a integridade da empresa, foram
mascaradas as faixas de IP.
5.1 Instalaç ão do Nagios
A instalação da ferramenta Nagios será mostrada na distribuição Linux Debian
V4.0. Existem duas formas de se instalar o Nagios, pelo modo Tarbal e Pacote. Será
demonstrada a instalação através do modo Pacote.
A versão instalada do Nagios é a 2.6.
Instalando o Nagios pela linha de comando apt-get, esse comando realizará o
download e a instalação dos arquivos.
Acesso o sistema com o usuá rio root e digite a seguinte linha de comando.
# apt-get install nagios2 nagios-common nagios-nrpe-plugin nagios-nrpe-server nagios-
plugins nagios-images
5.2 Instalando Plugins
A instalação pode ser feita pela seguinte linha de comando:
# apt-get install plugins<versão>
Após a instalação os plugins estarão no seguinte diretório: /usr/lib/nagios/plugins
Ou faça o download do site http://www.nagios.org/download/ da versão mais
recente do plugin. Descompacte o arquivo em uma pasta, acesse a pasta e use o seguinte
comando :
25
./configure
make all
make install
Será criada uma pasta libexec, que contém os arquivos de plugins do Nagios.
5.3 Instalando servidor web
Na instalação do servidor WEB, será utilizado o APACHE como servidor. Para
instalar digite a seguinte linha de comando:
# apt-get install apache2
5.3.1 Configurando o Apache
Para acessar o Nagios via web, é necessá rio adicionar a seguinte configuração no
arquivo httpd.conf (arquivo de configuração do servidor web).
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
configuração 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 não irá requerer autenticação para logar no sistema.
Caso deseje colocar uma autenticação será necessá rio criar o arquivo com o seguinte
comando:
htpasswd -c /usr/local/nagios/etc/htpasswd.users usuario
chown apache:apache /usr/local/nagios/etc/htpasswd.users
5.4 Configurando o Nagios
Após a conclusão da instalação do Nagios, Plugins e Apache será necessá rio
configurar os arquivos do sistema para sua funcionalidade.
É aconselhá vel fazer um backup dos arquivos originais antes de iniciar as
alterações.
5.4.1 CGI.cfg
Na pasta /etc/nagios2 será necessá rio configurar o arquivo CGI.cfg, onde ficam os
arquivos cgi que o Nagios utiliza como parâmetro de autorização de acesso a interface web.
Verifique se o acesso à interface Web do Nagios exige autenticação:
use_authentication=0 (0 – Não Exige Autenticação / 1 – Exige Autenticação)
Será liberado acesso completo ao usuá rio nagiosadmin, para isso altere as
seguintes linhas:
27
authorized_for_system_information= nagiosadmin authorized_for_configuration_information= nagiosadmin authorized_for_configuration_information= nagiosadmin authorized_for_system_commands= nagiosadmin authorized_for_all_services= nagiosadmin authorized_for_all_hosts= nagiosadmin authorized_for_all_service_commands= nagiosadmin authorized_for_all_host_commands= nagiosadmin
5.4.2 NAGIOS.cfg
O arquivo nagios.cfg é o arquivo principal de configuração, nele consta todas as
configurações bá sicas do Nagios. De inicio nenhuma alteração será necessá ria. O nagios.cfg
deverá estar na pasta /etc/nagios2. Onde a partir desse arquivo que o Nagios carregará todos
os outros arquivos de configuração.
5.4.3 Adicionando Hospedeiros e Serviç os para Monitoramento
Os arquivos ficam em /etc/nagios2/conf.d/. Temos os seguintes arquivos:
1 - contacts_nagios2.cfg
2 - localhost_nagios2.cfg
3 - extinfo_nagios2.cfg
4 - host-gateway_nagios2.cfg
5 - services_nagios2.cfg
6 - hostgroups_nagios2.cfg
7 - timeperiods_nagios2.cfg
5.4.4 Definiç ão de contatos e grupo de contatos
Neste arquivo são definidos os contatos e grupo de contatos que serão enviadas as
notificações:
contacts_nagios2.cfg ###################################################################### # CONTACTS ######################################################################
28
# In this simple config file, a single contact will receive all alerts.
define contact{ contact_name root alias Root service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-by-email host_notification_commands host-notify-by-email email [email protected] }
###################################################################### # CONTACT GROUPS ###################################################################### # We only have one contact in this simple configuration file, so there is # no need to create more than one contact group. define contactgroup{ contactgroup_name admins alias Nagios Administrators members root }
5.4.5 Definiç ão de serviç os a serem monitorados
Neste arquivo serão definidos os serviços a serem monitorados nos hospedeiros:
localhost_nagios2.cfg # A simple configuration file for monitoring the local host # This can serve as an example for configuring other servers; # Custom services specific to this host are added here, but services # defined in nagios2-common_services.cfg may also apply. define host{ use generic-host ; Name of host template to use host_name Nagios alias localhost address 127.0.0.1 } # 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 generic-service ; Name of service template to use host_name Nagios service_description Disk Space check_command check_all_disks!20%!10% }
29
define service{ use generic-service ; Name of service template to use host_name Nagios service_description Current Smtp check_command check_smtp!-t 5 -e "nagios" } define service{ use generic-service ; Name of service template to use host_name Servidor_E-mail service_description Current Pop check_command check_pop!-t 5 -e "nagios" } define service{ use generic-service ; Name of service template to use host_name Servidor_BKP service_description Disk Space check_command check_disk!check_disk_c }
5.4.6 Configurando imagens nos hospedeiros
Arquivo permite configurar as imagens que serão carregadas pelo browser,
podem-se configurar imagens especificas para cada hospedeiro ou grupo de hospedeiro.
extinfo_nagios2.cfg
## Extended Host and Service Information
define hostextinfo{ hostgroup_name debian-servers notes Debian GNU/Linux servers # notes_url http://webserver.localhost.localdomain/hostinfo.pl?host=netware1 icon_image ./base/debian.png icon_image_alt Debian GNU/Linux vrml_image ./base/debian.png statusmap_image ./base/debian.png 2d_coords 500,500 3d_coords 50.0,50.0,50.0 }
5.4.7 Definiç ão de Hospedeiros
Arquivo onde são definidos os hospedeiros a serem monitorados:
host-gateway_nagios2.cfg # a host definition for the gateway of the default route
30
define host { host_name gateway alias Default Gateway address 192.168.0.1 use generic-host }
5.4.8 Definiç ão de Serviç os por grupo
Neste arquivo são definidos os serviços a serem monitorados por grupo de
hospedeiros:
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 }
5.4.9 Definiç ão de Grupo de Hospedeiros
Neste arquivo é configurado os grupo de hospedeiros a serem monitorados, isso
ajuda para uma melhor estruturação da rede
hostgroups_nagios2.cfg # A list of your web servers define hostgroup { hostgroup_name http-servers alias HTTP servers members Nagios } define hostgroup { hostgroup_name smtp-servers alias SMTP servers members Nagios } # 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 example)
31
define hostgroup { hostgroup_name ping-servers alias Pingable servers members gateway, Servidor_Dominio, Servidor_E-mail, Servidor_BKP,
Servidor_ANTIVIRUS, Servidor_IMPRESSAO }
5.4.10 Definiç ão de monitoraç ão por período de tempo
Neste arquivo é definido como o Nagios irá atuar em sua monitoração, pode-se
definir os dias e horá rios de atuação.
########################################################################### # timeperiods.cfg ########################################################################### # This defines a timeperiod where all times are valid for checks, # notifications, etc. The classic "24x7" support nightmare. :-) define timeperiod{ timeperiod_name 24x7 alias 24 Hours A Day, 7 Days A Week 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 } # 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 notificação para o contato
cadastrado informando que o hospedeiro estava baixo ou inalcançá vel, religado o servidor
onde o Nagios identificou que está de pé, também enviou uma notificação informando que o
servidor está OK.
A Figura abaixo, mostra a notificação enviado por e-mail:
Para monitoramento de serviços, o Nagios está configurado para realizar a checagem a
cada cinco minutos nos serviços especificados. Ao ser realizado teste no serviço de SMTP do
servidor de e-mail, onde o serviço foi paralisado por algum problema, o Nagios identificou o
problema no serviço e enviou uma notificação ao contato cadastrado informando que o
serviço está com estado CRITICO, quando o serviço de SMTP se restabeleceu o Nagios
enviou uma notificação informando que o serviço de SMTP está normal.
33
6.1 Dificuldades Encontradas
Através dos tutoriais encontrados na Internet, não foi possível realizar a instalação
passo a passo pelas linhas de comando. Para instalar o Nagios, foi necessá rio instalar pela
linha de comando apt-get.
Não foi possível configurar o NRPE em Sistema Operacional Windows.
Em uma determinada etapa do projeto o Servidor Apache perdeu as configurações
de autenticação, não sendo possível mais autenticar no Servidor para visualizar o status da
rede. Foi necessá rio reinstalar novamente todo o sistema, porém dessa vez foi instalado sem a
configuração de autenticação.
34
7 CONCLUSÃ O
Toda pesquisa feita e desenvolvida ao longo deste trabalho trouxe uma grande
satisfação em ter uma ferramenta de monitoramento de sistemas e rede trabalhando
ativamente na rede da instituição, na qual o Nagios está monitorando ativamente os recursos
da rede. O Nagios está instalado e configurado na rede da Universidade São Francisco onde
foi possível adquirir resultados prá ticos através de sua implementação.
Através do Nagios é possível monitorar os servidores, serviços e processos que
estão sendo executados, tirar relatórios para se basear como está se comportando determinado
hospedeiro, enviar notificações para os responsá veis na ocorrência 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 específicos para checagem de serviços.
Com essa ferramenta é possível identificar o problema antes da reclamação de um
cliente, assim pode-se tomar as medidas cabíveis o mais rá pido possível 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 solução.
Com esse conteúdo apresentado, pode-se focar a parte técnica sobre a implantação
e características dos equipamentos a serem monitorados.
Foi gratificante conseguir implantar o servidor de gerenciamento na rede da
Universidade São Francisco, através do estudo implantado houve uma melhora significante na
á rea de Tecnologia da Informação.
35
7.1 Contribuiç õ es
Resumidamente, a principal contribuição deste estudo foi à implantação da
ferramenta de monitoramento Nagios na rede da Universidade São Francisco, onde está sendo
feito o monitoramento dos recursos de rede, podendo solucionar os problema de uma forma
mais á gil, que antes isso não ocorria. Através do estudo implantado houve uma melhora
significante nos recursos de Infra-estrutura de Tecnologia da Informação na Universidade São
Francisco.
Esse estudo também irá contribuir para o desenvolvimento utilizando a ferramenta
Nagios, onde através dessa documentação facilitará ao desenvolvedor a implantação do
Nagios na rede de sua empresa.
Essa documentação também será disponibilizada na rede para ser utilizada pela
comunidade de software livre, podendo se basear nela para futuras instalações do Nagios.
7.2 Extensõ es
Este trabalho pode ser continuado para poder realizar o monitoramento da rede
corporativa dos demais servidores das unidades da Universidade São Francisco, bem como o
grupo Bom Jesus, também poder instalar o servidor Nagios no DataCenter e configurá -lo para
notificar os administradores de cada unidade na ocorrência de falhas.
Além de monitorar servidores, serviços e processos, através do Nagios é possível
acrescentar o monitoramento de switch, roteador, centrais telefônicas, temperatura ambiente
da sala do servidor entre outros.
O Nagios não é a única ferramenta de monitoramento de rede de código aberto,
existem diversas outras ferramentas que fazem o mesmo serviço, algumas são pagas e outras
são gratuitas, como exemplo, podemos citar uma ferramenta de monitoramento de rede
gratuita chamada Zabbix.
36
Referê ncias Bibliográ ficas
[1] Site Oficial do Nagios (http://www.nagios.org) – Acessado em 13 de Março de 2007
[2] Estudo de uma Ferramenta de Gestão de Redes
http://nagios.sourceforge.net/download/contrib/documentation/misc/Nagios_Portuguese.pdf -
Acessado em 07 de Setembro de 2007
[3] Instalação e configuração do NRPE
http://nagios-br.sourceforge.net/wiki/index.php/Tutoriais/Nagios_NRPE
Acessado em 15 de Outubro 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
[5] O Protocolo SNMP
http://www.logicengenharia.com.br/mcamara/alunos/snmp_lecia.pdf
Acessado em 21 de Outubro de 2007
[6] Protocolo de Gerenciamento SNMP
http://www.rederio.br/downloads/pdf/nt00601.pdf
Acessado em 21 de Outubro de 2007
[7] ADMINISTRAÇÃO E GERENCIA DE REDES
http://www.lrg.ufsc.br/ine6404/Mateus.pdf - Acessado em 22 de Outubro de 2007
[8] Protocolo SMNP
http://www.tech-faq.com/lang/pt/snmp.shtml - Acessado em 22 de outubro de 2007
[9] TANENBAUM, Andrew S., Redes de Computadores. 1997 Terceira Edição - Rio de
Janeiro - RJ
37
[10] COMER, Douglas E., INTERLIGAÇ ÃO EM REDE COM TCP/IP :
princípios, 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
[12] Manual de instalação e configuração do Nagios
http://comunidade.cdtc.org.br/ - Acessado em 03 de Abril de 2007
[13] Manual de instalação e configuração do Nagios
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6820&pagina=1
Acessado em 04 de Abril de 2007
[14] ANDRADE, Hetty Alves de. Nagios como solução de Monitoramento de Redes. 2006.
Monografia – Curso de Pós Graduação Latu Sensu em Administração de Redes Linux -
Universidade Federal de Lavras, Minas Gerais Brasil. Disponível em:
http://www.ginux.ufla.br/files/mono-HettyAndrade.pdf - Acessado em 23 de Outubro de 2007
38
Anexo 1 - Telas da ferramenta de monitoramento do Nagios
39
Figura 1 - Tela Principal do Nagios
40
Figura 2 - Detalhe dos serviç os de todos os hospedeiros
41
Figura 3 - Detalhe dos Hospedeiros
42
Figura 4 – Visã o Geral de todos os hospedeiros
43
Figura 5 – Mapa de Status da Rede
44
Figura 6 – Detalhe do Status de Serviç o de Todos os Hospedeiros
45
Figura 7 – Tendê ncias de Estado dos Hospedeiros
46
Figura 8 – Tendê ncia de Estado de Serviç os dos Hospedeiros
47
Figura 9 – Relatório de Disponibilidade de Grupo de Hospedeiros
48
Figura 10 – Relatório de Disponibilidade de Serviç os dos Hospedeiros
49
Figura 11 – Histograma de Alerta do Hospedeiro
50
Figura 12 – Histograma de Alerta do Serviç o
51
Figura 13– Notificaç ões enviadas para os Contatos