monitoracao inteligente na globo.com

40
Monitoração Inteligente Denis A. Vieira Jr. Ricardo Clemente

Upload: denis-vieira

Post on 12-Jan-2015

5.234 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Denis A. Vieira Jr.

Ricardo Clemente

Page 2: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Agenda:

Motivação Onde estamos Para onde vamos Plano de ação Correlação de eventos

Page 3: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Agenda:

Motivação Onde estamos Para onde vamos Plano de ação Correlação de eventos

Page 4: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Motivação:

Monitoração pontual

Tempo de atuação/resolução de problemas

Precaução

Visão realista da produção

Page 5: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Motivação:

Aprendizado (desvio de padrão)

Automação

Dados históricos sem perda

Credibilidade (Situational Awareness)

Page 6: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Agenda:

Motivação Onde estamos Para onde vamos Plano de ação Correlação de eventos

Page 7: Monitoracao Inteligente na Globo.com

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

Page 8: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Agenda:

Motivação Onde estamos Para onde vamos Plano de ação Correlação de eventos

Page 9: Monitoracao Inteligente na Globo.com

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

Page 10: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Agenda:

Motivação Onde estamos Para onde vamos Plano de ação Correlação de eventos

Page 11: Monitoracao Inteligente na Globo.com

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)

Page 12: Monitoracao Inteligente na Globo.com

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

Page 13: Monitoracao Inteligente na Globo.com

Visão geral e arquitetura do sistema

Arquitetura modular e orientada a eventos

BARRAMENTO DE EVENTOS

MOTORCORRELAÇÃO

APRENDIZADO DE MÁQUINA

COLETOR

VISUALIZAÇÃO

Page 14: Monitoracao Inteligente na Globo.com

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

Page 15: Monitoracao Inteligente na Globo.com

Barramento de eventos

Projeto de software livre

Escolha feita pelo Apache ActiveMQ: Estabilidade Performance Comunidade Ativa Conectividade

JMS STOMP REST XMPP (...)

Page 16: Monitoracao Inteligente na Globo.com

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;

Page 17: Monitoracao Inteligente na Globo.com

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)

Page 18: Monitoracao Inteligente na Globo.com

Tecnologia de correlação

Processamento de consultas

Memória

DadosDadosDados

Relações persistentes

consulta resposta

Processamento de consultas

Memória

dados dados

consultacontínua resposta

fluxos de dados

“banco de dados ao contrário”

Page 19: Monitoracao Inteligente na Globo.com

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

Page 20: Monitoracao Inteligente na Globo.com

Tecnologia de correlação

Big Players

Page 21: Monitoracao Inteligente na Globo.com

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!

Page 22: Monitoracao Inteligente na Globo.com

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

Page 23: Monitoracao Inteligente na Globo.com

Motor de correlação

Aplicação

Mysql

Server

Vip

t – 3 min t

t – 3 min t

t

cpu_usr

slow_query

session

Page 24: Monitoracao Inteligente na Globo.com

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

Page 25: Monitoracao Inteligente na Globo.com

Motor de correlação

Identificando um outlierselect host, free, avg(free)

from Memory.win:time(240 sec) group by host

having free < avg(free)

Sequência de eventosselect * from

pattern [every Memory(free < 10) ->

(timer:interval(60 sec) and Log(text like ‘%OutOfMemory%’)) ]

Horários e extensõesselect 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, "Tempo

Real")

Page 26: Monitoracao Inteligente na Globo.com

Motor de correlação

Fonte: Esper Performance - http://docs.codehaus.org/display/ESPER/Esper+performance

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

Performance Esper

Page 27: Monitoracao Inteligente na Globo.com

Motor de correlação

Processamento no Motor de Correlação

Page 28: Monitoracao Inteligente na Globo.com

Visualização – Console

Consultando o ambiente em tempo real

Page 29: Monitoracao Inteligente na Globo.com

Visualização – Troubleshooting

Antecipando e resolvendo mais rápido incidentes

Page 30: Monitoracao Inteligente na Globo.com

Visualização - Dashboard

Visão consolidada de serviços

Page 31: Monitoracao Inteligente na Globo.com

E para as regras que não são conhecidas?

Page 32: Monitoracao Inteligente na Globo.com

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

Page 33: Monitoracao Inteligente na Globo.com

Aprendizado de máquina

60 sinais de entrada

Page 34: Monitoracao Inteligente na Globo.com

Aprendizado de máquina

Resumido em 1 componente principal + matriz de geração

Page 35: Monitoracao Inteligente na Globo.com

Aprendizado de máquina

componente principal 2

sensibilidade

três anomalias

Page 36: Monitoracao Inteligente na Globo.com

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

Page 37: Monitoracao Inteligente na Globo.com

Projeto na Globo.com – Próximos desafios

Escalar o sistema“Sharding” de eventosBalanceamento de regrasCache

Aperfeiçoar algoritmosControle adaptativo de parâmetros de memória e

sensibilidadeInserir camada supervisionadaOutros algoritmos e como eles podem cooperar

Page 38: Monitoracao Inteligente na Globo.com

Monitoração Inteligente

Considerações finais

Page 39: Monitoracao Inteligente na Globo.com

Referências

http://delicious.com/fisl10

Page 40: Monitoracao Inteligente na Globo.com

Dúvidas

ContatosDenis A. Vieira [email protected] (www.globo.com)Ricardo [email protected]

(www.intelie.com.br)

Estande da Globo.comHoje a tarde toda

Levante a mão!