Successfully reported this slideshow.
Your SlideShare is downloading. ×

Prometheus: What is is, what is new, what is coming

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
What's new in Prometheus?
What's new in Prometheus?
Loading in …3
×

Check these out next

1 of 27 Ad

Prometheus: What is is, what is new, what is coming

Download to read offline

Prometheus is a metrics-based monitoring and alerting system and also the project with the second longest tenure within the CNCF. As such you have probably heard about it by now. We will give you a short introduction to Prometheus, what it is and why it was such a big deal when it was initially released. In all those years since then, the project has only gained speed, which provides us with the opportunity to tell you about all the exciting new features that have just been released or are in the pipeline, including opportunities to contribute to the project and its wider ecosystem.


Talk at kubecon 2021

Prometheus is a metrics-based monitoring and alerting system and also the project with the second longest tenure within the CNCF. As such you have probably heard about it by now. We will give you a short introduction to Prometheus, what it is and why it was such a big deal when it was initially released. In all those years since then, the project has only gained speed, which provides us with the opportunity to tell you about all the exciting new features that have just been released or are in the pipeline, including opportunities to contribute to the project and its wider ecosystem.


Talk at kubecon 2021

Advertisement
Advertisement

More Related Content

More from Julien Pivotto (20)

Recently uploaded (20)

Advertisement

Prometheus: What is is, what is new, what is coming

  1. 1. What it is, what is new, and what’s coming Prometheus Julien Pivotto and Richard “RichiH” Hartmann
  2. 2. What it is Prometheus | 2
  3. 3. | 3 Prometheus 101 ● Inspired by Google's Borgmon ● Time series database ● unit64 millisecond timestamp, float64 value ● Over 1000 community-created instrumentation & exporters ● Metrics, not logs ● Dashboarding via Grafana
  4. 4. | 4 Main selling points ● Highly dynamic, built-in service discovery ● No hierarchical model, n-dimensional label set ● PromQL: for processing, graphing, alerting, and export ● Simple operation ● Highly efficient
  5. 5. | 5 Main selling points ● Prometheus is a pull-based system ● Black-box monitoring: Looking at a service from the outside (Does the server answer to HTTP requests?) ● White-box monitoring: Instrumenting code from the inside (How much time does this subroutine take?) ● Every service should have its own metrics endpoint ● Hard API commitments within major versions
  6. 6. | 6 Time series ● Time series are recorded values that change over time ● Individual events are usually merged into counters and/or histograms ● Changing values are recorded as gauges ● Typical examples ○ Access rates to a web server (counter) ○ Temperatures in a data center (gauge) ○ Service latency (histograms)
  7. 7. | 7 Super easy to emit, parse & read http_requests_total{env="prod",method="post",code="200"} 1027 http_requests_total{env="prod",method="post",code="400"} 3 http_requests_total{env="prod",method="post",code="500"} 12 http_requests_total{env="prod",method="get",code="200"} 20 http_requests_total{env="test",method="post",code="200"} 372 http_requests_total{env="test",method="post",code="400"} 75
  8. 8. | 8 Scale ● Kubernetes is ~Borg ● Prometheus is ~Borgmon, but with Monarch APIs ● Google couldn't have run Borg without Borgmon (and Omega and Monarch) ● Kubernetes & Prometheus are designed and written with each other in mind
  9. 9. | 9 Scale ● 2,500,000+ samples/second/instance ● 60,000+ samples/second/core ● 16 bytes/sample compressed to 1.36 bytes/sample The highest we saw in production on a single Prometheus instance were 125,000,000 active times series at once!
  10. 10. | 10 Long-term storage ● Two long-term storage solutions have Prometheus-team members working on them ○ Thanos ■ Historically easier to run, but slower ■ Scales storage horizontally ○ Cortex ■ Easy to run these days ■ Scales storage, ingester, and querier horizontally ● Both converge on tech again; I have annoyed people with “Corthanos” for years
  11. 11. What is new? Prometheus | 11
  12. 12. Service discoveries | 12 ● In the last year, we added 5 new service discoveries ○ DigitalOcean ○ Scaleway ○ Hetzner ○ Eureka ○ Docker ○ Docker Swarm
  13. 13. | 13 Basic Authentication / TLS ● Prometheus has gained support for TLS/basic auth server side ● A new “exporter toolkit” has been created for the Go exporters ● TLS/Basic auth is being added to more and more exporters
  14. 14. PromQL | 14 ● New functions, like last_over_time ● @ modifier ○ rate(container_cpu_usage) and topk(4, rate(container_cpu_usage[5m])) @ end() ● Negative offsets ○ up offset -5m ● Composite durations, e.g. 1h30m.
  15. 15. Remote Write receiver | 15 ● Prometheus can receive metrics from Remote Write ● Writing from one Prometheus server to another ● Enable new use cases, like Prometheus “on the edge”
  16. 16. UI | 16 ● Prometheus has switched to the React UI by default ● New fully-featured editor, with labels autocompletion, snippets ● Dark theme
  17. 17. Exemplars | 17 http_request_seconds{le=”5.0”} 9036.32 # {trace_id="KOO5S4vxi0o"} 0.67 ● Attach external data to metrics (trace ID) ● Easily jump from metrics to traces ● Grafana supports them ● Trace & span ID format taken from W3C tracing specs
  18. 18. Alertmanager | 18 ● Time-based muting ○ Do not send alerts in weekends / Out of business hours ○ Controlled per route ● Negative matchers ○ Silence alerts that do not match certain labels
  19. 19. What is coming Prometheus | 19
  20. 20. | 20 Aggressively open ● Historically, Prometheus has been conservative even with features marked EXPERIMENTAL ○ We treated them as stable ● Revisiting a lot of old assumptions, and enabling more use cases ● Make our code more modular, easier to re-use ● Lots of work on Agents and data pipelines; support all deployment and operating models in upstream https://github.com/prometheus ● Exporter toolkit to ease writing and operating them ○ Mixins out of the box
  21. 21. | 21 Aggressively open ● Current design docs ○ Prometheus Agent ○ Configuration handling in exporters and Prometheus 3.x ○ Improved joins in PromQL across different label names
  22. 22. Imitation is the sincerest form of flattery Oscar Wilde | 22
  23. 23. | 23 CNCF End User Survey on Observability
  24. 24. | 24 “PromQL-style syntax” Jul 2020 “added support for PromQL” Sept 2020 “Creating the PromQL Transpiler for Flux” Jun 2019 “support the Prometheus query language, PromQL” Jun 2020 “Promscale supports ... PromQL” Oct 2020 “AWS Introduces ... Amazon Managed Service for Prometheus” Jan 2021 Working towards full compatibility Mar 2021
  25. 25. | 25 Tests, compliance, and compatibility ● CNCF, vendors, and projects have asked us for support ○ OpenMetrics specification ○ Prometheus Remote Write Specification v0.1 ● Test suites ○ PromQL Compliance ○ Remote Write Compliance ○ OpenMetrics Compliance ○ Potentially TSDB & data correctness
  26. 26. | 26 Share your thoughts! ● All dev summits recorded and open to join ○ Prometheus dev summit, rolling document ○ Prometheus Community Meeting ○ Prometheus Storage Working Group ○ Prometheus Contributor Office Hours ● All public meetings in one calendar ● Prometheus Monitoring YouTube Channel
  27. 27. Thank you! https://twitter.com/roidelapluie https://twitter.com/TwitchiH

×