Escolar Documentos
Profissional Documentos
Cultura Documentos
Nagios
Nagios
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
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
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
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
13
Teoria do Funcionamento
Servio no-OK Cliente no-OK servios nele verifique o cliente no verifique mais
13/9/2004
14
13/9/2004
15
13/9/2004
16
Ex.: check_dns
13/9/2004
17
soft
max_check_attemps excedido
Envio de notificaes
hard
13/9/2004
18
OK
DOWN
UNREACHABLE
13/9/2004
19
13/9/2004
20
Agendamentos de checagens
nagios.cfg
Inter_check_delay_method Service_interleave_factor Max_concurrent_checks Service_reaper_frequency
13/9/2004
21
Agendamentos de checagens
Na definio de servio
Normal_check_interval Retry_check_interval Check_period
13/9/2004
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
23
Notificaes
Quando notificar?
Entradas em estado crtico Tempo de re-notificao alcanado
13/9/2004
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
25
Filtros de Notificao
Enable_notifications Downtime? Flapping? Servio
Notification_period Notification_interval
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
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
29
Definio de perodos
define timeperiod{ timeperiod_name alias monday tuesday wednesday thursday friday }
13/9/2004
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
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
33
NSCA
13/9/2004
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
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
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