1 - USP

Transcription

1 - USP
Monitoramento de
Redes com Nagios
●
Daniel Barcelini / Técnico de Redes – CIRP ­ USP
●
Leandro Barbosa Cerantola / Analista de Sistemas – FMRP ­ USP
Gerenciamento de
Redes
●
Uma Definição...
–
Gerenciar um sistema consiste em supervisionar e controlar seu funcionamento para que ele satisfaça aos requisitos tanto do seus usuários quanto do seus proprietários. [Sloman, 1994]
Gerenciamento de
Redes
●
●
É uma função de gerenciamento destinada a observação e análise do estado e comportamento dos dispositivos gerenciados
Um usuário, ao utilizar um software gerente para verificar o estado operacional (up ou down) de uma ou mais interfaces de rede está efetuando uma função de monitoração.
Conceito Gerente/Agente
●
●
●
Gerente – Núcleo do Gerenciamento de Redes, no gerente é onde o processamento das solicitações de requisições são feitas.
Agente – Programa que coleta dados de um objeto e envia para o gerente processar.
Mibs – Base de informação Gerenciáveis
–
Recurso Gerenciáveis são definidos como objeto.
–
Conjunto de objetos gerenciáveis são definidos como Mibs.
Conceito Gerente/Agente
●
GERENTE / AGENTE
Introdu ção
●
●
●
●
●
Foi originalmente criado sob o nome de Netsaint, foi escrito e é mantido por Ethan Galstad junto com um grupo de desenvolvedores que ativamente mantém plugins oficiais e não­
oficiais.
Aplicação de monitoração de rede de código aberto e licenciado pelo sistema GPL.
Ele pode monitorar tanto hosts quanto serviços.
Alerta quando ocorrerem problemas e também quando resolvidos (via email, pager, SMS, ou qualquer outro meio definido pelo usuário por plugin).
primeiramente foi escrito para o sistema operacional Linux, mas pode rodar em outros S.O.
Evolu ção do Nagios
Caracter ísticas
●
●
●
●
●
Monitora serviços de rede (SMTP, POP3, HTTP, NNTP, ICMP, SNMP).
Monitora recursos de computadores ou equipamentos de rede
Monitoração remota suportada através de túneis encriptados SSH ou SSL.
Desenvolvimento simples de plugins que permite aos usuários facilmente criar seus próprios modos de monitoração dependendo de suas necessidades (Bash, C, Perl, Python, PHP, C#, etc.)
Checagem dos serviços paralelizadas, ou seja, se você tiver muitos itens monitorados não há risco de alguns deles não serem checados por falta de tempo
Caracter ísticas
●
●
Capacidade de definir tratadores de eventos que executam tarefas em situações pré­determinadas ou para a resolução pró­ativas de problemas.
●
Rotação automática de log.
●
Suporte para implementação de monitoração redundante.
●
●
Capacidade de definir a rede hierarquicamente definindo equipamentos "pai", permitindo distinção dos equipamentos que estão indisponíveis daqueles que estão inalcançáveis.
interface web para visualização do atual status da rede, notificações, histórico de problemas, arquivos de log, etc...
Versão atual, estável: 3.0.3.
Objetivo
●
Longe de nos ser uma referência a qual irá exaurir todas as funcionalidades do Nagios mas sim dar uma boa referência de:
–
Suas funcionalidades .
–
Sua implementação.
–
Seus arquivos de configuração
●
Máquinas
●
Serviços
●
Plugins
●
notificações
Nagios pelo desenvolvedor
●
Como o próprio desenvolvedor diz na parte “guia para inciantes”:
–
O Nagios e bastante poderoso e flexível, mas infelizmente não é muito amigável para iniciantes. Porque? Por que ele requer muito esforço para ser instalado e configurado adequadamente. Dito isso se você ficar com ele e tratar de colocá­lo rodando e funcional,você nunca mais vai querer ficar sem ele :­) .
Algor ítimo do Nagios
●
Algorítimo de verificação do nagios(considerando que não existe firewall/roteador e a opção parent_host não está definida).
–
Seo serviço não funcionar;.
●
–
Se o host estiver respondendo.
●
–
O problema é com serviço, notifica o responsável
Se o host não responder ao (ping).
●
Verifique o host a que o serviço está associado (ping)
O problema é com o Host, notifique o responsável
Algor ítimo do Nagios
●
Algorítimo de verificação do nagios(considerando que existe firewall/roteador e a opção parent_host está definida).
–
Se um cliente remoto estiver down
●
–
O Nagios descobrirá se o problema é com a rede ou com o serviço do host chegado.
●
●
Ande pela árvore de dependências até chegar ao topo ou até um dos nós pais responder ao ping.
Se for na rede ele notifica o responsável pelo ativo.
Se for o host ele irá notificar o responsável pelo host ou pelo serviço checado.
Nagios
●
●
Arquivo principal nagios.cfg
Responsável pelas diretivas lidas pelo seu processo e pelos seus arquivos CGIs.
●
log_file = /var/log/nagios2/nagios.log
●
cfg_dir = /etc/nagios/conf.d/
Configura ção Nagios
●
Arquivos de Configuração de Objetos
–
Serviços
–
Clientes/Grupos
–
Contatos/Grupos
–
Comandos
–
Período de tempo
–
Escalonamento de serviço
–
Dependências de Serviço
–
Escalonamento de clientes
–
Dependência de clientes
–
Escalonamento de grupos de clientes
Defini ção de Clientes
●
●
hosts.cfg ­ Arquivo de configuração das máquinas e equipamentos da rede.
Arquivo hosts.cfg
Defini ção de Grupo de
Clientes
●
Arquivo hostgroup.cfg ­ Arquivo contendo informações dos hosts por grupos.
Defini ção de Servi ços
●
Arquivo services.cfg Serviços que deverão ser monitorados.
Defini ção de Contatos
●
Arquivo contacts.cfg Contatos que deverão ser notificados caso ocorra algum problema.
●
Arquivos de contactsgroup.cfg
Defini ção de Per íodos de
tempo
●
Arquivo timeperiods.cfg ­ Informações sobre o período de monitoramento, podem ser definidos vários períodos de monitoramento diferentes.
Defini ção de comandos
●
Arquivo de configuração commands.cfg. Definição dos comandos que podem ser executados pelo Nagios.
Extens ão de host
●
hostextinfo.cfg ­ Onde serão definidos as imagens de hosts apresentadas no StatusMap.
Plugins
●
São executáveis (tanto compilado como scripts).
●
Executados em linha de comando para checar serviços ou hosts.
●
Retorna valores:
●
●
●
–
0 – Status OK
–
1 – Warning
–
2 – Critical
Se o Nagios não encontra o plugins ele gera um status de Unknown
Se você consegue checar o serviço na linha de comando, então você pode fazer um plugin
Existem mais de 6000 plugins de verificação.
●
Plugins
Para descobrir parâmetros dos plugins rode o plugin com o parâmetro ­help.
–
Ex:
O plugin NRPE
●
●
●
●
●
●
Este plugin foi desenvolvido para executar um plugin em um cliente remoto
Trabalha com arquitetura Gerente no Servidor e Agente nos hosts remoto
Ele retorna para o Nagios a saída do plugin remoto junto com o valor de retorno.
O agente pode rodar tanto via inetd/xinetd como Daemon no cliente.
Quando rodado via Daemon ele compara o IP do Gerente com o ip liberado no arquivo de configuração
Quando executado via inetd utiliza wrappersTCP para restringir acesso.
Arquivos de conf NRPE
●
●
●
check_nrpe Plugin usado pelo gerente para disparar as consultas aos agentes remotos.
nrpe – Agente que recebe os pedidos e executa na maquina remota as solicitações do check_nrpe
nrpe.conf Arquivo de configuração para o agente nrpe.
O plugin Nsclient
●
●
Mesma idéia do nrpe mas usado para Windows.
Utiliza o plugin check_nt para ter acesso a essas informações no host remoto.
–
Principais funções
●
Cpu load
●
Check disk
●
Check uptime
●
Check process
●
Check service
●
Check memuse
Nagios Demos
●
●
●
Netways
–
http://nagios.demo.netways.de/
–
Login/Senha: guest:guest
diglinks
–
http://sysnetmon.diglinks.com/
–
Login/Senha: guest:guest
Stic
–
http://live.stic­online.de/nagios/
–
Login/Senha stic:stic
Nagios ® e todas as marcas relacionadas são propriedades da Nagios Enterprises, LLC.
# Nagios #
●
SITES:
●
Nagios
–
●
http://www.nagios.org/
Nsclient
–
http://nsclient.ready2run.nl/
Daniel Barcelini ­ dbarcelini@cirp.usp.br
Leandro Barbosa Cerantola ­ leandro@fmrp.usp.br
“O difícil é aprender a ler, o resto está escrito” (desconhecido)