Você está na página 1de 41

Monitorando Redes com o Nagios

Autor: Leonardo Henrique Machado

Apresentao
Recm formado em Cincia da Computao Estgio na administrao da Rede do DCC/UFMG (implantao do Nagios) Monitoramento de 36 telecentros em 36 cidades no norte de Minas Gerais Professor na semana de capacitao de funcionrio pblico realizada em abril/2004 em Braslia

13/9/2004

Leonardo Henrique Machado

Contedo
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Viso geral Instalao Configurao bsica Plugins Estados de clientes e servios Agendamento de checagens Notificaes Perodos Tratamento de eventos Comandos externos Nrpe/nsca Dependncias Paradas agendadas Demonstrao Perguntas
Leonardo Henrique Machado 3

40 minutos

5 minutos 5 minutos
13/9/2004

Viso Geral
Monitoramento de servios (SMTP, POP3, HTTP, NNTP, PING, etc) Monitoramento de recursos (carga, disco, etc) Flexvel: uso de plugins Checagem paralela de servios Notificao de contatos (pager, email, icq, etc) Tratamento de eventos Interface Web
13/9/2004 Leonardo Henrique Machado 4

Instalao
Download, ./configure, make install Disponvel em .rpm e .deb Download e instalao de plugins Configurar servidor web (ex.: apache) Configurar o programa

13/9/2004

Leonardo Henrique Machado

Estrutura de Diretrios
1. 2. 3. 4. 5. bin/ etc/ sbin/ share/ var/ ncleo do programa Nagios configuraes CGIs Arquivos HTML e documentao logs e comandos externos

13/9/2004

Leonardo Henrique Machado

Configurao
Apache

Configurao
Arquivo principal nagios.cfg

Configurao
Arquivo de CGIs cgi.cfg

Configurao
Definio de mquinas e grupos de mquinas maquinas.cfg

Configurao
Definio dos servios servicos.cfg

Configurao
Criao de contatos e grupos de contatos contatos.cfg

Iniciando o Nagios
Teste: Usando a opo v Inicie o programa: /etc/init.d/nagios start

13/9/2004

Leonardo Henrique Machado

13

Teoria do Funcionamento
Servio no-OK Cliente no-OK servios nele verifique o cliente no verifique mais

13/9/2004

Leonardo Henrique Machado

14

Achando a causa do problema


Gravidade maior

13/9/2004

Leonardo Henrique Machado

15

A Teoria dos Plugins


Vrios plugins disponveis Facilidade em criar novos plugins
Regra: possvel verificar o servio atravs de linha de comando? Ento possvel fazer um plugin!
Ex.: checar uso de OpenOffice

13/9/2004

Leonardo Henrique Machado

16

A Teoria dos Plugins


Ex.: check_disk

Ex.: check_dns

13/9/2004

Leonardo Henrique Machado

17

Tipos de estado Soft/Hard


max_check_attemps no excedido
No h notificaes Tratamento de eventos acionados Logs opcionais

soft

max_check_attemps excedido
Envio de notificaes

hard

13/9/2004

Leonardo Henrique Machado

18

Estado das mquinas

OK

DOWN

UNREACHABLE

13/9/2004

Leonardo Henrique Machado

19

Estado dos servios


OK UNKNOWN WARING CRITICAL

13/9/2004

Leonardo Henrique Machado

20

Agendamentos de checagens
nagios.cfg
Inter_check_delay_method Service_interleave_factor Max_concurrent_checks Service_reaper_frequency

13/9/2004

Leonardo Henrique Machado

21

Agendamentos de checagens
Na definio de servio
Normal_check_interval Retry_check_interval Check_period

13/9/2004

Leonardo Henrique Machado

22

Prximos tpicos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Viso geral Instalao Configurao bsica Plugins Estados de clientes e servios Agendamento de checagens Notificaes Perodos Tratamento de eventos Comandos externos Nrpe/nsca Dependncias Paradas agendadas Demonstrao Perguntas

13/9/2004

Leonardo Henrique Machado

23

Notificaes
Quando notificar?
Entradas em estado crtico Tempo de re-notificao alcanado

13/9/2004

Leonardo Henrique Machado

24

Quem notificado?
Contact_groups em definio de servios Ser contato de um servio garante a visualizao do cliente/servio na interface web (autenticao via CGI)

13/9/2004

Leonardo Henrique Machado

25

Filtros de Notificao
Enable_notifications Downtime? Flapping? Servio
Notification_period Notification_interval

nagios.cfg no notifique no notifique

Contatos
host_notification_options [d,u,r,n] service_notification_options [w,u,c,r,n]
13/9/2004 Leonardo Henrique Machado 26

Comandos de Notificao
Voc cria seu prprio mtodo de notificao

13/9/2004

Mail Sms Pager Icq Popup Sons


Leonardo Henrique Machado 27

Escalonando notificaes
define serviceescalation{ host_name bankonline service_description bb first_notification 3 last_notification 5 notification_interval 90 contact_groups estagiarios } define serviceescalation{ host_name bankonline service_description bb first_notification 6 last_notification 0 notification_interval 60 contact_groups estagiarios,chefes }
13/9/2004 Leonardo Henrique Machado 28

Definio de perodos
Variveis que necessitam de perodos de tempo:
check_period notification_period service_notification_period notification_period host_notification_period

13/9/2004

Leonardo Henrique Machado

29

Definio de perodos
define timeperiod{ timeperiod_name alias monday tuesday wednesday thursday friday }
13/9/2004

secretaria Horrio da Secretaria 08:00-12:00,13:00-17:00 08:00-12:00,13:00-17:00 08:00-12:00,13:00-17:00 08:00-12:00,13:00-17:00 08:00-12:00,13:00-17:00

Leonardo Henrique Machado

30

Tratamento de Eventos
Execuo de scripts quando se entra em:
soft, hard ou recovery

Exemplo de uso: se o http parar de responder o nagios reinicia o servidor e envia uma notificao.

13/9/2004

Leonardo Henrique Machado

31

Comandos Externos
Escritos no arquivo var/rw/nagios.cmd Controlado pelas variveis:
check_external_commands command_check_interval

Usado em checagens passivas: plugin envia resultado sem que o Nagios tenha pedido. Todos os comandos de interface web so enviados ao nagios.cmd
13/9/2004 Leonardo Henrique Machado 32

NRPE
13/9/2004

Leonardo Henrique Machado

33

NSCA
13/9/2004

Leonardo Henrique Machado

34

O resultado recente?
freshness_threshold servios passivos.
define service{ host_name active_checks_enabled passive_checks_enabled check_freshness freshness_threshold check_command outras opes... }
13/9/2004

fora checagens ativas de

backup-server 0 1 1 93600 no-backup-report

Leonardo Henrique Machado

35

Monitoramento de clusters
check_cluster Comando:
host1 host2 host3 host4 host5 host6
13/9/2004 Leonardo Henrique Machado 36

check_host_cluster!2!4!/etc/nagios/cluster.cfg Cluster.cfg

Dependncias: servios e clientes


dependecias.cfg

Agendamento de paradas
Web: fixa e flexvel

Demostrao do Nagios
Monitorando 36 telecentros

Concluso
Vantagens

13/9/2004

Escalvel Eficiente Gratuito Esquema de notificao flexvel Permite criar suas prprias checagens Interface Web (independe do SO)
Leonardo Henrique Machado 40

Muito Obrigado!
Perguntas?
Leonardo Henrique Machado - leo@ufmg.br

Você também pode gostar