prometheus: from berlin to bonanza (keynote cloudnativecon+kubecon europe 2017)

18
Brian Brazil Founder Prometheus From Berlin to Bonanza

Upload: brian-brazil

Post on 11-Apr-2017

273 views

Category:

Internet


2 download

TRANSCRIPT

Page 1: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Brian BrazilFounder

PrometheusFrom Berlin to Bonanza

Page 2: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Who am I?

One of the four core developers of Prometheus

Founder of Robust Perception

Contributor to many open source projects

Ex-Googler, after 7 years in the Dublin office

Page 3: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

A Little HistoryPrometheus started in 2012 by Matt Proud and Julius Volz in Berlin.

In 2013 developed within SoundCloud, expanded to support Bazooka (cluster manager/scheduler), Go, Java and Ruby clients.

Page 4: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

A Growing CommunityIn 2014 other companies start using it, myself working at Boxever and Johannes at Docker.

Project matures: new storage, new text format.

In 2015 we "publicly release", adoption increases.

Page 5: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

The Open Source BonanzaToday there are 300+ contributors to the core repositories, and 100+ 3rd party integrations.

There are 600+ subscribers on our mailing lists, 400+ people in IRC and an estimated 500+ companies using Prometheus in production.

Many companies funding Prometheus development.

Page 6: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

What is Prometheus?Metrics monitoring system (not logs).

A time series database. A query language.

Client libraries. An Ecosystem.

A Cloud Native approach to monitoring services.

Page 7: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Architecture

Tobias Schmidt
If I had no prior knowledge of Prometheus, the concrete "Cadvisor" and "Cassanda" exporter boxes would confuse me in a "architecture" titled slide. It appears as if these exporters are fixed part of the architecture and not just some examples.The slide also doesn't answer how my own applications fits in here.
Page 8: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Monitoring ApproachService management went from manual to Chef to Kubernetes. Need to do the same for monitoring.

Care about what matters to end users, such as latency and error rates.

Distracting a human with alerts for everything that's vaguely off only leads to burnout.

Page 9: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Kubernetes Service DiscoveryPrometheus can discover all the pods, services, containers, and nodes of a Kubernetes cluster.

Your Kubernetes labels and annotations can become Prometheus labels.

Prometheus automatically picks up changes.

Page 10: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Client LibrariesInstrument your code to capture the metrics that matter to you.

If upstream libraries are instrumented, you get that for free!

Also many exporters, e.g. cAdvisor, MySQL, SNMP, Consul, JMX, HAProxy, Minecraft, Factorio.

Page 11: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Instrumentation in CNCF projectsKubernetes is instrumented with Prometheus, allowing you to monitor the health of the cluster itself.

Similarly Linkerd exposes metrics in our format.

Interceptors for GRPC and plugins for Fluentd can feed data to Prometheus.

Page 12: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

The PromQL Query LanguageArbitrary aggregation, joins and slicing all possible.

Can calculate how close you'll be to your quota in 4 hours, or the 95th percentile latency across an entire datacenter.

If you can graph it, you can alert on it!

Page 13: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Analytics: Top 5 Docker images by CPU

topk(5, sum by (image)(

rate(container_cpu_usage_seconds_total{id=~"/system.slice/docker.*"}[5m] ) ))

Page 14: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Alert managementNot every alert results in a page.

Group similar alerts together, route them to the right team and throttle notifications.

Designed to work reliably during network partitions.

Page 15: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

What is Prometheus?Metrics monitoring system (not logs).

A time series database. A query language.

Client libraries. An Ecosystem.

A Cloud Native approach to monitoring services.

Page 16: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Suggested Prometheus Talks, In A06 Today

12:35 Counting with Prometheus - Brian

14:40 Alerting in Cloud Native Environments - Fabian

16:20 Grafana is Not Enough: DIY User Interfaces for Prometheus - David Kaltschmidt

Page 17: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

Suggested Prometheus Talks, In A06 Tomorrow

11:30 Integrating Long-Term Storage with Prometheus - Julius

12:15 Prometheus: The Unsung Heroes - Alejandro Ramirez

14:00 Configuring Prometheus for High Performance - Björn

14:45 Workshop: Instrumenting Own Applications for Prometheus - Alexandru Somesan & Frederic Branczyk - in C04, registration required

Page 18: Prometheus:  From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)

ResourcesOfficial Project Website: prometheus.io

User Mailing List: [email protected]

Dev Mailing List: [email protected]

IRC: #prometheus on chat.freenode.net

Robust Perception Blog: www.robustperception.io/blog