Slide 1

Slide 1 text

Prometheus 101 Sebastian Webber

Slide 2

Slide 2 text

$ whoami ● Consultant @timbira ● Senior DB Engineer @caremessage ● Student @bujinkan

Slide 3

Slide 3 text

http://bit.ly/cfp-dod-poa

Slide 4

Slide 4 text

Prometheus https://prometheus.io/

Slide 5

Slide 5 text

Service discovery ● Azure VMs ● Consul ● DNS ● AWS EC2 Instances ● OpenStack Nova instances ● Files ● GCP GCE Instances ● Kuberentes nodes, services, pods, endpoints, and ingresses ● Marathon ● Nerve ● … and others What is Prometheus? Database It’s a time series database. API All integrations are done by the REST API WEB UI It contains an ugly, but useful interface to check the configuration and debug PROMQL queries. Scraper service Prometheus uses jobs to connect on the services that exports relevant data. All of this inside only one executable file…

Slide 6

Slide 6 text

Prometheus points to lots of exporters to get the data

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

how do the exporters work? http://host:port/metrics https://prometheus.io/docs/instrumenting/clientlibs/

Slide 9

Slide 9 text

and the metrics? Given a metric name and a set of labels, time series are frequently identified using this notation: {=, ...} For example, a time series with the metric name api_http_requests_total and the labels method="POST" and handler="/messages" could be written like this: api_http_requests_total{method="POST", handler="/messages"} This is the same notation that OpenTSDB uses. https://prometheus.io/docs/concepts/data_model/

Slide 10

Slide 10 text

Data types Summary Histogram Gauge Counter https://prometheus.io/docs/concepts/metric_types

Slide 11

Slide 11 text

demo https://github.com/sebastianwebber/lab-prom-101

Slide 12

Slide 12 text

wait.. there is more!

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

about grafana

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content