# Awesome Prometheus

> A curated list of awesome Prometheus resources, projects and tools.

Prometheus is an open-source systems monitoring and alerting toolkit.

## Contents

- Official resources
- Tutorials
- Books
- Videos
- Podcasts and interviews
- Presentations
- Blog posts and opinions
- Deployment tools
- Dashboards
- Exporters
  - Databases
  - Hardware related
  - HTTP
  - Other monitoring systems
  - Miscellaneous
- Alertmanager
- Proxies
- High Availability
- Uncategorized

## Official resources

- Website - Official Prometheus project website.
- GitHub repository - Prometheus’ source code, issues discussion and collaboration.
- Documentation - Official Prometheus documentation.
- Blog - Official Prometheus blog.
- Official Prometheus demo - Official Prometheus demo site managed by Cloud Alchemy Ansible roles updating daily using configuration from Prometheus repository.

## Tutorials

- Kubernetes monitoring with Prometheus, the ultimate guide - Kubernetes monitoring with Prometheus, the ultimate guide by Mateo Burillo.
- How To Install Prometheus using Docker on CentOS 7 - Walkthrough on how to install Prometheus on CentOS 7.
- How to Use Prometheus to Monitor Your CentOS 7 Server - Walkthrough on how to monitor a CentOS 7 server using Prometheus.
- How To Add a Prometheus Dashboard to Grafana - Walkthrough on how to add a Prometheus dashboard to Grafana.
- Instructions and example code for a Prometheus workshop - Instructions and example code for a Prometheus workshop by Julius Volz.
- Checking if SSH is responding with Prometheus - Walkthrough on how to use the Blackbox Exporter to check if SSH is responding by Brian Brazil.
- Monitor your GitHub Repos with Docker and Prometheus - Monitor your GitHub Repos with Docker and Prometheus.
- Docker daemon metrics in Prometheus - Docker daemon metrics in Prometheus by Luc Juggery.
- Prometheus Monitoring Tutorial (10 minutes) - Simple tutorial to create a Prometheus monitoring stack with Grafana, AlertManager, and PagerTree by Austin Miller.
- Prometheus-Basics - Beginner friendly introduction to Prometheus by yolossn.
- Setting up Prometheus Monitoring On a Kubernetes Cluster - Setting up Prometheus Monitoring On a Kubernetes Cluster by James Walker.

## Books

- Monitoring with Prometheus - Monitoring with Prometheus by James Turnbull.
- Prometheus: Up & Running - Prometheus: Up & Running by Brian Brazil.
- Hands-On Infrastructure Monitoring with Prometheus - Hands-On Infrastructure Monitoring with Prometheus by Joel Bastos & Pedro Araújo, reviewed by Brian Brazil.

## Videos

- PromCon Online 2020 - PromCon Online - July 14-16, 2020.
- PromCon 2019 - PromCon Munich - November 7-8, 2019, PromCon EU 2019.
- An Introduction to Systems & Service Monitoring with Prometheus - GOTO 2019: An Introduction to Systems & Service Monitoring with Prometheus - Julius Volz.
- Explain it Like I’m Five - What I Learned Teaching Observability to My Kids - Monitorama PDX, 2019 - Dave Cadwallader.
- Prometheus Deep Dive - KubeCon - 2017 - GitLab: Prometheus Deep Dive - Ben Kochie.
- PromCon 2018 - PromCon Munich - August 9-10, 2018 - talk recordings from PromCon 2018 in Munich.
- Prometheus Monitoring for Java Web Applications w o Modifying Source Code - Devoxx Belgium - November 7, 2017 - Fabian Stäber.
- PromCon 2017 - PromCon Munich - August 17-18, 2017 - talk recordings from PromCon 2017 in Berlin.
- Best Practices and Beastly Pitfalls - PromCon 2017: Best Practices and Beastly Pitfalls - Julius Volz.
- Counting with Prometheus - Cloud Native Con - 2017 - Counting with Prometheus - Brian Brazil, Robust Perception.
- Understanding and Extending Prometheus AlertManager - Cloud Native Con - 2017 - Understanding and Extending Prometheus AlertManager - Lee Calcote, SolarWinds.
- Infrastructure and application monitoring using Prometheus - Devoxx - May 17, 2017 at Devoxx UK - Marco Pas.
- Prometheus Monitoring for Java Developers - Devoxx Belgium - November 8, 2016 - Fabian Stäber.
- Prometheus: Design and Philosophy - why it is the way it is - Docker - October 14, 2016 - Julius Volz.
- PromCon 2016 - PromCon Berlin - August 25-26, 2016 - talk recordings from PromCon 2016 in Berlin.
- Prometheus: A Next Generation Monitoring System - FOSDEM 2016 - January 31, 2016 - Brian Brazil.
- The Prometheus Time Series Database - PromCon 2016: The Prometheus Time Series Database - Björn Rabenstein.
- PromCon 2016: So You Want to Write an Exporter - PromCon 2016 - So You Want to Write an Exporter - Brian Brazil.

## Podcasts and interviews

- Prometheus on FLOSS Weekly 357 - Julius Volz on the FLOSS Weekly TWiT.tv show.
- Prometheus and Service Monitoring - Julius Volz on the Changelog podcast.
- Prometheus Monitoring with Brian Brazil - Brian Brazil on the Software Engineering Daily podcast.

## Presentations

- Prometheus Overview - The Promethean ideal of monitoring by Brian Brazil.
- System Monitoring with Prometheus - Brian Brazil at Devops Ireland Meetup, Dublin.
- OMG! Prometheus - Benjamin Staffin, Fitbit Site Operations, explains the case for Prometheus to his team.
- Deploying Prometheus - Filippo Giunchedi, WikiMedia Foundation at FOSDEM 2017.

