nagios

7
Trabalho sobre Nagios Francisco Aldevan Barbosa Costa – RA 1011354 Nagios O Nagios é um sofware livre distribuído por meio da licença GPL, criado por Ethan Galstad. Atualmente uma grande comunidade de desenvolvedores ao redor do planeta participa do desenvolvimento desta ferramenta que surgiu com o nome de Netsaint, nos anos 90. O NetSaint era apenas uma pequena ferramenta DOS que se utilizava do comando "ping" para testar conectividade com servidores Novell. Esta aplicação também conseguia se utilizar de aplicações de terceiros e resgatar dados, organizando-os em arquivos de texto. Este é o início da arquitetura Servidor-Plugins, utilizada pelo Nagios e que resultou em um enorme sucesso da ferramenta. Em 1998, Ethan lançou uma versão aprimorada do NetSaint para que funcionasse na plataforma Linux. Esta versão foi otimizada para que pudesse monitorar hosts e serviços de maneira efetiva. No ano de 2002, devido a problemas com os direitos do nome NetSaint, Galstad muda o nome de sua ferramenta para Nagios e, a partir deste ponto, o software tornou-se cada vez mais conhecido internacionalmente. Nos últimos anos, Nagios tem vencido muitos prêmios e vem sendo utilizado em larga escala, principalmente por empresas de grande porte como ISPs (Internet Service Providers), devido a sua robustez e escalabilidade. Existem no mercado várias ferramentas para recursos computacionais, algumas distribuídas gratuitamente como o Nagios e outras pagas como o Orion Solar Winds, que chega a custar milhares de dólares. A decisão em se utilizar o Nagios parte da ideia de redução de custo, um fator primordial dentro das empresas de TI, hoje em dia, e também por ser considerada uma das ferramentas mais poderosas no mercado, atualmente, adapta-se a todo o tipo

Upload: comandos-linux

Post on 19-Jun-2015

1.966 views

Category:

Education


0 download

DESCRIPTION

gerenciamento de redes com nagios

TRANSCRIPT

Page 1: Nagios

Trabalho sobre Nagios

Francisco Aldevan Barbosa Costa – RA 1011354

Nagios

O Nagios é um sofware livre distribuído por meio da licença GPL, criado por

Ethan Galstad. Atualmente uma grande comunidade de desenvolvedores ao

redor do planeta participa do desenvolvimento desta ferramenta que surgiu

com o nome de Netsaint, nos anos 90. O NetSaint era apenas uma pequena

ferramenta DOS que se utilizava do comando "ping" para testar conectividade

com servidores Novell. Esta aplicação também conseguia se utilizar de

aplicações de terceiros e resgatar dados, organizando-os em arquivos de texto.

Este é o início da arquitetura Servidor-Plugins, utilizada pelo Nagios e que

resultou em um enorme sucesso da ferramenta.

Em 1998, Ethan lançou uma versão aprimorada do NetSaint para que

funcionasse na plataforma Linux. Esta versão foi otimizada para que pudesse

monitorar hosts e serviços de maneira efetiva. No ano de 2002, devido a

problemas com os direitos do nome NetSaint, Galstad muda o nome de sua

ferramenta para Nagios e, a partir deste ponto, o software tornou-se cada vez

mais conhecido internacionalmente. Nos últimos anos, Nagios tem vencido

muitos prêmios e vem sendo utilizado em larga escala, principalmente por

empresas de grande porte como ISPs (Internet Service Providers), devido a

sua robustez e escalabilidade.

Existem no mercado várias ferramentas para recursos computacionais,

algumas distribuídas gratuitamente como o Nagios e outras pagas como o

Orion Solar Winds, que chega a custar milhares de dólares. A decisão em se

utilizar o Nagios parte da ideia de redução de custo, um fator primordial dentro

das empresas de TI, hoje em dia, e também por ser considerada uma das

ferramentas mais poderosas no mercado, atualmente, adapta-se a todo o tipo

Page 2: Nagios

de ambiente, além de apresentar a flexibilidade de uma arquitetura que permite

a participação direta do usuário através de customização e criação de plugins.

Em outras palavras, podem-se listar algumas funcionalidades chave do Nagios

como:

� Web interface. Não importa a localidade onde se encontra o

administrador, pode-se verificar a saúde da rede desde que se tenha

acesso a um browser;

� Recursos de rede como HTTP e FTP podem ser monitorados assim

