Este relatório descreve o projeto de monitorização de rede utilizando a ferramenta Nagios. Os alunos instalaram e configuraram o Nagios para monitorizar vários hosts e serviços de rede, como SMTP, HTTP e SNMP, apesar de enfrentarem alguns problemas com plugins. O relatório resume o processo de desenvolvimento e conclusões retiradas sobre a aplicação Nagios.
2. Nagios - ASIST
Docentes:
Eng. André Cruz Moreira.
Eng. Nuno Mendes Fonseca.
Eng. Jorge Canelhas Pinto Leite.
Discentes:
André Daniel Vieira da Silva.
Luis Filipe Teixeira da Cunha.
2
3. Nagios - ASIST
Índice:
Contexto da Disciplina................................................................................................................... 4
Introdução ..................................................................................................................................... 5
Monitorização de Rede ................................................................................................................. 6
A ferramenta Nagios ..................................................................................................................... 7
Processo de desenvolvimento ...................................................................................................... 9
Plugins ....................................................................................................................................... 9
Pressupostos Assumidos ............................................................................................................. 11
Conclusões .................................................................................................................................. 12
3
4. Nagios - ASIST
Contexto da Disciplina
O presente relatório da disciplina de Administração de Sistemas da Licenciatura em
Engenharia Informática do Instituto Superior de Engenharia do Porto faz parte de um
plano de estudos Bolonha adoptado em 2010/2011 estando inserida na área científica de
Administração de Sistemas Informáticos e de Centros de Processamento de Dados, com
objectivos bem definidos, a fim de dotarem os seus alunos de conhecimentos para a
realização de tarefas essenciais de um Administrador de Sistemas, preparando para a
sua implementação, administração e a sua monitorização.
Objectivo
Com a elaboração deste projecto, os alunos têm como objectivo interpretar o problema
proposto, e aplicar os conhecimentos na monitorização de dispositivos de rede através
da aplicação open source Nagios.
Monitorizando diversos serviços, assim como diversas máquinas (nós), pretendemos
obter o maximo de informação sobre os dispositivos a monitorizar, desde SMTP, HTTP,
ICMP, SNM, até à configuração de alertas e de envio de avisos ao administrador
responsável.
4
5. Nagios - ASIST
Introdução
Diferido pelos docentes responsáveis pela disciplina Administração de Sistemas, foi-nos
pedido a monitorização de vários dispositivos de rede.
Sendo uma área de grande interesse de estudo da nossa parte, pois a monitorização de
qualquer rede facilita e muito o trabalho do Administrador de sistemas, sendo apenas
assim possível controlar os dispositivos antecipando cenários críticos, isto é, criando
uma gerência pró activa.
Após uma análise atenta ao enunciado fornecido, partimos para a configuração do
servidor fornecido, instalando os serviços necessários para a realização do trabalho,
instalando de seguida o Nagios, aplicação que usamos para monitorizar a nossa rede de
dispositivos.
Para a configuração do Nagios iremos usar toda a documentação fornecida pelos
docentes através do moodle, seguindo exemplos para a criação dos ficheiros para
configuração do Nagios.
Pretendemos com este trabalho ver aplicados todos os conhecimentos da área de
Administração de Sistemas, mais precisamente na monitorização de dispositivos, com
claro objectivo de monitorizar o mais possível a nossa rede.
5
6. Nagios - ASIST
Monitorização de Rede
Sendo tão importante a monitorização de dispositivos de rede como a sua
implementação, é uma área que tem evoluído exponencialmente em prol do trabalho pró
activo dos Administradores de Sistemas.
Sendo uma área recente, pois a preocupação com a gestão e monitorização de redes
praticamente não existia no inicio da Arpanet, há cerca de 10 anos atrás, assim como a
padronização do uso de metodologias nas T.I.
Com a evolução rápida das redes e dos recursos disponibilizados através delas, foi
necessária a evolução e organização das tecnologias necessárias para manter a estrutura a
funcionar correctamente, o que era testado há vinte anos atrás com um simples ping, hoje
requer ferramentas muito mais complexas e avançadas. Entre as demais funções que podem
ser monitorizadas temos:
Hosts - O administrador precisa ter certeza que servidores, impressoras e
outros equipamentos desta categoria estão activos e a desempenhar as suas
funções de maneira adequada.
Tráfego - Com a crescente utilização de aplicações que fazem uso de
recursos de rede, as limitações de banda tornaram-se uma questão muito
importante nos dias que correm.
Ferramentas adequadas ajudam o administrador a perceber se o projecto da
rede, assim como a banda oferecida para os links internos e externos são
suficientes. Um exemplo simples é uma monitorização de um link, com
isolamento do tráfego por aplicação. Desta maneira tem-se a ideia exacta de
como a banda é utilizada por cada aplicação, o que permite um planeamento
dos recursos.
Detecção de intrusos - A segurança é a maior preocupação de muitos
Administradores de Sistemas devido à quantidade e complexidade das
ameaças tecnológicas e de engenharia social que actuam no mercado. Com
as devidas ferramentas um administrador pode reagir de maneira efectiva.
Desempenho - O Administrador de Sistemas deve classificar, medir e ajustar
equipamentos diversos além da estrutura e organização de uma rede para
que se obtenha o desempenho máximo. Dentro de um contexto financeiro, a
optimização de uma rede aliada à redução de custos é um interesse por parte
de qualquer empresa.
Falhas - Através de protocolos como o SNMP (Simple Network
Management Protocol) pode-se obter informações sobre falhas de
equipamentos e conexões praticamente em tempo real. Um administrador,
por exemplo, pode utilizar ferramentas instaladas no seu smartphone que
permitem acesso à sua administração na empresa e receber mensagens SMS
ou e-mails como notificações, caso falhas ocorram.
Em resumo, pode-se dizer que a monitorização de redes consiste em analisar
informações provenientes de recursos e tráfego.
6
7. Nagios - ASIST
A ferramenta Nagios
O Nagios é um sofware open source, criado por Ethan Galstad.
Actualmente conta com uma enorme comunidade de programadores em todo Mundo que
desenvolve a ferramenta que nasceu com o nome Netsaint nos anos 90. O NetSaint era
apenas uma pequena ferramenta DOS que utilizava o comando "ping" para testar
conectividade com servidores Novell. Esta aplicação também conseguia utilizar aplicações
de terceiros e resgatar dados, organizando-os em arquivos de texto. Este é o início da
arquitectura Servidor-Plugins, utilizada pelo Nagios e que resultou no enorme sucesso da
ferramenta.
Em 1998, Ethan lançou uma versão aprimorada do NetSaint que funcionasse na
plataforma Linux. Esta versão foi optimizada para que se pudesse monitorizar hosts e
serviços de maneira efectiva e no ano de 2002, devido a problemas com os direitos devido
ao nome NetSaint, Galstad muda o nome de sua ferramenta para Nagios e, a partir deste
ponto, o software tornou-se cada vez mais conhecido.
Nos últimos anos, o Nagios tem vencido muitos prémios sendo um dos software de
monitorização mais utilizados.
Como funciona o Nagios
Um dos propósitos principais de uma monitorização é detectar falhas no funcionamento de
máquinas e serviços, portanto, o administrador é avisado imediatamente sobre o problema.
O sistema Nagios não executa as suas funções por si só, utiliza plugins para realizar as
verificações necessárias estes plugins podem ser desenvolvidos por cada utilizador em
qualquer linguagem de programação, o que torna a estrutura do Nagios extremamente
flexível.
Os objectos de monitorização pelo
sistema Nagios podem ser
divididos em duas categorias
básicas: hosts e serviços. Os hosts
são máquinas físicas como
servidores, switchs,
impressoras, routers etc.
Os serviços são funcionalidades
como um servidor web,
impressão, e-mail, entre outros, os
vários serviços são associados a
um host no qual são
executados. Grupos de hosts e
serviços podem também ser
criados, o que facilita a Imagem 1 - Organização de hosts e serviços no Nagios
organização dos objectos.
7
8. Nagios - ASIST
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 dos serviços e equipamentos: OK, WARNING, CRITICAL, e UNKNOWN.
Esta abordagem facilita muito o trabalho do administrador que ao invés de monitorizar
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 rede a utilização média de um endereço de Internet pode girar em torno dos
40%, noutro a percentagem pode ser em torno de 65%, portanto, os administradores devem
personalizar os estados de maneira que o Nagios possa informar anomalias na utilização
destes links, eficientemente.
8
9. Nagios - ASIST
Processo de desenvolvimento
No processo de desenvolvimento começamos por instalar o nagios versão 3.2.3, criamos o
utilizador nagios, ao qual atribuimos as permissões necessárias para que pudesse “escrever”
onde seria necessário.
Configuramos os contactos dos administradores do sistema, no contacs.cfg. criamos
ficheiros para cada host que iriamos monitorizar, como Windows.cfg, Linux.cfg e assim
sucessivamente, e fomos descomentar e acrescentar hosts no nagios.cfg assim:
“”cfg_file=/usr/local/nagios/etc/objects/google.cfg”
Para tudo isto funcionar tivemos que tivemos que configurar os ficheiros .cfg anteriormente
criados, onde definimos o host assim:
define host{
use windows-server
host_name dot
alias Windows Server
address dot.dei.isep.ipp.pt
}
Definindo depois todos os serviços que queriamos monitorizar a serguir, no mesmo
ficheiro.
define service{
use generic-service
host_name dot
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
Plugins
Como já referido anteriormente o Nagios trabalha com plugin para monitorizar os host e
serviços, pelo que tivemos que instalar diversos.
No fim do trabalho tinhamos:
Sendo que alguns são de salientar, como o check_nt, o check_snmp, foram os dois que nos
deram mais trabalho, tanto na sua instalação como na sua implementação, e são os que
monitorizam os serviços mais correntes.
9
10. Nagios - ASIST
O Check_Nt que nos permitiu monitorizar o servidor com Windows Server 2008, que
estava previamente configurado com o NSClient++, assim:
Que nos permiti monitorizar o estado completo da maquina Windows.
10
11. Nagios - ASIST
Pressupostos Assumidos
Duranta a elaboração deste trabalho tivemos imensas dificuldades, isto porque instalmos do
modo “fácil” o Nagios, fazendo apt-get Nagios. Com os links da distribuição que temos
configurados de base instalamos uma versão do Nágios antiga que funciona de forma
diferentem, mais complexa e de dificil configuração.
Depois de termos o trabalho quase pronto deparamo-nos com um problema, os check_snmp que
servem de monitorização do switch que temos que monitorizar não funcinava correctamente,
embora a MIB estivesse bem configurada nunca funcionava correctamente. Posto isto
formatamos a máquina e instalamos tudo de novo, desta vez, esperamos nós, correctamente,
instalamos a ultima versão do Nagios, que permitiu trabalhar segundo os exemplos e
informação encontrada na Internet, pois nunca thínhamos trabalhado com Nagios e tivemos de
ler muito até perceber como tudo funcionava.
Nesta versão conseguimos instalar todos os plugins que precisamos, configuramos tudo de
novo, tivemos algumas dificuldades em particular com o check_snmp_int, que era um requisito
explicito no enunciado, plugin que nos deu muitos problemas, onde alguns deles não foram
resolvidos, conseguimos monitorizar a porta 25 mas só demos permissões ao utilizador nagios
para poder escrever no directório /tmp já no perto do prazo, ele não mostra o tráfego pois tem
poucas linhas de informação.
O check_snmp foi outra dor de cabeça, pois está tudo bem configurado e mesmo não funciona,
temos os commands, bem o serviço definido no host correctamente e não percebemos a razão
pela qual não funcionam, isto em relação ao switch.
Contudo, mesmo com estes problemas penso que conseguimos chegar ao objectivo, percebemos
como funciona esta aplicação, e sabemos que o que está em falta são configurações de certa
forma faceis, embora não tinhamos conseguido corrigir.
11
12. Nagios - ASIST
Conclusões
Após termos terminado o trabalhado e com todos os problemas que tivemos com o mesmo,
penso que aprendemos imenso com ele, tevemos de configurar o nosso server várias vezes,
somando 10 ao longo do semestre, o que nos permitiu aprender e manusear o Linux de forma
flúida, assim como o Nagios de forma geral.
Penso que os objectivos foram cumpridos, a realização deste trabalho foi gratificante para nós
pois no primeiro dia não sabiamos sequer o quer era o Nagios e no fim tinhamos total
conhecimento sobre o mesmo.
Devemos ainda um obrigado ao Professor Nuno Fonseca que incansavelmente nos foi tirando as
dúvidas que iamos tendo, assim como aos restantes professores que nos ajudaram.
12