## Blog posts and opinions

- Prometheus: Monitoring at SoundCloud - Overview of Prometheus and first hand experience from Soundcloud.
- Monitor Docker Containers with Prometheus - Using Prometheus to monitor Docker containers.
- Prometheus and Kubernetes: A Perfect Match - Part 1 of 3 in the series Prometheus and Kubernetes.
- Prometheus and Kubernetes: Deploying - Part 2 of 3 in the series Prometheus and Kubernetes.
- Prometheus and Kubernetes: Monitoring Your Applications - Part 3 in the series Prometheus and Kubernetes.
- Robust Perception - Multiple blog posts about Prometheus by Brian Bazil.
- Initial experiences with the Prometheus monitoring system - Initial experiences with the Prometheus by Grig Gheorghiu.
- Monitor your applications with Prometheus - Monitor your applications with Prometheus by Alex Ellis.
- Practical Services Monitoring with Prometheus and Docker - Practical services monitoring with Prometheus and Docker by Simon KP.
- Prometheus Blog Series (Part 1): Metrics and Labels - Part 1 in the series Prometheus Blog Series by Pierre Vincent.
- Prometheus Blog Series (Part 2): Metric types - Part 2 in the series Prometheus Blog Series by Pierre Vincent.
- Prometheus Blog Series (Part 3): Exposing and collecting metrics - Part 3 in the series Prometheus Blog Series by Pierre Vincent.
- Prometheus Blog Series (Part 4): Instrumenting code in Go and Java - Part 4 in the series Prometheus Blog Series by Pierre Vincent.
- Horizontal Pod Autoscaling in Kubernetes with Prometheus - Horizontal Pod Autoscaling in Kubernetes with Prometheus by Louise.
- PromQL tutorial for beginners - PromQL tutorial for beginners by Aliaksandr Valialkin.
- Prometheus storage: technical terms explained - Prometheus storage: technical terms for humans by Aliaksandr Valialkin.
- Alerting issues with Alertmanager - Addressing alert flapping and duplicates in Alertmanager by Ali Sattari.
- Contributing to Prometheus - Contributing to Prometheus by Atibhi Agrawal.
- Simple Prometheus queries for metrics inspection - Overview of PromQL queries that help to identify high cardinality metrics by Michal Kazmierczak.

## Deployment tools

- Ansitheus - Ansible playbook to containerize, configure and deploy Prometheus ecosystem by ntk148v.
- Cloud Alchemy Ansible roles - Ansible roles to manage Prometheus, Alertmanager, Grafana, and common Prometheus exporters.
- Ansible-prometheus - Ansible playbook for installing Prometheus monitoring system, exporters such as: node, snmp, blackbox, thus alert manager and push gateway by Ernestas Poskus.
- Click-to-deploy Prometheus - Source for Google Click to Deploy Prometheus solutions listed on Google Cloud Marketplace by GoogleCloudPlatform.
- Prometheus Operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes by CoreOS.

## Dashboards

- Grafana - Grafana is an open-source metric analytics & visualization suite tutorial by Prometheus.
- Prometheus Monitoring with Grafana - Prometheus Monitoring with Grafana tutorial by logz.io.

## Exporters

The lists below contain all the official Prometheus exporters that are maintained by the Prometheus GitHub organization. For a complete list of exporters including any non-official exporters see prometheus.io or exporterhub.io for a curated list of Prometheus exporters.

### Databases

- Consul exporter - The exporter for Consul metrics.
- Memcached exporter - The Memcached exporter periodically scrapes Memcached stats.
- MySQL server exporter - The MySQL server exporter periodically scrapes MySQL stats.

### Hardware related

- Node/system metrics exporter - The Node exporter periodically scrapes system stats.

### HTTP

- HAProxy exporter - The HAProxy exporter periodically scrapes HAProxy stats.

### Other monitoring systems

- AWS CloudWatch exporter - The exporter for Amazon AWS CloudWatch metrics.
- Collectd exporter - The exporter for Collectd metrics.
- Graphite exporter - The exporter for Graphite metrics.
- InfluxDB - The exporter for InfluxDB metrics.
- JMX exporter - The exporter for JMX metrics.
- SNMP exporter - The exporter for SNMP metrics.
- StatsD exporter - The exporter for StatsD metrics.

### Miscellaneous

- Blackbox - The Blackbox exporter allows blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP.

## Alertmanager

- Monitoring mixins - Community managed bundles of alerts, recording rules, and Grafana dashboards.
- Awesome Prometheus Alerting Rules - Awesome List of Prometheus alerting rules.
- Karma - Alert dashboard for Prometheus Alertmanager.

## Proxies

- Multi-prometheus proxy - Forwards incoming requests to one of a set of multiple Prometheus instances deployed as HA duplicates of each other using a selector strategy.
- Promxy - Deduplicates data from Prometheus HA pairs.
- Trickster - HTTP reverse proxy/cache for HTTP applications and a dashboard query accelerator for time series databases.
- exporter_proxy - A tiny, simple pure-python reverse-proxy for Prometheus exporters, with TLS support.
- PromQL Guard - Provides a thin proxy on top of Prometheus, that allows PromQL queries to be inspected and re-written, so that a tenant can only see allowed data, even when using a shared Prometheus server.

## High Availability

- Cortex - Horizontally scalable, highly available, multi-tenant, long-term Prometheus.
- Thanos - Highly available Prometheus setup with long term storage capabilities.
- M3DB - Scalable long-term remote storage for Prometheus.
- VictoriaMetrics - Cost-effective easy to operate remote storage for Prometheus.

## Uncategorized

- Prometheus Monitoring subreddit - Subreddit collecting all Prometheus-related resources on the internet.
- PromCon - The Prometheus conference.