📈
Prometheus & PromQL Cheat Sheet
Queries, alerting, and kubectl-adjacent metrics patterns for on-call.
Related: prometheus · grafana · kubernetes
Essential PromQL
| Command | Description | |
|---|---|---|
up | Targets that are up (1) or down (0) | |
rate(http_requests_total[5m]) | Request rate over 5 minutes | |
sum by (pod) (rate(container_cpu_usage_seconds_total[5m])) | CPU by pod | |
histogram_quantile(0.99, sum by (le) (rate(http_request_duration_seconds_bucket[5m]))) | P99 latency |
Kubernetes
| Command | Description | |
|---|---|---|
kube_pod_container_status_restarts_total | Pod restart counter | |
kube_deployment_status_replicas_unavailable | Unavailable replicas | |
container_memory_working_set_bytes | Container memory usage | |
kube_node_status_condition{condition="Ready",status="true"} | Ready nodes |
Alerting rules (snippet)
| Command | Description | |
|---|---|---|
groups:
- name: app
rules:
- alert: HighErrorRate
expr: sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) > 0.05
for: 5m
labels:
severity: critical | 5xx error rate > 5% | |
- alert: PodCrashLooping
expr: increase(kube_pod_container_status_restarts_total[1h]) > 5
for: 10m | Crash loop alert |