tdc2016sp - trilha bigdata

24
Globalcode – Open4education InfluxDB: Como monitorar milhares de dados por segundo em real time. Marcos Vinicius Ribeiro Artigas Software Engineer na Umbler

Upload: tdc-globalcode

Post on 20-Mar-2017

70 views

Category:

Education


5 download

TRANSCRIPT

Page 1: TDC2016SP - Trilha BigData

Globalcode – Open4education

InfluxDB: Como monitorar milhares de dados por segundo em real time.

Marcos Vinicius Ribeiro ArtigasSoftware Engineer na Umbler

Page 2: TDC2016SP - Trilha BigData

Globalcode – Open4education

O início, o cenário...

Page 3: TDC2016SP - Trilha BigData

Globalcode – Open4education

1 ano e 3 meses :)

+ de 26 mil usuários+ de 23 mil sites hospedados+ de 20 mil contas de e-mail+ de 3 mil servidores liberados+ de 15 mil bancos de dados criados

Previsão para o próximo ano é de triplicar esses valores.

Page 4: TDC2016SP - Trilha BigData

Globalcode – Open4education

Encontramos uma necessidade

Page 5: TDC2016SP - Trilha BigData

Globalcode – Open4education

EIIITA!!

Page 6: TDC2016SP - Trilha BigData

Globalcode – Open4education

Então,

o que é um banco de dados de série temporal?

(TSDB)

Page 7: TDC2016SP - Trilha BigData

Globalcode – Open4education

Time Series Data???

• Time Series Data, é nada mais do que, uma sequência de pontos de dados temporais, geralmente constituídos por sucessivas medições feitas a partir da mesma fonte ao longo de um intervalo de tempo.

• Seria algo como... •Data/Hora -> Valor•Data/Hora -> Valor•Data/Hora -> Valor

Page 8: TDC2016SP - Trilha BigData

Globalcode – Open4education

Ok, quais TSDB existem?

e muitos outros ...

Atlas

Page 9: TDC2016SP - Trilha BigData

Globalcode – Open4education

Page 10: TDC2016SP - Trilha BigData

Globalcode – Open4education

Principais características

● Alta performance para gravação de dados.● Escrita e leituras realizadas através de uma HTTP API.● Linguagem de consulta (InfluxQL) parecida com SQL.● Tags, permitem indexação de séries para consultas

rápidas e eficientes.● Políticas de retenção e consultas contínuas.● Bibliotecas de client desenvolvidas para as principais

linguagens.

Page 11: TDC2016SP - Trilha BigData

Globalcode – Open4education

Escrevendo no InfluxDB

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu,host=server01 value=9.64 143405556200’

URL da HTTP API de escrita + nome do banco.

Page 12: TDC2016SP - Trilha BigData

Globalcode – Open4education

Escrevendo no InfluxDB

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu,host=server01 value=9.64 14340555620’

cpu = measurement

Page 13: TDC2016SP - Trilha BigData

Globalcode – Open4education

Escrevendo no InfluxDB

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu,host=server01 value=9.64 14340555620’

host = tagserver01 = valor da tag

Page 14: TDC2016SP - Trilha BigData

Globalcode – Open4education

Escrevendo no InfluxDB

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu,host=server01 value=9.64 143405556200’

value = field9.64 = valor da medição

Page 15: TDC2016SP - Trilha BigData

Globalcode – Open4education

Escrevendo no InfluxDB

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu,host=server01 value=9.64 143405556200’

Data e hora em formato Epoch Time

Page 16: TDC2016SP - Trilha BigData

Globalcode – Open4education

Consultando no InfluxDb

curl -GET 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT * FROM cpu WHERE host='server01'"

Page 17: TDC2016SP - Trilha BigData

Globalcode – Open4education

T.I.C.K

Telegraf

InfluxDB

Chronograf

Kapacitor

Page 18: TDC2016SP - Trilha BigData

Globalcode – Open4education

Telegraf

• + 50 plugins de inputex: Docker, Linux, Redis, Apache, PHP-FPM, Windows e etc.

• + 15 plugins de outputex: InfluxDB, Datadog, File, OpenTSDB, Prometheus e etc.

Page 19: TDC2016SP - Trilha BigData

Globalcode – Open4education

Chronograf

Page 20: TDC2016SP - Trilha BigData

Globalcode – Open4education

Kapacitor

Kapacitor é uma estrutura de processamento de dados Open Source que facilita a criação de alertas sobre estruturas de dados temporais e detecção de anomalias.

Page 21: TDC2016SP - Trilha BigData

Globalcode – Open4education

Exemplo de um .tickstream |from() .measurement('cpu')

|window() .period(10m) .every(5m) |alert()

.warn(lambda: "value" > 80) .crit(lambda: "value" > 90) .log('/tmp/alerts.log')

.email() .slack()

.channel(“#alerts”)

Page 22: TDC2016SP - Trilha BigData

Globalcode – Open4education

InfluxDb + Kapacitor

Page 23: TDC2016SP - Trilha BigData

Globalcode – Open4education

Mais informações

Documentação e Slack da InfluxData:

https://docs.influxdata.com/

https://gophers.slack.com/messages/influxdb/

Page 24: TDC2016SP - Trilha BigData

Globalcode – Open4education

Perguntas?

Obrigado!

Meus contatos:

[email protected]@umbler.com