monitoring the unknown, 1000*100 series a day - devoxx morocco 2017

60
Monitoring the unknown, 1000*100 series a day Quentin ADAM - @waxzce 2017

Upload: quentin-adam

Post on 21-Jan-2018

237 views

Category:

Software


0 download

TRANSCRIPT

Page 1: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Monitoring the unknown, 1000*100 series a day

Quentin ADAM - @waxzce

2017

Page 2: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Who am I ?Quentin ADAM from the Clever Cloud

@waxzce on twitter – github- soundcloud – instagram ….

Page 3: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

My day to day work : , the IT automation company

Page 4: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Keep your apps online. made with node.js,scala, java, ruby, php, python, go…

Cloud & on premise

Page 5: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

And learn a lot of things about your code, apps, and good/bad design…

Page 6: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Give back to the community

NEVER GONNA LET YOU DOWN

clever-cloud.com

Page 7: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Automate infrastructure

Page 8: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

What are we talking about?

Page 9: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Immutable infrastructureFR : https://www.youtube.com/watch?v=WrZCbgQsPVU

EN : https://www.infoq.com/presentations/server-cloud

Page 10: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Ephemeral instances

Page 11: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Pet!=Cattle

Page 12: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Monitoring service!=Monitoring host

Page 13: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Monitoring the unknowPart 1

Page 14: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Which tech stackpeoples will use?

Page 15: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Monitoring the unknowPart 2

Page 16: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

There is no ready solution…

Page 17: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Let’s build something

Page 18: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Data needs

Page 19: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Store measure in time

Page 20: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Analyze itMost of the time using a micro batching approach

Page 21: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Traditional needs not required

• No ACID

• No Transaction

• Just a few full text

• Eventual consistency if enough

Page 22: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

SCALE

Page 23: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Time Series DB

Page 24: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Influx DB

Page 25: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Prometeus

Page 26: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Open TSDB

Page 27: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Cassandra + Akka persistence/stream

Page 28: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Warp10

Page 29: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Standalone Java fat jar

Page 30: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Distributed

• Consensus using Zookeepers

• Store and analysis on Hadoop

• Event bus with Kafka

• Several roles in a single JAR, all stateless

Page 31: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

So, We can now store data

Page 32: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Agent: Telegraf

Page 33: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Agent goals

Page 34: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Collect data

• System

• Many connector to specific softs

• Open protocols…

Page 35: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

JMX

Page 36: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Statsd

Page 37: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Prometeus

Page 38: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Buffer to send batched data

~100 metric point / minutes

Page 39: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Token based security

Page 40: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

More tokens: JWT and Macaroon

EN : https://www.youtube.com/watch?v=SO5G0Gsm5-w

FR : https://www.youtube.com/watch?v=mvKeCsxGZhE

Page 41: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

✅ Send data from all VMs

✅ Send data from others infrastructures parts

✅ Store data

❔ Analyze data

❔ Trigger data

❔ Display data

Page 42: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

WarpScript, distributed on hadoop

Page 43: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Warp10 roles

• Ingress

• Directory

• Store

• Egress

• Webcall

• Plasma

• Runner

• Fetcher

Page 44: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

µBatching WarpScriptµBatchingWarpScriptµBatchingWarpScript

Page 45: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Build a new series

Page 46: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Listen on Kafka or Plasma for triggers

Page 47: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Immutable DataBase

Page 48: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

✅ Send data from all VMs

✅ Send data from others infrastructures parts

✅ Store data

✅ Analyze data

✅ Trigger data

❔ Display data

Page 49: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Quantum

Tool

+

PolymerJS lib

Page 50: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Quantum

Tool

+

PolymerJS lib

Page 51: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Which data expose?

Page 52: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Templating the data

Page 53: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Templating the data

Page 54: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Templating the data

Page 55: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
Page 56: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
Page 57: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Give access to the API

Page 58: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Enhance developer work, happiness and productivity

Page 59: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Give access to metrics and logs

Page 60: MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017

Thank you

find me on twitter

@waxzce

Gift coupon for clever-cloud.com:

devoxxMA2017