Awesome Prometheus Alert Rules
951 copy-pasteable Prometheus alerting rules. Find, copy, and deploy alerts in seconds.
Browse by category
Basic resource monitoring
13 services · 153 rulesPrometheus self-monitoring
28 rulesHost and hardware
35 rulesnode-exporter
S.M.A.R.T Device Monitoring
8 rulessmartctl-exporter
IPMI
17 rulesprometheus-community/ipmi_exporter
Docker containers
9 rulesgoogle/cAdvisor
Blackbox
9 rulesprometheus/blackbox_exporter
Windows Server
5 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 · 184 rulesMySQL
14 rulesprometheus/mysqld_exporter
PostgreSQL
20 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
3 rulesspreaker/prometheus-pgbouncer-exporter
Redis
12 rulesoliver006/redis_exporter
Memcached
9 rulesprometheus/memcached_exporter
MongoDB
17 rulespercona/mongodb_exporter · dcu/mongodb_exporter · stefanprodan/mgob
Elasticsearch
19 rulesprometheus-community/elasticsearch_exporter
OpenSearch
6 rulesopensearch-project/opensearch-prometheus-exporter
Meilisearch
2 rulesEmbedded exporter
Cassandra
30 rulesinstaclustr/cassandra-exporter · criteo/cassandra_exporter
Clickhouse
19 rulesEmbedded Exporter
CouchDB
18 rulesgesellix/couchdb-prometheus-exporter
Solr
4 rulesembedded exporter
Message brokers
5 services · 52 rulesProxies, load balancers and service meshes
8 services · 75 rulesNginx
3 rulesknyar/nginx-lua-prometheus
Apache
3 rulesLusitaniae/apache_exporter
HaProxy
30 rulesEmbedded exporter (HAProxy >= v2) · prometheus/haproxy_exporter (HAProxy < v2)
Traefik
6 rulesEmbedded exporter v2 · Embedded exporter v1
Caddy
3 rulesEmbedded exporter
Envoy
19 rulesBuilt-in metrics
Linkerd
1 ruleEmbedded exporter
Istio
10 rulesEmbedded exporter
Runtimes
6 services · 35 rulesData engineering
3 services · 30 rulesOrchestrators
5 services · 77 rulesCI/CD
5 services · 56 rulesNetwork and security
12 services · 70 rulesSpeedTest
2 rulesSpeedtest exporter
SSL/TLS
4 rulesssl_exporter
cert-manager
4 rulesEmbedded exporter
Juniper
3 rulesczerwonk/junos_exporter
CoreDNS
1 ruleEmbedded exporter
Freeswitch
3 rulesznerol/prometheus-freeswitch-exporter
Hashicorp Vault
4 rulesEmbedded exporter
Keycloak
6 rulesaerogear/keycloak-metrics-spi
Cloudflare
2 ruleslablabs/cloudflare-exporter
SNMP
7 rulesprometheus/snmp_exporter
Cilium
31 rulesEmbedded exporter
WireGuard
3 rulesMindFlavor/prometheus_wireguard_exporter
Storage
4 services · 21 rulesCloud providers
4 services · 33 rulesObservability
9 services · 153 rulesThanos
45 rulesThanos Compactor · Thanos Query · Thanos Receiver +5
Loki
4 rulesEmbedded exporter
Promtail
2 rulesEmbedded exporter
Cortex
6 rulesEmbedded exporter
Grafana Tempo
18 rulesEmbedded exporter
Grafana Mimir
49 rulesEmbedded exporter
Grafana Alloy
1 ruleEmbedded exporter
OpenTelemetry Collector
12 rulesEmbedded exporter
Jaeger
16 rulesEmbedded exporter (v2+) · Embedded exporter (legacy, <v2)
Other
2 services · 12 rulesFrequently 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 92 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).
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.