DrDroid
Resource Cheatsheet

Prometheus

Quick reference guide and commands for Prometheus.

Download PDF

Connection

Access Prometheus Web UI
http://localhost:9090

curl API endpoint
curl http://localhost:9090/api/v1/query?query=up

Configure Prometheus
Edit prometheus.yml file

Start Prometheus
prometheus --config.file=prometheus.yml

Querying

Basic query
http_requests_total

Filter by label
http_requests_total{status="200"}

Range query
http_requests_total[5m]

Rate
rate(http_requests_total[5m])

Sum by
sum by(instance) (http_requests_total)

Increase
increase(http_requests_total[1h])

Aggregation functions
sum(), avg(), min(), max(), count()

Alert Management

View alerts
http://localhost:9090/alerts

List alertmanager targets
http://localhost:9090/targets

Define alert rule
In prometheus.yml or rules file

Management

List targets
http://localhost:9090/targets

View configuration
http://localhost:9090/config

View service discovery
http://localhost:9090/service-discovery

Runtime information
http://localhost:9090/status

PromQL (Advanced)

Quantile
histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))

Predict linear trend
predict_linear(node_filesystem_free_bytes[1h], 4 * 3600)

Counter reset handling
resets(http_requests_total[5m])

Conversion to per-second
irate(http_requests_total[5m])

Delta for gauges
delta(temperature_celsius[1h])

CLI Options

Specify config file
--config.file=prometheus.yml

Set storage path
--storage.tsdb.path=data/

Retention time
--storage.tsdb.retention.time=15d

HTTP listen address
--web.listen-address=0.0.0.0:9090

External URL
--web.external-url=http://prometheus.example.org