📈

Prometheus & PromQL Cheat Sheet

Queries, alerting, and kubectl-adjacent metrics patterns for on-call.

Related: prometheus · grafana · kubernetes

Essential PromQL

CommandDescription
upTargets 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

CommandDescription
kube_pod_container_status_restarts_totalPod restart counter
kube_deployment_status_replicas_unavailableUnavailable replicas
container_memory_working_set_bytesContainer memory usage
kube_node_status_condition{condition="Ready",status="true"}Ready nodes

Alerting rules (snippet)

CommandDescription
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: critical5xx error rate > 5%
- alert: PodCrashLooping expr: increase(kube_pod_container_status_restarts_total[1h]) > 5 for: 10mCrash loop alert