como recursos de hosts como espaço em disco, processos, logs,

recursos de processamento e memória etc;

� Pode-se gerar relatório para tendências, alertas, viabilidade e

notificações através da interface web;

� Plugins podem ser programados pelo próprio administrador ou uma

equipe caso o Nagios não forneça a princípio as informações desejadas;

� "Downtime" programável. Enquanto servidores estão off-line para

manutenção ou recursos estão indisponíveis por razões conhecidas

pode-se ativar o modo downtime e notificações não são enviadas;

� Estrutura de monitoramento redundante. Para que o servidor de

monitoramento não corra o risco de falhar, pode-se utilizar uma estrutura

"Master and Slave", ou seja, um segundo servidor Nagios pode ser

utilizado como Backup para o primeiro. Caso haja falha, o servidor de

backup assume o controle automaticamente.

Um dos propósitos principais de um sistema de monitoramento é

detectar falhas no funcionamento de máquinas e serviços, portanto, o

administrador é avisado imediatamente sobre o problema (Kocjan, 2008,

p.8). O sistema Nagios não executa suas funções por si só. Utiliza-se de

plugins para realizar as verificações necessárias. Tais plugins podem ser

desenvolvidos por usuários em qualquer linguagem de programação, o

que torna a estrutura do Nagios extremamente flexível.

Os objetos monitorados pelo sistema Nagios podem ser divididos

em duas categorias básicas: hosts e serviços. Hosts são máquinas

Page 3: Nagios

físicas como servidores, switches, impressoras, roteadores etc. Serviços

são funcionalidades como um servidor web, impressão, e-mail, entre

outros. Tais serviços são associados com o host no qual são

executados. Grupos de hosts e serviços podem também ser criados, o

que facilita a organização dos objetos.

Visão geral da organização dos host no nagios

A figura acima explica o conceito de hosts e serviços no Nagios. O host

1 por exemplo, possui 4 serviços associados, são eles : Webserver, Database

server, FTP server e SSH server. Host 1 e Host 2, por sua vez, formam o grupo

Hostgroup 1. Caso uma ação seja aplicada a esse grupo, esta irá afetar Host 1

e Host 2, respectivamente.

O Nagios possui um estilo de exibição dos dados que simplifica sua

visualização. Em vez de utilizar números e percentagens, o sofware utiliza

quatro estados para demonstrar o status de serviços e equipamentos: OK,

WARNING, CRITICAL, e UNKNOWN. Esta abordagem facilita muito o trabalho

do administrador que ao invés de monitorar valores numéricos o tempo todo,

pode customizar estes valores de forma que os quatro estados do Nagios

reflitam o estado da rede de maneira eficiente. Por exemplo, em determinada

Page 4: Nagios

rede a utilização média do link de Internet pode girar em torno dos 40%. Em

outra, a percentagem pode ser em torno de 65%, portanto, os administradores

devem customizar os estados de maneira que o Nagios possa informar

anomalias na utilização destes links, eficientemente.Em geral, administradores

tendem a desconsiderar coisas como uma lenta diminuição do espaço em

disco em um servidor, e, até que se perceba o problema, este poderá fazer

com que usuários sejam impossibilitados de gravar arquivos, até usar o

sistema de maneira eficiente. Em casos como esse, ferramentas de

monitoramento são muito importantes para se prevenir problemas desse tipo.

Nagios se utiliza de plugins para monitorar seus objetos. Tais plugins são

componentes externos, os quais passam informações ao servidor. São

responsáveis por verificar e analisar resultados, ou seja, são transformados em

um dos quatro estados citados anteriormente e enviados ao servidor, assim

como um relatório detalhado adicional, que pode ser lido por administradores

experientes. Existem plugins capazes de monitorar basicamente qualquer tipo

de objeto de uma companhia. O site www.nagiosplugins.org deve ser checado

para maiores informações sobre as centenas de plugins disponíveis. A Figura 9

exibe uma tela do plugin Nagvis, a qual possibilita a visualização do status de

estruturas, servidores e outros objetos por meio de diagramas e fotografias.

Page 5: Nagios

Tela do plugin Nagios

Características do Nagios

Como citado anteriormente, a característica mais forte do Nagios é a

flexibilidade, ou seja, pode ser configurado em detalhes pelo administrador.

Também possui um mecanismo que reage automaticamente em caso de

problemas e um poderoso sistema de notificações. De acordo com Kocjan

