monitoring the unknown, 1000*100 series a day - big data vilnius 2017

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

Upload: quentin-adam

Post on 21-Jan-2018

165 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Monitoring the unknown, 1000*100 series a day

Quentin ADAM - @waxzce

Page 2: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 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 - Big Data Vilnius 2017

My day to day work : , the IT automation company

Page 4: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 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 - Big Data Vilnius 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 - Big Data Vilnius 2017

Give back to the community

NEVER GONNA LET YOU DOWN

clever-cloud.com

Page 7: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Automate infrastructure

Page 8: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

What are we talking about?

Page 9: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 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 - Big Data Vilnius 2017

Ephemeral instances

Page 11: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Pet!=Cattle

Page 12: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Monitoring service!=Monitoring host

Page 13: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Monitoring the unknowPart 1

Page 14: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Which tech stackpeoples will use?

Page 15: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Business metrics

Application metrics

middleware app

system metrics

• logins

• leads

• sales

• clicks

• ...

• SQL sessions

• User session opened

• Connections pool

• …

• GC

• JVM management

• request per seconds

• Threads

• Jobs scheduling

• …

• cpu

• load

• storage

• RAM

• ...

Page 16: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Monitoring the unknowPart 2

Page 17: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

There is no ready solution…

Page 18: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Let’s build something

Page 19: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Data needs

Page 20: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Store measure in time

Page 21: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Analyze itMost of the time using a micro batching approach

Page 22: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Traditional needs not required

• No ACID

• No Transaction

• Just a few full text

• Eventual consistency if enough

Page 23: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

SCALE

Page 24: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Time Series DB

Page 25: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Series and Labels

• Instance.xxxxxx.ram.free = 2078

• {• Application: myAppId

• Platform: Java

• Os: Linux

• …

• }

Page 26: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Watch out cardinality

Page 27: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Time series DB is an hot noSQL topic

Page 28: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Influx DB

Page 29: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Prometeus

Page 30: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Timescale DB

Based on

Page 31: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Open TSDB

Page 32: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Cassandra + Akka persistence/stream

Page 33: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Warp10

Page 34: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Standalone Java fat jar

Page 35: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Distributed

• Consensus using Zookeepers

• Store and analysis on Hadoop

• Event bus with Kafka

• Several roles in a single JAR, all stateless

Page 36: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Warp10 roles

• Ingress

• Directory

• Store

• Egress

• Webcall

• Plasma

• Runner

• Fetcher

Page 37: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Ingress🔑

Kafka

Hadoop Hbasecluster

Store

Dictionary

Page 38: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

So, We can now store data

Page 39: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

How to send some

Page 40: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Agent: Telegraf

Page 41: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Agent goals

Page 42: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Collect data

• System

• Many connector to specific softs

• Open protocols…

• Push or Pull?

Page 43: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

JMX

Page 44: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Statsd Simple UDP protocol

Page 45: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Prometeus

Page 46: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Buffer to send batched data

~100 metric point / minutes

Page 47: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Token based security

Page 48: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

More tokens: JWT and Macaroon

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

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

Page 49: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

✅ Send data from all VMs

✅ Send data from others infrastructures parts

✅ Store data

❔ Analyze data

❔ Trigger data

❔ Display data

Page 50: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

WarpScript, distributed on hadoop

Page 51: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

µBatching WarpScriptµBatchingWarpScriptµBatchingWarpScript

Page 52: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Build a new series

Page 53: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Listen on Kafka or Plasma for triggers

Page 54: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Immutable DataBase

Page 55: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

✅ Send data from all VMs

✅ Send data from others infrastructures parts

✅ Store data

✅ Analyze data

✅ Trigger data

❔ Display data

Page 56: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Quantum

Tool

+

PolymerJS lib

Page 57: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Quantum

Tool

+

PolymerJS lib

Page 58: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Which data expose?

Page 59: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Templating the data

Page 60: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Templating the data

Page 61: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Templating the data

Page 62: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Page 63: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Page 64: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Give access to the API

Page 65: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Enhance developer work, happiness and productivity

Page 66: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Give access to metrics and logs

Page 67: Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017

Thank you

find me on twitter

@waxzce

Gift coupon for clever-cloud.com:

bigDataConf2017