Table of Contents

Prometheus - Query (PromQL, Expression)

About

PromQL Query / Expression

Example

Total request over a period of time

The number of request increase every 5 minutes

sum(increase(prometheus_http_requests_total[5m]))

Time Series

promhttp_metric_handler_requests_total 

Filtering

promhttp_metric_handler_requests_total{code="200"} 

Count

count(promhttp_metric_handler_requests_total) 

Request Rate

-- the per-second HTTP request rate returning status code 200
rate(promhttp_metric_handler_requests_total{code="200"}[1m]) 
-- Given an HTTP request counter, this query calculates the per-second average request rate over the last 5 minutes.
rate(http_request_total[5m]) 

Histogram

histogram_quantile(0.95, sum(rate(prometheus_http_request_duration_seconds_bucket[5m])) by (le))

Total Alerts fired over the last 24 hours

Alerts Firing: Sums up the alerts that have been firing over the last 24 hours.

sort_desc(sum(sum_over_time(ALERTS{alertstate="firing"}[24h])) by (alertname))

Management

GUI

Step

Defines the graph resolution using a duration format (15s, 1m, 3h, …). Small steps create high-resolution graphs but can be slow over larger time ranges. Using a longer step lowers the resolution and smooths the graph by producing fewer datapoints. If no step is given the resolution is calculated automatically.

Documentation / Reference