Monitoração com Nagios

9,432 views
9,195 views

Published on

Palestra apresentada no estande da Globo.com no FISL 10 sobre monitoração utilizando Nagios.

Published in: Technology, Design
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,432
On SlideShare
0
From Embeds
0
Number of Embeds
111
Actions
Shares
0
Downloads
324
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Monitoração com Nagios

  1. 1. Monitoração com Nagios Cristiano Casado
  2. 2. Requisitos de sistema  Monitorar recursos do sistema: cpu, memória, I/O, partição de disco, rede  Em diversas plataformas: Linux, Solaris, Windows, HPUX, …  Monitorar objetos BD: threads, client connected, queries/seg, innoDB stats, …  Em diversas plataformas: MySQL, Oracle, MS SQL Server  Monitorar serviços: http, dns, smtp, ftp, …  Monitorar aplicações: threads, connection pool, heap size, garbage collector, ...  Monitorar equipamentos de rede: routers, firewalls, storages, caches, slb, ...  Escalável e redundante  Integração com ferramentas externas  Representação gráfica da rede  Planejamento de excessões
  3. 3. Requisitos de sistema  Resolução pró-ativa e execução de scripts remotos  Hierarquia de objetos  Interface web para administração  Notificações por email, instant message, sms, ...  Solução open-source e customizável para nossa necessidade
  4. 4. Solução Escolhida Nagios é um sistema open-source bastante popular para monitoração de rede, servidores e serviços. Originalmente criado com o nome NetSaint, foi escrito e é mantido por Ethan Galstad e por vários desenvolvedores. Foi lançado como beta release em Outubro de 2002. A versão stable é a 3.1.1 de 22 Junho de 2009. Site oficial http://www.nagios.org
  5. 5. Screenshots
  6. 6. Screenshots
  7. 7. Screenshots
  8. 8. Estrutura básica Host = hostname, description, address, parents, command, check attempts retry interval, check interval, contact, contactgroup, … Hostgroup = name, description, members, … Service = name, description, host, hostgroup, command, check attempts retry interval, check interval, contact, contactgroup, … Servicegroup = name, description, members, … Command = command, command line
  9. 9. Integração com ferramentas externas Passive Checks Nagios permite a forma passiva de monitoração onde a iniciativa de verificação do serviço e o envio dos resultados para o Nagios é realizada por uma aplicação externa.
  10. 10. Integração com ferramentas externas Passive Checks #!/bin/sh echocmd="/bin/echo" CFG="/etc/nagios/send_nsca.cfg" NSCA="/usr/sbin/send_nsca" NSCA_SERVER="10.20.2.15" cmdline="$1;$2;$3;$4" $echocmd $cmdline | $NSCA -H $NSCA_SERVER -d ";" -c $CFG 2. Execução do script: # ./submit_check_result_nsca host SSH 2 "SSH error" 1 data packet(s) sent to host successfully. 3. Evento recebido e processado pelo Nagios: # tail /var/log/nagios/nagios.log [1239656419] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;host;SSH;2;SSH error [1239656424] PASSIVE SERVICE CHECK: host;SSH;2;SSH error [1239656424] SERVICE ALERT: host;SSH;CRITICAL;SOFT;1;SSH error
  11. 11. Integração com ferramentas externas External Commands Nagios fornece 157 comandos para execução de funções internas. CHANGE_SVC_CHECK_COMMAND;<hostname>;<service_description>;<check_command> SCHEDULE_HOST_DOWNTIME;<host_name>;<start_time>;<end_time>;<fixed>;<duration>;<author>;<comment> SCHEDULE_SVC_DOWNTIME;<host_name>;<service_desription><start_time>;<end_time>;<fixed>;<duration>;<author>;<comment> ENABLE_HOSTGROUP_HOST_CHECKS;<hostgroup_name> #!/bin/sh now=`date +%s` commandfile='/usr/local/nagios/var/rw/nagios.cmd' /bin/printf "[%lu] ENABLE_HOSTGROUP_HOST_CHECKS;hostgroup1n" $now > $commandfile
  12. 12. Integração com ferramentas externas Nagios Event Broker (NEB)
  13. 13. Hierarquia de objetos Nagios é capaz de determinar quando um host monitorado está em status down ou unreachable utilizando “parent host”. define host { host_name Nagios } define host { host_name Switch1 parents Nagios } define host { host_name Web parents Switch1 }
  14. 14. Representação gráfica da rede NagVis é um addon que permite a visualização de dados do Nagios e de qualquer representação gráfica da estrutura IT e da rede. É um projeto open-source utilizado amplamente pela comunidade do Nagios e possui como features: Representação dos hosts e services; Exibição dos atributos de um host ou services assim como seu status atual; Possibilidade de exibição somente dos problemas atuais; Customização de diagramas; Interface web de configuração.
  15. 15. Representação gráfica da rede
  16. 16. Representação gráfica da rede
  17. 17. Administração # host.cfg define host { use generic-host host_name remotehost address 192.168.1.50 hostgroups allhosts } # command.cfg define command { name check_http command_name check_http command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ } # service.cfg define service { use generic-service host_name remotehost service_description HTTP check_command check_http }
  18. 18. Administração NagiosQL é uma ferramenta de administração web para o Nagios. A aplicação remove a complexidade do admin manter diversos arquivos .cfg na definição dos objetos de monitoração.  webserver + PHP + MySQL  criar, deletar, modificar e copiar os objetos de monitoração  importação no MySQL a partir do .cfg  auto backup dos arquivos de configuração  check de consistência  verificação de sintaxe  executa comandos no Nagios: reload, check_config  várias opções de linguagem  fácil instalação
  19. 19. Administração
  20. 20. Arquitetura
  21. 21. Dúvidas e Documentação Contato: Cristiano Casado ccasado@corp.globo.com Nagios: www.nagios.org Nagvis: www.nagvis.org NagiosQL: www.nagiosql.org Centreon: www.centreon.com Wiki: wiki.nagios.org

×