SlideShare a Scribd company logo
1 of 17
Download to read offline
Un outil de monitoring
applicatif
Guillaume Arnaud
@guillarnaud
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Ce que fait Graphite
2
Stockage Affichage
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Pourquoi on aime graphite
3
•injection facile!
•rendu riche!
•compatible avec beaucoup d'outils!
•administration light
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Ce que ne fait pas Graphite
4
Alerting Baseline
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Architecture
5
cache relayaggregatorcache
web
collecteur:!
!
JMXTrans!
Diamond!
Metrics!
…
:80
:2003!
:2004
SQLLite
whisper
user
user!
info
métriques
optionnel
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Round Robin Database
Stockage RRD
6
Taille fixe
Primary Data Point
Consolidated Data
Point
Step
event A [instant t]!
event B [instant t + 1s]!
…
1 point toutes les minutes
moyenne, min or max de!
event A, event B…
les 10 derniers jours
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
rétention
Whisper
7
[apache_busyWorkers]
pattern = servers.www.*.workers.busyWorkers$
retentions = 15s:7d,1m:21d,15m:5y
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
command line
Whisper
8
$ whisper-dump metric.wsp
$ whisper-create 60s:10d metric.wsp
$ whisper-fetch metric.wsp
$ whisper-info metric1.wsp metric2.wsp
$ whisper-set-aggregation-method.py metric.wsp <average|sum|last|
max|min>
$ whisper-resize metric.wsp 60s:10d
référence: https://github.com/graphite-project/whisper
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Alimenter Graphite
9
echo "myproject.metric 4 `date +%s`" | nc graphite 2003
Rien de plus simple
envoi par batch (pickle) sur port 2004
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Alimenter Graphite
10
{"servers" : [ {
"port" : "8004", "host" : "mysys.mydomain",
"queries" : [ {
"outputWriters" : [ {
"@class" : "com.g.j.m.output.GraphiteWriter",
"settings" : {"port" : 2003,"host" : "myhost",
"typeNames" : [ "name" ]}
} ],
"obj" : "Catalina:type=…,class=j.s.DataSource,name=*",
"resultAlias": "datasources",
"attr" : [ "numActive", "numIdle" ]
} ],
"numQueryThreads" : 2
} ]
}
JMXTrans
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Alimenter Graphite
11
Diamond
https://github.com/BrightcoveOS/Diamond
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Alimenter Graphite
12
Metrics
public class QueueManager {
private final Queue queue;
!
public QueueManager(MetricRegistry metrics, String name) {
this.queue = new Queue();
metrics.register(MetricRegistry.name(QueueManager.class, name, "size"),
new Gauge<Integer>() {
@Override
public Integer getValue() {
return queue.size();
}
});
}
}
http://metrics.codahale.com/
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Affichage
13
wildcard
target=server*.cpu
timeshift
target=server1.cpu&from=-30min&until=-10min
target=server1.cpu&target=timeShift(server1.cpu, "7d")
operations
target=sumSeries(server*.cpu, "7d")
target=derivative(gatling.hitcount)
format de sortie
target=server1.cpu&format=json
graphique
target=server*.cpu&bgcolor=blue&aeraMode=stacked
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Events
14
curl -X POST http://localhost -d '{"what":"deploiement 3.0",
"tags": "deploy"}'
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Events
15
/render?target=drawAsInfinite(events(deploy))
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Grafana
16
• EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Seyren
17

More Related Content

What's hot

Regular expressions, Alex Perry, Google, PyCon2014
Regular expressions, Alex Perry, Google, PyCon2014Regular expressions, Alex Perry, Google, PyCon2014
Regular expressions, Alex Perry, Google, PyCon2014
alex_perry
 

What's hot (12)

(Almost) Serverless Analytics System with BigQuery & AppEngine
(Almost) Serverless Analytics System with BigQuery & AppEngine(Almost) Serverless Analytics System with BigQuery & AppEngine
(Almost) Serverless Analytics System with BigQuery & AppEngine
 
Kings fund - implementing Hyku
Kings fund - implementing HykuKings fund - implementing Hyku
Kings fund - implementing Hyku
 
Introduction to PiCloud
Introduction to PiCloudIntroduction to PiCloud
Introduction to PiCloud
 
Meet the Experts: Visualize Your Time-Stamped Data Using the React-Based Gira...
Meet the Experts: Visualize Your Time-Stamped Data Using the React-Based Gira...Meet the Experts: Visualize Your Time-Stamped Data Using the React-Based Gira...
Meet the Experts: Visualize Your Time-Stamped Data Using the React-Based Gira...
 
Programming the cloud with Skywriting
Programming the cloud with SkywritingProgramming the cloud with Skywriting
Programming the cloud with Skywriting
 
Getting started with influx Db and Grafana Installation Guide
Getting started with influx Db and Grafana Installation GuideGetting started with influx Db and Grafana Installation Guide
Getting started with influx Db and Grafana Installation Guide
 
Python built in functions
Python built in functionsPython built in functions
Python built in functions
 
Javascript Everywhere From Nose To Tail
Javascript Everywhere From Nose To TailJavascript Everywhere From Nose To Tail
Javascript Everywhere From Nose To Tail
 
Building a Serverless Computation Environment with Python
Building a Serverless Computation Environment with PythonBuilding a Serverless Computation Environment with Python
Building a Serverless Computation Environment with Python
 
Regular expressions, Alex Perry, Google, PyCon2014
Regular expressions, Alex Perry, Google, PyCon2014Regular expressions, Alex Perry, Google, PyCon2014
Regular expressions, Alex Perry, Google, PyCon2014
 
Why Grails?
Why Grails?Why Grails?
Why Grails?
 
