3. The DevOps principles: CAMS
(a definition of DevOps)
Culture
Automation
Measurement
Sharing
(Damon Edwards and John Willis, 2010 http://devopsdictionary.com/wiki/CAMS)
4. Culture
Break down the silo's - make 1 team
Enable direct communication
Work towards a unique goal
Share responsibilities
6. Measurement
Measure all the things
(even DEV/ACC/PIL/...)
Business metrics & technical metrics
Take the metrics into consideration to take
decisions
Do alerting right; avoid alert fatigue
7. Sharing
Share Metrics, lessons learned
Share success, celebrate failure
Share with outside world as well, learn from
the industry
8. 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,
monitoring, observability...
13. We need deserve better tools
Our customers ask us to respond fast, in
seconds
We make hundreds of operations per second
What is your frequency... 5 minutes?Â
16. Cloud Native
Easy to configure, deploy, maintain
Designed in multiple services
Container ready
Orchestration ready (dynamic config)
Fuzziness
17. Data Centric
A Metric in Prometheus has metadata:
myql_global_status_handlers_total{handler="tmp_write"}
1122
And lots of function to filter, change, remove...
those metadata while fetching them.
18. Open Source
Apache 2.0
Go
Support for multiple OS
Many "exporters":
https://github.com/prometheus/prometheus/wiki/Defa
ult-port-allocations
19. Performance
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
dynamically
25. Exporters
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
datacenter?
31. Security
Prometheus supports TLS client (also with
authentication)
We use it with traefik (reverse proxy in go with
native metrics)
We manage certs with ansible
44. 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
in Prometheus.
For Events, Prometheus refers to Elasticsearch.
46. One tool does one job...
Prometheus collects data
Exporters expose data
Grafana graphes data
Alertmanager sends alerts
47. Alerting and recording rules
(p) yaml files
(p) Queries run at specific intervals
(p) sent to alertmanager
(a) receives
(a) groups
(a) inhibits
(a) dispatch
48. Grafana
Open Source (Apache 2.0)
Web app
Specialized in visualization
Pluggable
Multiple datasources: prometheus, graphite,
influxdb...
Has an API!
49. History of Grafana
Grafana is a fork of Kibana 3 ; used to be JS-
Driven.
Now fully featured, requires a database, multi-
projects/users support, etc...