Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visualização de dados usando Nagios e ANA

2,109 views

Published on

Nagios World Conference Latin America - Visualização de dados usando Nagios e ANA

  • Be the first to comment

  • Be the first to like this

Visualização de dados usando Nagios e ANA

  1. 1. Visualização de dados usandoNagios e ANA (Advanced Nagios Adapter)
  2. 2. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)O que é visualização de dados ?Visualização de dados é o estudo da representaçãovisual dos dados.Seu principal objetivo é comunicar a informação demaneira clara e efetiva utilizando meios gráficos.
  3. 3. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Tipos de gráficos
  4. 4. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Tabela - Normalmente composta por um número finito decolunas e de um número infinito de linhas. O dado é bruto erequer maior esforço para a sua interpretação.Name Surname MoviesJames Bond 24Jason Bourne 3Jack Bauer 195Justin Bieber 2
  5. 5. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Gráfico de linhas e área - Usado com muitos ou poucospontos e séries de tempo. É o mais versátil e comum gráficoutilizado.
  6. 6. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Gráficos de barras e colunas - São usados quando o sériede tempo é melhor definida e os pontos mais espaçados aolongo do tempo.
  7. 7. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Grafos – São usados para demonstrar uma relaçãodireta entre os dados.
  8. 8. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Gráfico de pizza - Usado para representar frações de ummontante. Comum na apresentação de tendências ecomparativos.
  9. 9. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Organização de dadosOs Dashboards e Scorecards representam os sistemasde informação executiva.São usados para acompanhamento de performanceutilizando métricas financeiras e não financeiras (KPI).
  10. 10. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Scorecards são mais vinculados à estratégia de negócio eao acompanhamento de progresso dos objetivosestratégicos e táticos.
  11. 11. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Dashboards são mais vinculados à monitorização deperformance dos processos operacionais.
  12. 12. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Infográficos - São representações visuais deinformações, dados ou conhecimento, frequentementeusadas para suportar uma informação e apresentá-la emum determinado contexto.
  13. 13. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter) Os dadosEspresso = Café preto servido em uma xícara 2/3 cheia.Espresso Macchiato = Café preto servidor com um pouco deleite quente ou frio.Caffé Latte = Iguais proporções de café preto e leite com 2cmde leite vaporizado na superfície.Cappuccino = uma bebida com 1/3 espresso, 1/3 leitevaporizado e 1/3 de espuma de leite vaporizado.Caffé Mocca = um latte com chocolate.
  14. 14. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)O gráfico
  15. 15. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)O infográfico
  16. 16. Bibliotecas GráficasGoogle Datavisualization APIhttp://code.google.com/apis/charttools/index.htmlInfovis Toolkithttp://thejit.orgProtovishttp://vis.stanford.edu/protovis/Amchartshttp://www.amcharts.com/
  17. 17. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter) ANA – Advanced Nagios Adapter
  18. 18. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)HistóricoEm 2009 a OpServices havia lançado o OpMon 4.0com uma série melhorias.Porém essas melhorias dependiam exclusivamenteda arquitetura do OpMon (opcfg/opdb).
  19. 19. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Problema Como tornar compatível com Nagios as aplicações desenvolvidas para o OpMon ?
  20. 20. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter) SoluçãoNo final de 2010 foi criado o ANA - Advanced Nagios Adaptercom sendo um adaptador único entre Nagios e módulos OpMon.
  21. 21. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)ArquiteturaMóduloMóduloMódulo
  22. 22. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)- Codificado em na linguagem PHP - Linguagem amplamente usada para aplicações web - Inúmeros módulos disponíveis - Simples, robusta e rápida- Utiliza interface baseada na arquitetura REST de webservices - Protocolos menos complexos - Mais poder e flexibilidade nas comunicações - Arquitetura amplamente disponível nas empresas - Menos overhead de protocolo
  23. 23. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)- Dados em formato JSON/JSONP- Notação simples de dados- Suporte nativo em várias linguagens- Mínimo overhead em relação ao XML- Chamadas AJAX entre domínios distintos
  24. 24. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Exemplo de requisição webservices e retorno em JSONhttp://localhost/ana/?action=gethosts{"localhost":"localhost"}Retorno em JSONPhttp://localhost/ana/?action=gethosts&callback=RunRun({"localhost":"localhost"})
  25. 25. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)/ana/?action=getServices&host_id=localhost{"Total Processes":"localhost!Total Processes","Swap Usage":"localhost!Swap Usage","SSH":"localhost!SSH","Root Partition":"localhost!Root Partition","PING":"localhost!PING","HTTP":"localhost!HTTP","Current Users":"localhost!Current Users","Current Load":"localhost!Current Load"}
  26. 26. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)/ana/?action=getStatus&jsonData={"objectType":"1","metricId":["all"],"objectId":["localhost!Current Load"]} [{"accept_passive_checks":1,"acknowledged":0,"acknowledgement_type":0,"action_url":"","action_url_expanded":"","active_checks_enabled":1,"check_comm and":"check_load!5.0!4.0!3.0!10.0!6.0!4.0","check_interval":1,"check_options":0,"check_period":"24x7","check_type":0,"checks_enabled":1,"comments":[],"c omments_with_info":[],"contacts":["root"],"current_attempt":1,"current_notification_number":0,"custom_variable_names":[],"custom_variable_values":[],"des cription":"Current Load","display_name":"Current Load","downtimes":[],"downtimes_with_info":[],"event_handler":"","event_handler_enabled":1,"execution_time":0.010943,"first_notification_delay":0,"flap_de tection_enabled":1,"groups":[],"has_been_checked":1,"high_flap_threshold":0,"host_accept_passive_checks":1,"host_acknowledged":0,"host_acknowledgeme nt_type":0,"host_action_url":"","host_action_url_expanded":"","host_active_checks_enabled":1,"host_address":"127.0.0.1","host_alias":"localhost","host_chec k_command":"check-host- alive","host_check_flapping_recovery_notification":0,"host_check_freshness":0,"host_check_interval":5,"host_check_options":0,"host_check_period":"","host_c heck_type":0,"host_checks_enabled":1,"host_childs":[],"host_comments":[],"host_comments_with_info":[],"host_contacts":["root"],"host_current_attempt":1, "host_current_notification_number":0,"host_custom_variable_names":[],"host_custom_variable_values":[],"host_display_name":"localhost","host_downtimes": [],"host_downtimes_with_info":[],"host_event_handler_enabled":1,"host_execution_time":0.022574,"host_first_notification_delay":0,"host_flap_detection_ena bled":1,"host_groups":["ssh-servers","http-servers","debian- servers","all"],"host_hard_state":0,"host_has_been_checked":1,"host_high_flap_threshold":0,"host_icon_image":"base/debian.png","host_icon_image_alt":"D ebian GNU/Linux","host_icon_image_expanded":"base/debian.png","host_in_check_period":1,"host_in_notification_period":1,"host_initial_state":0,"host_is_executi ng":0,"host_is_flapping":0,"host_last_check":1302700624,"host_last_hard_state":0,"host_last_hard_state_change":1302640504,"host_last_notification":0,"ho st_last_state":0,"host_last_state_change":1302640504,"host_last_time_down":0,"host_last_time_unreachable":0,"host_last_time_up":1302700634,"host_late ncy":0.19,"host_long_plugin_output":"","host_low_flap_threshold":0,"host_max_check_attempts":10,"host_modified_attributes":0,"host_modified_attributes_li st":[],"host_name":"localhost","host_next_check":1302700934,"host_next_notification":0,"host_no_more_notifications":1,"host_notes":"Debian GNU/Linux servers","host_notes_expanded":"Debian GNU/Linux servers","host_notes_url":"","host_notes_url_expanded":"","host_notification_interval":0,"host_notification_period":"24x7","host_notifications_enabled":1,"hos t_num_services":8,"host_num_services_crit":0,"host_num_services_hard_crit":0,"host_num_services_hard_ok":8,"host_num_services_hard_unknown":0,"host _num_services_hard_warn":0,"host_num_services_ok":8,"host_num_services_pending":0,"host_num_services_unknown":0,"host_num_services_warn":0,"hos t_obsess_over_host":1,"host_parents":[],"host_pending_flex_downtime":0,"host_percent_state_change":0,"host_perf_data":"rta=0.070000ms;5000.000000; 5000.000000;0.000000 pl=0%;100;100;0","host_plugin_output":"PING OK - Packet loss = 0%, RTA = 0.07 ms","host_pnpgraph_present":- 1,"host_process_performance_data":1,"host_retry_interval":1,"host_scheduled_downtime_depth":0,"host_services":["Total Processes","Swap Usage","SSH","Root Partition","PING","HTTP","Current Users","Current Load"],"host_services_with_state":[["Total Processes",0,1],["Swap Usage",0,1],["SSH",0,1],["Root Partition",0,1],["PING",0,1],["HTTP",0,1],["Current Users",0,1],["Current Load",0,1]],"host_state":0,"host_state_type":1,"host_statusmap_image":"base/debian.gd2","host_total_services":8,"host_worst_service_hard_state":0,"host_ worst_service_state":0,"host_x_3d":0,"host_y_3d":0,"host_z_3d":0,"icon_image":"","icon_image_alt":"","icon_image_expanded":"","in_check_period":1,"in_n otification_period":1,"initial_state":0,"is_executing":0,"is_flapping":0,"last_check":1302700721,"last_hard_state":0,"last_hard_state_change":1302640504,"la st_notification":0,"last_state":0,"last_state_change":1302640504,"last_time_critical":0,"last_time_ok":1302700721,"last_time_unknown":0,"last_time_warnin g":0,"latency":0.097,"long_plugin_output":"","low_flap_threshold":0,"max_check_attempts":4,"modified_attributes":0,"modified_attributes_list":[],"next_chec k":1302700781,"next_notification":0,"no_more_notifications":0,"notes":"","notes_expanded":"","notes_url":"","notes_url_expanded":"","notification_interval": 0,"notification_period":"24x7","notifications_enabled":1,"obsess_over_service":1,"percent_state_change":0,"perf_data":"load1=0.260;5.000;10.000;0; load5=0.400;4.000;6.000;0; load15=0.340;3.000;4.000;0;","plugin_output":"OK - load average: 0.26, 0.40, 0.34","pnpgraph_present":- 1,"process_performance_data":1,"retry_interval":1,"scheduled_downtime_depth":0,"state":0,"state_type":1,"host_id":"localhost","service_id":"Current Load","service_description":"Current Load","current_state":0,"problem_has_been_acknowledged":0,"metrics":{"data":{"load1":{"metric":"load1","value":"0.260","unit":"","warning":"5.000","critic al":"10.000","min":"0","max":""},"load5":{"metric":"load5","value":"0.400","unit":"","warning":"4.000","critical":"6.000","min":"0","max":""},"load15":{"metr ic":"load15","value":"0.340","unit":"","warning":"3.000","critical":"4.000","min":"0","max":""}}},"metrics_num":3,"metrics_id":"all","info_link":"/usr/lib/cgi- bin/nagios3extinfo.cgi?type=2&host=localhost&service=Current Load","info_url":false,"oid":null}]
  27. 27. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Dados de performance - Load ["metrics"]=> object(stdClass)#2 (1) { ["data"]=> object(stdClass)#3 (3) { ["load1"]=> object(stdClass)#4 (7) { ["metric"]=> string(5) "load1" ["value"]=> string(5) "0.260" ["unit"]=> string(0) "" ["warning"]=> string(5) "5.000" ["critical"]=> string(6) "10.000" ["min"]=> string(1) "0" ["max"]=> string(0) "" }
  28. 28. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)- Possui uma interface própria para gerenciamento demódulos.
  29. 29. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)- Provê suporte centralizado mas não dependede banco de dados.- Autenticação Básica.- Informações de disponibilidade e de performance.
  30. 30. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)- O primeiro módulo a utilizar a arquitetura é o DaVINCI.
  31. 31. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Benefícios - Acesso aos dados do Nagios por intermédio de webservices e em tempo real. - Simplificação e padronização da interface de acesso. - Pode ser utilizado com vários brokers (NDO, Mklivestatus, NDO Nagios XI, GWO Foundation) - Utilização de padrões web (REST, JSON/JSONP)
  32. 32. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)- Possibilita a integração com aplicações e APIsexternas, como por exemplo a geração de relatóriosusando Eclipse BIRT e Jasper Reports.
  33. 33. - Possibilidade de integração com APIs de desenvolvimentopara mobile.
  34. 34. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Futuro - Melhorias na interface webservices. - Suporte aos métodos DELETE, PUT, UPDATE. - Documentação de usuário e da API. - Suporte a outros brokers. - Suporte a OAuth.
  35. 35. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)- Publicação do software como código abertohttp://www.opmon.org
  36. 36. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Exemplos http://code.google.com/apis/charttools/index.html
  37. 37. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Visualização Tabular
  38. 38. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Visualização Gráfica
  39. 39. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Infográfico
  40. 40. Visualização de dados usando Nagios e ANA (Advanced Nagios Adapter)Infográfico
  41. 41. Obrigado.
  42. 42. fernando.lunardelli@opservices.com.br

×