Nagios

12
Administração de Sistemas Relatório Projecto - Nagios

description

configu

Transcript of Nagios

Page 1: Nagios

Administração de Sistemas

Relatório Projecto - Nagios

Page 2: Nagios

Nagios - ASIST

2

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.

Page 3: Nagios

Nagios - ASIST

3

Í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

Page 4: Nagios

Nagios - ASIST

4

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.

Page 5: Nagios

Nagios - ASIST

5

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.

Page 6: Nagios

Nagios - ASIST

6

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.

Page 7: Nagios

Nagios - ASIST

7

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 organização dos objectos.

Imagem 1 - Organização de hosts e serviços no Nagios

Page 8: Nagios

Nagios - ASIST

8

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.

Page 9: Nagios

Nagios - ASIST

9

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.

Page 10: Nagios

Nagios - ASIST

10

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.

Page 11: Nagios

Nagios - ASIST

11

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.

Page 12: Nagios

Nagios - ASIST

12

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.