Scylla Summit 2022: ScyllaDB Embraces Wasm
Scylla Summit 2022: ScyllaDB Embraces WasmScylla Summit 2022: ScyllaDB Embraces Wasm
Scylla Summit 2022: ScyllaDB Embraces Wasm
 

Similar to Journée DevOps : Un outil de monitoring applicatif

Similar to Journée DevOps : Un outil de monitoring applicatif (20)

ELK stack at weibo.com
ELK stack at weibo.comELK stack at weibo.com
ELK stack at weibo.com
 
Monitoring the ELK stack using Zabbix and Grafana (Dennis Kanbier / 26-11-2015)
Monitoring the ELK stack using Zabbix and Grafana (Dennis Kanbier / 26-11-2015)Monitoring the ELK stack using Zabbix and Grafana (Dennis Kanbier / 26-11-2015)
Monitoring the ELK stack using Zabbix and Grafana (Dennis Kanbier / 26-11-2015)
 
Crafting Evolvable Api Responses
Crafting Evolvable Api ResponsesCrafting Evolvable Api Responses
Crafting Evolvable Api Responses
 
Wider than rails
Wider than railsWider than rails
Wider than rails
 
Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...
Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...
Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...
 
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiMonitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
 
Apache Spark v3.0.0
Apache Spark v3.0.0Apache Spark v3.0.0
Apache Spark v3.0.0
 
ELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboardELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboard
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling Servers
 
How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.
 
Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?
 
Aaron Mildenstein - Using Logstash with Zabbix
Aaron Mildenstein - Using Logstash with ZabbixAaron Mildenstein - Using Logstash with Zabbix
Aaron Mildenstein - Using Logstash with Zabbix
 
2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb
 
Sorry - How Bieber broke Google Cloud at Spotify
Sorry - How Bieber broke Google Cloud at SpotifySorry - How Bieber broke Google Cloud at Spotify
Sorry - How Bieber broke Google Cloud at Spotify
 
Cross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumCross platform Mobile development on Titanium
Cross platform Mobile development on Titanium
 
Angular2 for Beginners
Angular2 for BeginnersAngular2 for Beginners
Angular2 for Beginners
 
Curso de MySQL 5.7
Curso de MySQL 5.7Curso de MySQL 5.7
Curso de MySQL 5.7
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
 

More from Publicis Sapient Engineering

More from Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Recently uploaded (20)

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

Journée DevOps : Un outil de monitoring applicatif

  • 1. Un outil de monitoring applicatif Guillaume Arnaud @guillarnaud
  • 2. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Ce que fait Graphite 2 Stockage Affichage
  • 3. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Pourquoi on aime graphite 3 •injection facile! •rendu riche! •compatible avec beaucoup d'outils! •administration light
  • 4. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Ce que ne fait pas Graphite 4 Alerting Baseline
  • 5. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Architecture 5 cache relayaggregatorcache web collecteur:! ! JMXTrans! Diamond! Metrics! … :80 :2003! :2004 SQLLite whisper user user! info métriques optionnel
  • 6. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Round Robin Database Stockage RRD 6 Taille fixe Primary Data Point Consolidated Data Point Step event A [instant t]! event B [instant t + 1s]! … 1 point toutes les minutes moyenne, min or max de! event A, event B… les 10 derniers jours
  • 7. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC rétention Whisper 7 [apache_busyWorkers] pattern = servers.www.*.workers.busyWorkers$ retentions = 15s:7d,1m:21d,15m:5y
  • 8. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC command line Whisper 8 $ whisper-dump metric.wsp $ whisper-create 60s:10d metric.wsp $ whisper-fetch metric.wsp $ whisper-info metric1.wsp metric2.wsp $ whisper-set-aggregation-method.py metric.wsp <average|sum|last| max|min> $ whisper-resize metric.wsp 60s:10d référence: https://github.com/graphite-project/whisper
  • 9. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Alimenter Graphite 9 echo "myproject.metric 4 `date +%s`" | nc graphite 2003 Rien de plus simple envoi par batch (pickle) sur port 2004
  • 10. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Alimenter Graphite 10 {"servers" : [ { "port" : "8004", "host" : "mysys.mydomain", "queries" : [ { "outputWriters" : [ { "@class" : "com.g.j.m.output.GraphiteWriter", "settings" : {"port" : 2003,"host" : "myhost", "typeNames" : [ "name" ]} } ], "obj" : "Catalina:type=…,class=j.s.DataSource,name=*", "resultAlias": "datasources", "attr" : [ "numActive", "numIdle" ] } ], "numQueryThreads" : 2 } ] } JMXTrans
  • 11. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Alimenter Graphite 11 Diamond https://github.com/BrightcoveOS/Diamond
  • 12. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Alimenter Graphite 12 Metrics public class QueueManager { private final Queue queue; ! public QueueManager(MetricRegistry metrics, String name) { this.queue = new Queue(); metrics.register(MetricRegistry.name(QueueManager.class, name, "size"), new Gauge<Integer>() { @Override public Integer getValue() { return queue.size(); } }); } } http://metrics.codahale.com/
  • 13. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Affichage 13 wildcard target=server*.cpu timeshift target=server1.cpu&from=-30min&until=-10min target=server1.cpu&target=timeShift(server1.cpu, "7d") operations target=sumSeries(server*.cpu, "7d") target=derivative(gatling.hitcount) format de sortie target=server1.cpu&format=json graphique target=server*.cpu&bgcolor=blue&aeraMode=stacked
  • 14. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Events 14 curl -X POST http://localhost -d '{"what":"deploiement 3.0", "tags": "deploy"}'
  • 15. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Events 15 /render?target=drawAsInfinite(events(deploy))
  • 16. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Grafana 16
  • 17. • EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC Seyren 17