
Awesome Prometheus Alert Rules
1156 copy-pasteable Prometheus alerting rules. Find, copy, and deploy alerts in seconds.
Browse by category
Basic resource monitoring
13 services · 173 rules
Prometheus self-monitoring
36 rules
Host and hardware
41 rulesnode-exporter
S.M.A.R.T Device Monitoring
9 rulessmartctl-exporter
IPMI
17 rulesprometheus-community/ipmi_exporter
Docker containers
10 rulesgoogle/cAdvisor
Blackbox
10 rulesprometheus/blackbox_exporter
Windows Server
8 rulesprometheus-community/windows_exporter
VMware
4 rulespryorda/vmware_exporter
Proxmox VE
9 rulesprometheus-pve/prometheus-pve-exporter
Netdata
9 rulesEmbedded exporter
eBPF
3 rulescloudflare/ebpf_exporter
Process Exporter
10 rulesncabatoff/process-exporter
Systemd
7 rulesprometheus-community/systemd_exporter
Databases
16 services · 230 rules
MySQL
18 rulesprometheus/mysqld_exporter
PostgreSQL
25 rulesprometheus-community/postgres_exporter
SQL Server
2 rulesOzarklake/prometheus-mssql-exporter
Oracle Database
8 rulesiamseth/oracledb_exporter
Patroni
1 ruleEmbedded exporter (Patroni >= 2.1.0)
PGBouncer
6 rulesspreaker/prometheus-pgbouncer-exporter
Redis
16 rulesoliver006/redis_exporter
Memcached
9 rulesprometheus/memcached_exporter
MongoDB
22 rulespercona/mongodb_exporter · dcu/mongodb_exporter · stefanprodan/mgob
Elasticsearch
22 rulesprometheus-community/elasticsearch_exporter
OpenSearch
12 rulesopensearch-project/opensearch-prometheus-exporter
Meilisearch
2 rulesEmbedded exporter
Cassandra
30 rulesinstaclustr/cassandra-exporter · criteo/cassandra_exporter
Clickhouse
23 rulesEmbedded Exporter
CouchDB
24 rulesgesellix/couchdb-prometheus-exporter
Solr
10 rulesembedded exporter
Message brokers
5 services · 57 rulesProxies, load balancers and service meshes
8 services · 85 rules
Nginx
4 rulesknyar/nginx-lua-prometheus
Apache
4 rulesLusitaniae/apache_exporter
HaProxy
33 rulesEmbedded exporter (HAProxy >= v2) · prometheus/haproxy_exporter (HAProxy < v2)
Traefik
9 rulesEmbedded exporter v2 · Embedded exporter v1
Caddy
3 rulesEmbedded exporter
Envoy
20 rulesBuilt-in metrics
Linkerd
1 ruleEmbedded exporter
Istio
11 rulesEmbedded exporter
Runtimes
6 services · 38 rulesData engineering
3 services · 35 rulesOrchestrators
5 services · 94 rulesCI/CD
5 services · 65 rulesNetwork and security
12 services · 84 rules
SpeedTest
2 rulesSpeedtest exporter
SSL/TLS
4 rulesssl_exporter
cert-manager
4 rulesEmbedded exporter
Juniper
3 rulesczerwonk/junos_exporter
CoreDNS
9 rulesEmbedded exporter
Freeswitch
3 rulesznerol/prometheus-freeswitch-exporter
Hashicorp Vault
7 rulesEmbedded exporter
Keycloak
6 rulesaerogear/keycloak-metrics-spi
Cloudflare
5 ruleslablabs/cloudflare-exporter
SNMP
7 rulesprometheus/snmp_exporter
Cilium
31 rulesEmbedded exporter
WireGuard
3 rulesMindFlavor/prometheus_wireguard_exporter
Storage
4 services · 39 rulesCloud providers
4 services · 32 rulesObservability
9 services · 207 rules
Thanos
49 rulesThanos Compactor · Thanos Query · Thanos Receiver +5
Loki
6 rulesEmbedded exporter
Promtail
3 rulesEmbedded exporter
Cortex
23 rulesEmbedded exporter
Grafana Tempo
28 rulesEmbedded exporter
Grafana Mimir
55 rulesEmbedded exporter
Grafana Alloy
7 rulesEmbedded exporter
OpenTelemetry Collector
15 rulesEmbedded exporter
Jaeger
21 rulesEmbedded exporter (v2+) · Embedded exporter (legacy, <v2)
Frequently asked questions
What are Prometheus alerting rules?
Prometheus alerting rules are PromQL-based conditions evaluated by the Prometheus server. When a condition is true for a specified duration, an alert fires and is routed by AlertManager to receivers like Slack, PagerDuty, or email. Rules are defined as YAML files and cover metrics thresholds, absence of expected data, and rate-of-change conditions.
How do I use these Prometheus alert rules?
Find the service you want to monitor, copy the YAML snippet for any rule, and paste it into your Prometheus rules file (e.g., alerts/my-service.yml). Reload Prometheus to apply the rules. Adjust thresholds to match your workload — the values provided are sensible defaults but may need tuning.
What exporters and services are covered?
Awesome Prometheus Alerts covers 93 services across 13 categories: Basic resource monitoring (Prometheus self-monitoring, Host and hardware, S.M.A.R.T Device Monitoring, IPMI, Docker containers, Blackbox, Windows Server, VMware, Proxmox VE, Netdata, eBPF, Process Exporter, Systemd); Databases (MySQL, PostgreSQL, SQL Server, Oracle Database, Patroni, PGBouncer, Redis, Memcached, MongoDB, Elasticsearch, OpenSearch, Meilisearch, Cassandra, Clickhouse, CouchDB, Solr); Message brokers (RabbitMQ, Zookeeper, Kafka, Pulsar, Nats); Proxies, load balancers and service meshes (Nginx, Apache, HaProxy, Traefik, Caddy, Envoy, Linkerd, Istio); Runtimes (PHP-FPM, JVM, Golang, Ruby, Python, Sidekiq); Data engineering (Apache Flink, Apache Spark, Hadoop); Orchestrators (Kubernetes, Nomad, Consul, Etcd, OpenStack); CI/CD (Jenkins, ArgoCD, FluxCD, GitLab CI, Spinnaker); Network and security (SpeedTest, SSL/TLS, cert-manager, Juniper, CoreDNS, Freeswitch, Hashicorp Vault, Keycloak, Cloudflare, SNMP, Cilium, WireGuard); Storage (Ceph, ZFS, OpenEBS, Minio); Cloud providers (AWS CloudWatch, Google Cloud Stackdriver, DigitalOcean, Azure); Observability (Thanos, Loki, Promtail, Cortex, Grafana Tempo, Grafana Mimir, Grafana Alloy, OpenTelemetry Collector, Jaeger); Other (APC UPS, Graph Node, LiteLLM).
What is the difference between warning and critical severity?
Critical alerts require immediate human attention — the system is down or severely degraded and revenue or reliability is directly impacted. Warning alerts need attention soon but are not immediately urgent. Info alerts are awareness-only, such as configuration changes or underutilized resources. Set up AlertManager routes to page on-call engineers only for critical alerts.
What is PromQL?
PromQL (Prometheus Query Language) is the functional query language used to select, filter, and aggregate time-series data in Prometheus. Alert rules use PromQL expressions — for example, rate(http_requests_total[5m]) > 100 fires when request rate exceeds 100/s over a 5-minute window.
Can I contribute new alert rules?
Yes! Contributions are welcome. Open a pull request on GitHub at https://github.com/samber/awesome-prometheus-alerts with your new rules added to the _data/rules.yml file. Follow the existing format: provide a clear rule name, a description explaining what the alert means and why it matters, a tested PromQL expression, an appropriate severity, and a sensible "for" duration to avoid false positives.
What is AlertManager and how does it relate to these rules?
AlertManager is the component that receives firing alerts from Prometheus and handles deduplication, grouping, silencing, and routing to receivers (Slack, PagerDuty, email, webhooks). The alert rules in this collection fire alerts from Prometheus — AlertManager then decides who to notify and when. See the AlertManager Configuration guide on this site for setup examples.
How do I silence or suppress an alert?
AlertManager supports silences — time-bounded mutes applied via its UI or API that suppress notifications without disabling the rule. For recurring suppression (nights, weekends, deployments), use inhibition rules or time-based PromQL patterns. See the Sleep Peacefully guide on this site for timezone-aware suppression examples using day_of_week() and hour() functions.
What is the license for these alert rules?
The alert rules and content are licensed under Creative Commons CC BY 4.0 — you are free to use, adapt, and redistribute them, including commercially, as long as you provide attribution. The site source code is licensed under MIT. See the LICENSE file in the GitHub repository for details.

