11 gigas por dia e um milhão de possibilidades (meetup bh)

40
Marcus Lacerda Meetup BH - 25 / Junho 11 Gigas por dia e um milhão de possibilidades ciandt.com

Transcript of 11 gigas por dia e um milhão de possibilidades (meetup bh)

Marcus LacerdaMeetup BH - 25 / Junho

11 Gigas por dia e um milhão de possibilidades

ciandt.com

Marcus Lacerda

❖ Formado UFU em 2002

❖ Na Ci&T ~12 anos

❖ Bike & Kart for fun

marcus-lacerdaa

marcuslacerda

Nosso contexto

ciandt.com

11GbPrecisávamos estar preparados para:

1M

Log de execução

2Deploy /

dia

Plataforma24x73k

600k

Usuários

Request / Day

Operação

Qual era nosso desafio?

Linhas de código

Qual era nosso desafio?

Habilidade de responder questoes complexas em tempo real?

Questões como:

ciandt.com

1. Quais são as funcionalidades mais acessadas?

2. Qual foi a quantidade de erros não tratados nos últimos dias (instabilidade)? Onde estão os logs?

3. Quantos usuários estão acessando o sistema simultaneamente e a partir qual região (IP)?

4. Existe degradação no tempo de resposta nos períodos de pico?

“If you can not measure it, you can not improve it” -Lord Kelvin

Barrichello era 15 km/h mais lento do que o Shumi. Mas por que?

O que é o WiTIX: Wallboard Analytics?

ciandt.com

11 Gb docs / dia

Codahale Metrics

Menos detalhes sobre:

Mais detalhes técnico em: goo.gl/19asDo

Um MILÃO de possibilidades!!!!

Estatísticas de Uso

ciandt.com

+50% em 3 funcionalidades

+80% c/ IE 11

Monitorando os erros que os usuários estão vendo (last 7 days)

ciandt.com

PROBLEMA!

28% em uma funcionalidade

Requisições “BOMBA” para performance

28% em uma

drill

BUG PERFM NO DIA 14

Requisições “BOMBA” para performance

Crie alertas e seja proativo

Como ser proativo

ciandt.com

Acompanhamento das execuções de

monitoração

Envia notificações de

acordo com resultado de

queries

Alertas:● Expansão do Witix para envio de

notificações no Celular● Possibilidade de criar novos pontos de

monitoração (qualquer query do WiTIX)● Integrações com: Telegram, Slack, Jira,

Shell e etc.

Benefícios:❖ Monitoração 24x7 sem necessidade de

time❖ Encaminhamento de cenários de forma

mais rápida

Notificações (Watcher ou Elastalert)

Alertas nos últimos 7 dias => +50% em 3 itens

Notificações (Watcher ou Elastalert) - serviço indisponível em 15 minutos

type: frequency #(spike, flatline, blacklist, whitelist, any, change)timeframe: minutes: 15

# Query a ser executadafilter: - query: query_string: query: '(environment: "*PRD") AND message: "E152" AND message: "TIBCO"'

# Para onde será enviado o alertaalert: - "telegram"

Analise as tendências e seja preventivo

Qual é o problema?

ciandt.com

2

Análise de Tendência

1(1) Aumento de demanda previsto

(2) P70 no tempo de resposta com tendência de estourar a meta de 15 segs

PROBLEMA FUTURO

5 Tips: O que aprendemos?

ciandt.com

Independente da plataforma que for utilizar, é sempre bom lembrar que...

Tip #1: Defina Elasticsearch Mappings / Settings

Schema-free, but tenha cuidados:

Especial com o TTL

"Not analyzed" campos sem necessidade

Backup single node vs cluster data replication

Nossa Topologia

ciandt.com

Tip #2: Tenha identificação de origem (host, server, service)

● environment● hostname● servername● application● module

Identificação da origem

application instance identifier:

Tip #3: Use UUID para tracking entre os diferentes documentos

Rastreabilidade entre diferentes índices

O request b7cd80b7 gerou 4 logs entradas no log e 1 chamada SQL.

Fica mais fácil achar o problema agora!!!

Tip #4: Padronize o nome dos atributos entre os diferentes indices

PROBLEMA => (simpleName:painelGrafico OR req.requestURI:painelgrafico)

Tip #5: Não seja intrusivo no seu código.

● Logstash (+ 30 plugins)● Filtros (Java, .NET)● Interceptor vs Aspect● Byte-code injection

Referências:● https://github.com/dropwizard/metrics● https://github.com/stagemonitor/stagemonitor

Não seja intrusivo no código da aplicação

Forma fácil de monitorar, em

tempo real, o que realmente importa

para a solução.

“Nenhum sistema jamais teve esse nível de informação e assertividade para encontrar os problemas. Hoje é possível saber o que realmente está acontecendo com o sistema em produção, em tempo real"

Client's Feedback

ciandt.com

E tem mais alguém utilizando isso?

Elasticsearch: Use Cases

https://goo.gl/Nl362v

Thank you!

ciandt.com