Your SlideShare is downloading. ×
0
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Monitoracao Inteligente na Globo.com

2,961

Published on

Monitoring and Event Correlation Talk from Globo.com at FISL10 (10th International Forum of Free Software) held in Brazil last week.

Monitoring and Event Correlation Talk from Globo.com at FISL10 (10th International Forum of Free Software) held in Brazil last week.

Published in: Technology, Business
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,961
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
71
Comments
1
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Monitoração Pontual – Informação desconexa. Sem correlação. Basrada em Threshold comum Precaução – Situações passiveis de previsão… aumento de conexões em um intervalo de tempo etc. tendencias Visão realista da produção – Visibilidade real (nao podemos enxergar a producao com caixinhas somente, onde olhamos para os itens de monitoracao isoladamente, precisamos enxergar a producao como um todo, onde devemos ver uma noção real do que está acontecendo naquele momento). O ecosistema da produção é vivo, mutável)
  • Aprendizado (Sistema inferir nas anomalias e avisar quando achar algo estranho) – É o mais dificil de se conseguir manter com credibilidade. Automação – Poder executar tarefas pontuais Credibilidade - excesso de informação, regime de plantão, pressão
  • Sitescope nivel de aplicacao Siteseer (externo)
  • Os appenders para frameworks de logs para integração com o sistema (via rest ou o que for) enviar eventos de logs para o sistema de correlação ao invés de gravar em um arquivo de log simplesmente. Experiencia para antecipar situacoes onde o dia a dia traz o conhecimento para criarmos regras e alimentarmos a base de conhecimento da ferramenta e assim conseguirmos antecipar situações que possam vir a acontecer (aumento de conexoes / aumento de memoria / consumo de CPU) Interface de monitoracao unica – de varios apps para nagios/correlacao Deteccao de causa raiz (base de conhecimento criada na ferramenta através do conhecimento do dia a dia)
  • Os appenders para frameworks de logs para integração com o sistema (via rest ou o que for) enviar eventos de logs para o sistema de correlação ao invés de gravar em um arquivo de log simplesmente.
  • Transcript

    • 1. Monitoração Inteligente Denis A. Vieira Jr. Ricardo Clemente
    • 2. Monitoração Inteligente
      • Agenda:
      • Motivação
      • Onde estamos
      • Para onde vamos
      • Plano de ação
      • Correlação de eventos
    • 3. Monitoração Inteligente
      • Agenda:
      • Motivação
      • Onde estamos
      • Para onde vamos
      • Plano de ação
      • Correlação de eventos
    • 4. Monitoração Inteligente
      • Motivação:
        • Monitoração pontual
        • Tempo de atuação/resolução de problemas
        • Precaução
        • Visão realista da produção
    • 5. Monitoração Inteligente
      • Motivação:
        • Aprendizado (desvio de padrão)
        • Automação
        • Dados históricos sem perda
        • Credibilidade (Situational Awareness)
    • 6. Monitoração Inteligente
      • Agenda:
      • Motivação
      • Onde estamos
      • Para onde vamos
      • Plano de ação
      • Correlação de eventos
    • 7. Monitoração Inteligente
      • Onde estamos:
        • Muita informação (1200 servidores com mais de 14000 monitorações) - mais de 40000 gerando gráficos
        • Diversas ferramentas de monitoração em uso (SME, IPMonitor, Cricket, SiteScope, SiteSeer) - Nagios
        • Dificuldades com customizações específicas, performance e custo
        • Falta de credibilidade (muitos emails) porém com boas iniciativas
    • 8. Monitoração Inteligente
      • Agenda:
      • Motivação
      • Onde estamos
      • Para onde vamos
      • Plano de ação
      • Correlação de eventos
    • 9. Monitoração Inteligente
      • Para onde vamos:
        • Utilização de eventos. Ex.: Appenders para frameworks de logs integrando as aplicações atuais
        • Experiência para antecipar
        • situações
        • Interface unificada de
        • monitoração
        • Detecção de causa raíz
        • através de causas conhecidas
    • 10. Monitoração Inteligente
      • Agenda:
      • Motivação
      • Onde estamos
      • Para onde vamos
      • Plano de ação
      • Correlação de eventos
    • 11. Monitoração Inteligente
      • Plano de ação:
        • Unificar a ferramenta de monitoração com Nagios (escalabilidade e integração)
        • Integração dos sistemas de monitoração usando NEB com o sistema de correlação de eventos
        • disponível em:
          • code.google.com/p/neb2activemq
        • Mapeamento de eventos e sistemas
        • para correlação (manual e analítico)
    • 12. Monitoração Inteligente
      • Agenda:
      • Motivação
      • Onde estamos
      • Para onde vamos
      • Plano de ação
      • Correlação de eventos
        • Visão Geral e Arquitetura do sistema
        • Barramento de Eventos
        • Tecnologia de correlação
        • Motor de Correlação
        • Visualização
        • Aprendizado de Máquina
        • Projeto
    • 13. Visão geral e arquitetura do sistema
      • Arquitetura modular e orientada a eventos
      BARRAMENTO DE EVENTOS MOTOR CORRELAÇÃO APRENDIZADO DE MÁQUINA COLETOR VISUALIZAÇÃO
    • 14.
      • Qual é a arquitetura do sistema?
      • Barramento único para troca de mensagens
      • Módulos são processos separados no sistema operacional e podem estar em máquinas diferentes
      • Módulos podem publicar e/ou consumir eventos de filas/tópicos do barramento
      • Porque utilizar uma arquitetura orientada a eventos (Event Driven Architecture) ?
      • Desacoplada e Distribuída
        • Menos intrusivo aos sistemas monitorados
        • Módulos são independentes
      Visão geral e arquitetura do sistema
    • 15. Barramento de eventos
      • Projeto de software livre
      • Escolha feita pelo Apache ActiveMQ:
      • Estabilidade
      • Performance
      • Comunidade Ativa
      • Conectividade
        • JMS
        • STOMP
        • REST
        • XMPP (...)
    • 16. Barramento de eventos
      • Formato da mensagem
      • JSON ( e não XML)
        • Simplicidade
      • Composição
        • Header : tipo de canal (fila ou tópico) e o tipo do evento
        • Body: dados
      $ curl -d "type=queue&body={'idle'=70, 'sys’=20, 'usr'=10, 'host'='ws122' }&eventtype=CPU" http://barramento/message/events;
    • 17. Tecnologia de correlação
      • CEP (Complex Event Processing )
      • Tecnologia que permite processar em tempo real múltiplos eventos com o objetivo de identificar eventos significativos
      • Baseado em regras ou consultas (“SQL like”)
      • Consultas criadas em tempo de execução
      • Origem
      • Em 1995 o professor David Luckham de Stanford, trabalhando no projeto Rapide criou o termo CEP
      • Linha de pesquisa de banco de dados: Data Stream Management Systems (DSMS)
    • 18. Tecnologia de correlação Processamento de consultas Memória Dados Dados Dados Relações persistentes consulta resposta Processamento de consultas Memória dados dados consulta contínua resposta fluxos de dados “ banco de dados ao contrário”
    • 19. Tecnologia de correlação
      • Mercado
      • Tendência (Buzz)
      • Mercado de CEP é estimado em 460 milhões de dólares em 2010 (fonte: IEEE Computer Society – Abril 2009)
      • Aplicável onde exista um grande fluxo de dados e a necessidade de se extrair informação em tempo real destes dados
      • Mercado financeiro
      • Processos de logística (RFID)
      • Controle aéreo
      • UTIs
      • Datacenters
    • 20. Tecnologia de correlação Big Players
    • 21. Tecnologia de correlação
      • Players de software livre
      • Projetos acadêmicos:
      • STREAM – Stanford – 2003 (oficialmente descontinuado)
      • TelegraphCQ – Berkeley - 2003
        • Baseado no PostgreSQL 7.3.2
        • Sem atividade
      • Cayuga – Cornell
      • Projeto de uma empresa:
      • Esper, projeto no codehaus
      • Completo funcionalmente
      • Excelente documentação
      • Performance!
    • 22. Motor de correlação Se a sessão aumentar 10% no front-end dentro de 3 minutos e a média das cpus da farm do front não subir 5% e no banco o número de queries lentas for maior que 10, então está caracterizada uma contenção no banco de dados gerando enfileiramento de usuários Aplicação
    • 23. Motor de correlação Aplicação Mysql Server Vip t – 3 min t t – 3 min t t cpu_usr slow_query session
    • 24. Motor de correlação SELECT Server.host , Server.cpu_usr, Server_PAST.cpu_usr, Vip.session, Vip_PAST.session, Mysql.slow_query FROM Server.win:time(1 min) as Server , Server.win:ext_timed(current_timestamp(), 3 min) as Server_PAST , Vip.win:time(1 min) as Vip , Vip.win:ext_timed(current_timestamp(), 3 min) as Vip_PAST , Mysql.win:time (1min) as Mysql HAVING Vip.session > Vip_PAST.session * 1.10 AND avg(Server.cpu_usr) < avg (Server_PAST.cpu_usr) * 1.05 AND Mysql.slow_query > 10 Aplicação
    • 25. Motor de correlação
      • Identificando um outlier
        • select host, free, avg(free)
        • from Memory.win:time(240 sec) group by host
        • having free < avg(free)
      • Sequência de eventos
        • select * from
        • pattern [every Memory(free < 10) ->
        • (timer:interval(60 sec) and Log(text like ‘%OutOfMemory%’)) ]
      • Horários e extensões
        • select idle from pattern [every timer:at(*, [16:22], *, [0,3], *) ].win:time(30 sec), CPU.win:time(30) where  idle < 30 AND Filter.isInNode (id, &quot;Tempo Real&quot;)
    • 26. Motor de correlação Fonte: Esper Performance - http://docs.codehaus.org/display/ESPER/Esper+performance Performance Esper Item Especificação HW Servidor Esper 2 x Intel Xeon 5130 2GHz (4 cores total), 16GB RAM VM config -Xms2g -Xmx2g -Xns128m -Xgc:gencon Consulta # cons. evt/s Latência Latência média Nota select '$' as ticker from Market(ticker='$').win:length(1000).stat:weighted_avg('price', 'volume') output last every 30 seconds 1000 519 728 99.66% < 10us 2.8us CPU com 85%, 70 Mbit/s
    • 27. Motor de correlação Processamento no Motor de Correlação
    • 28. Visualização – Console Consultando o ambiente em tempo real
    • 29. Visualização – Troubleshooting Antecipando e resolvendo mais rápido incidentes
    • 30. Visualização - Dashboard Visão consolidada de serviços
    • 31. E para as regras que não são conhecidas?
    • 32. Aprendizado de máquina
      • Opção por algoritmos não-supervisionados e incrementais
      • Algoritmo PCA Incremental
      • Transforma um número de variáveis possivelmente correlatas em um número menor de variáveis não-correlatas, os componentes principais
      • Uma mudança nos componentes principais significa uma quebra da correlação existente, ou anomalia
      • Pode ser usado para compressão de dados
      • Inspiração em artigo da Carnegie Mellon University (Hoke et al. 2006)
      • Fonte: http://www.pdl.cmu.edu/PDL-FTP/SelfStar/osr_sub.pdf
      • Implementação teve dois desafios principais: medidas sem valor e diferentes escalas
    • 33. Aprendizado de máquina 60 sinais de entrada
    • 34. Aprendizado de máquina Resumido em 1 componente principal + matriz de geração
    • 35. Aprendizado de máquina componente principal 2 sensibilidade três anomalias
    • 36. Projeto
      • Andamento
      • Funcionalidades desenvolvidas
      • Algoritmos sendo validado por testes em RRDs e reuniões com operação
      • Testes de carga e robustez em andamento
      • Sistema em produção com escopo reduzido com expectativa de produção integral em julho
    • 37. Projeto na Globo.com – Próximos desafios
      • Escalar o sistema
        • “ Sharding” de eventos
        • Balanceamento de regras
        • Cache
      • Aperfeiçoar algoritmos
        • Controle adaptativo de parâmetros de memória e sensibilidade
        • Inserir camada supervisionada
        • Outros algoritmos e como eles podem cooperar
    • 38. Monitoração Inteligente Considerações finais
    • 39. Referências http://delicious.com/fisl10
    • 40. Dúvidas
      • Contatos
        • Denis A. Vieira Jr
        • [email_address] (www.globo.com)
        • Ricardo Clemente
        • [email_address] (www.intelie.com.br)
      • Estande da Globo.com
        • Hoje a tarde toda
      • Levante a mão!

    ×