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 ope rem
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:
CGI de status
CGI de mapa de status
CGI da interface WAP
CGI do status world (VRML)
CGI de visão geral tática
CGI de apagões na rede
CGI de configuração
CGI de comando
CGI de informação extendida
CGI de log de evento
CGI de histórico de alerta
CGI de notificações
CGI de tendências
CGI de relatório de disponibilidade
CGI de histograma de alerta
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 configurat ion 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 fo r 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 s mtp-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, Serv idor_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 conta to 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
Top Related