(Kocjan, 2008, p.25), todas essas funcionalidades são baseadas em um

sistema claro de definições e tipos de objetos, a saber:

� Comandos - definições de como o Nagios deve executar verificações

específicas; na verdade, são uma camada de abstração que permite o

agrupamento de operações similares.

� Períodos de Tempo - controlam quando ações devem ser executadas ou

não. Por exemplo: segunda a sexta entre 7:00 e 18:00 horas.

Page 6: Nagios

� Contatos e grupos de contato - Informações sobre as pessoas que

devem ser contatadas e os meios de contato. Podem ser agrupadas

para facilitar o contato de várias pessoas.

� Hosts - informações sobre máquinas físicas, como a verificação deve ser

efetuada e quais as pessoas a serem contatadas.

� Serviços - várias funcionalidades ou recursos a serem monitorados em

um host específico, contatos, além de como e quando a verificação deve

ser feita.

� Hierarquia de notificações para Hosts e Serviços - define períodos nos

quais pessoas adicionais devem ser notificadas. Por exemplo, se um

servidor de missão crítica estiver off-line por mais de 4 horas, a gerência

pode ser notificada.

Outra característica muito importante do Nagios é o avançado sistema

de dependências do sistema. Por exemplo, se um roteador está off-line, todas

as máquinas e serviços acessados através deste equipamento são obviamente

afetadas. Alguns sistemas não levam isso em consideração, o que resulta em

um excesso monstruoso de notificações a respeito de todas as máquinas e

serviços afetados.

O Nagios utiliza um sistema de quatro estados para informar o

administrador sobre o status de um objeto. Porém, para que se evitem

problemas temporários, que resultam em notificações que não refletem o

estado real da rede, o Nagios utiliza estados "hard" e "soft" para descrever o

estado do objeto naquele momento. Por exemplo, se o administrador precisa

reiniciar um servidor web e este processo faz com páginas web fiquem sem

acesso por alguns segundos, o Nagios não deve enviar notificações uma vez

que se trata de um período aceitável. Caso o servidor continue indisponível por

tempo acima do permitido pelo administrador como aceitável, a ferramenta

avisa, então, as pessoas responsáveis. Se o Nagios não possuísse este tipo de

estado temporário, um evento como esse poderia ativar uma série de

notificações equivocadas. A configuração de "soft" e "hard" states pode ser

feita para cada host individualmente, o que proporciona maior flexibilidade.

Para testar serviços o Nagios faz uso de programas externos chamados

Page 7: Nagios

plugins. No caso mais simples isto envolve testar um serviço de internet. Aqui o

serviço pode ser chamado diretamente na rede, pois é suficiente chamar um

programa local no servidor Nagios que teste o serviço específico no servidor

remoto.

Nem tudo o que se queira testar pode ser alcançado tão facilmente na

rede. Entretanto, não existe um protocolo de rede para verificação da área

disponível em disco, por exemplo. Neste caso é necessário iniciar um plugin

num host remoto através de um shell remoto (mas primeiro ele precisa ser

instalado no computador remoto), ou então usa-se de outros métodos tal como

o protocolo SNMP (Simple Network Management Protocol) para verificar a

capacidade do disco. Os quatro métodos de verificação de serviço de forma

“ativa”, onde o Nagios toma a iniciativa e dispara o teste, são: executar

diretamente um plugin no seu próprio servidor; executar um plugin que por sua

vez vai chamar um outro no host remoto; executar um plugin também

diretamente na máquina cliente, mas utilizando o serviço NRPE - Nagios

Remote Plugin Executer - criado especificamente para este propósito; e, por

último, utilizar uma consulta via SNMP - para isto o cliente precisa de um

agente SNMP disponível. Existem vários plugins disponíveis para consulta de

dados através de protocolo. Outro tipo de verificação é feita de forma passiva:

o Nagios apenas aguarda pela informação a ser enviada pelo cliente através do

programa NSCA (Nagios Service Check Acceptor). No próprio servidor Nagios

o NSCA executa como um daemon que recebe os resultados enviados e os

repassa à interface para comandos externos. O Nagios possui um sistema

interno de controle que permite a atualização dos resultados relativos à

verificação dos serviços. Se esta opção for ativada pelo administrador, assim

como for definido o intervalo máximo entre cada verificação, o Nagios irá forçar

uma verificação de serviços ativos sempre que este intervalo for atingido.