Prometheus for the traditional datacenter
Julien Pivotto (@roidelapluie)
April 22nd, 2018
I like Open Source
I like monitoring
I like automation
... and all of that is my job
The DevOps principles: CAMS
(a definition of DevOps)
(Damon Edwards and John Willis, 2010 http://devopsdictionary.com/wiki/CAMS)
Break down the silo's - make 1 team
Enable direct communication
Work towards a unique goal
Infra as Code
Release and deploy consistontly
More about that later...
Measure all the things
Business metrics & technical metrics
Take the metrics into consideration to take
Do alerting right; avoid alert fatigue
Share Metrics, lessons learned
Share success, celebrate failure
Share with outside world as well, learn from
We are in the cloud era.
Here are some buzzwords for you
cloud, API, openstack, devops, docker, bimodal,
stateless, kubernetes, orchestration, automation,
serverless, docker, humanops, ansible, continuous
deployment, cri-o, jenkins, agile, docker, red hat,
containers, virtualization, provisionning,
Easy to configure, deploy, maintain
Designed in multiple services
Orchestration ready (dynamic config)
A Metric in Prometheus has metadata:
And lots of function to filter, change, remove...
those metadata while fetching them.
Support for multiple OS
Prometheus is designed to fetch data in an
interval measured in SECONDS
You can fine tune its memory usage and when
it flushes to disk
It can also adapt its scraping frequency
Exporters expose metrics with an HTTP API
Bindings available for many languages
Exporters do not save data ; they are not
"proxies" and don't "cache" anything
Which exporters for your
A word about
Prometheus vs Graphite
Prometheus does not see a metric as an "event".
Metrics are current value until they are replaced.
You can not see when a metric has been included
For Events, Prometheus refers to Elasticsearch.
One tool does one job...
Prometheus collects data
Exporters expose data
Grafana graphes data
Alertmanager sends alerts
Alerting and recording rules
(p) yaml files
(p) Queries run at specific intervals
(p) sent to alertmanager
Open Source (Apache 2.0)
Specialized in visualization
Multiple datasources: prometheus, graphite,
Has an API!
History of Grafana
Grafana is a fork of Kibana 3 ; used to be JS-
Now fully featured, requires a database, multi-
projects/users support, etc...
Grafana and Prometheus
Prometheus shipped its own consoles
Now it recommends Grafana and deprecated
its own consoles