tdc2016sp - trilha nosql

40
InfluxDB + Grafana Telemetria na sua plataforma Celso Crivelaro @celsocrivelaro

Upload: tdc-globalcode

Post on 20-Mar-2017

42 views

Category:

Education


0 download

TRANSCRIPT

Page 1: TDC2016SP - Trilha NoSQL

InfluxDB + GrafanaTelemetria na sua plataforma

Celso Crivelaro@celsocrivelaro

Page 2: TDC2016SP - Trilha NoSQL

DEVELOPER @

Page 3: TDC2016SP - Trilha NoSQL
Page 4: TDC2016SP - Trilha NoSQL
Page 5: TDC2016SP - Trilha NoSQL

Por quê?

Page 6: TDC2016SP - Trilha NoSQL

Crise da Plataforma

Page 7: TDC2016SP - Trilha NoSQL

"O software está lento..."

Page 8: TDC2016SP - Trilha NoSQL
Page 9: TDC2016SP - Trilha NoSQL

Healthcheck OK!

Logs OK!

Testes manuais OK!

Page 10: TDC2016SP - Trilha NoSQL

Corrigimos o problema, mas ainda ficou a falta de visibilidade…

Page 11: TDC2016SP - Trilha NoSQL

Healthcheck: OK / NOK

Não tínhamos números dos tempos da plataforma

Era muito difícil perceber tendências e casos estranhos

Logs apenas mostram operações

Clientes percebiam problemas antes da gente

Page 12: TDC2016SP - Trilha NoSQL

1a IDEIA Fazer um teste de carga

Page 13: TDC2016SP - Trilha NoSQL

Dev / QA / Produção Diferentes

Não dá para quebrar Produção

Iria querer muito tempo de dev/ops

O número iria mostrar apenas o teto da plataforma

Page 14: TDC2016SP - Trilha NoSQL

2a IDEIA Monitorações das máquinas

Page 15: TDC2016SP - Trilha NoSQL

Monitoramento de memória / carga / disco / filas

As máquinas estavam OK, a app não

Qualquer variação da métrica causava alvoroço

Page 16: TDC2016SP - Trilha NoSQL

3a IDEIA Telemetria

Page 17: TDC2016SP - Trilha NoSQL

Inspirações

Page 18: TDC2016SP - Trilha NoSQL
Page 19: TDC2016SP - Trilha NoSQL
Page 20: TDC2016SP - Trilha NoSQL

https://www.youtube.com/watch?v=czes-oa0yik

Page 21: TDC2016SP - Trilha NoSQL

Com o quê?

Page 22: TDC2016SP - Trilha NoSQL

Appinfluxdb-ruby

influxdb-python

Page 23: TDC2016SP - Trilha NoSQL

Série Temporal

SQL Like / Schemaless

Boa documentação

Funções nativas com tempo

Page 24: TDC2016SP - Trilha NoSQL

Estrutura do dado

Page 25: TDC2016SP - Trilha NoSQL

Equivale a uma tabela SQL

Chave primáriaTime

Measurement

Values

Tags

Chaves-valor da medida, não indexados

Metadados indexados, sempre strings

cpu_load

load=30,temperature=50

server=name1,region=EMEA

POINT

Page 26: TDC2016SP - Trilha NoSQL

> SELECT * FROM policy_entry

name: policy_entry

------------------

time cache_hit host success time

1464013724 1 saasauth0005 1 0.35

Fetching data

Page 27: TDC2016SP - Trilha NoSQL

> SELECT * FROM policy_entry

name: policy_entry

------------------

time cache_hit host success time

1464013724 1 saasauth0005 1 0.35

Fetching data

Page 28: TDC2016SP - Trilha NoSQL

Funções

Page 29: TDC2016SP - Trilha NoSQL

count percentil

sum

mean

top

max

derivative

difference

moving_average

Aggregations Selectors Transformations

Page 30: TDC2016SP - Trilha NoSQL

Funções de tempo

Page 31: TDC2016SP - Trilha NoSQL

> SELECT * FROM messages where time < now() - 1h

Page 32: TDC2016SP - Trilha NoSQL

Várias bases

Gráficos + Plugins

Page 33: TDC2016SP - Trilha NoSQL
Page 34: TDC2016SP - Trilha NoSQL

Como representar os dados?

Page 35: TDC2016SP - Trilha NoSQL

Série Temporal

Padrões

Média de 1 min

Valores Absolutos

Valores Absolutos

Série Temporal

Page 36: TDC2016SP - Trilha NoSQL

Percentil -> Para tempo e medidas

Percentil 95%

Page 37: TDC2016SP - Trilha NoSQL

Percentil 95%

Média (1 min)

Percentil x Média

Page 38: TDC2016SP - Trilha NoSQL
Page 39: TDC2016SP - Trilha NoSQL
Page 40: TDC2016SP - Trilha NoSQL

Obrigado!

@celsocrivelarohttp://crivelaro.me