- Alert has labels:
severity - Alert label
severityhas one of the allowed values:info,warning,critical - Alert if rule has label
severitywith valueinfo, it cannot have labelpage - Alert expression can be successfully evaluated on the live Prometheus instance and the number of time series in the result is not higher than 20 and the evaluation is not longer than 10s
- Alert expression uses only labels that are actually present in Prometheus
- Alert expression selectors actually matches any series in Prometheus
- Alert expression does not use irate
- Alert expression does not use data older than
6h0m0s
- Alert has labels:
xxx - Alert label
teamhas one of the allowed values:[email protected](templated values are ignored)
- Alert has any of these annotations:
playbook,link - Alert Annotation
linkis a valid URL and does not return HTTP status 404
- Alert has all of these annotations:
title
- Rule rule does not contain typos in typos in well known:
Annotations:
playbook,dashboardRule labels:do_not_inhibitSeries labels:pod,locality,cluster - Rule expression does not use any experimental PromQL functions
- Rule expression uses underscores as separators in large numbers in PromQL expression. Example: 1_000_000
- Rule expression does not use data older than
6h0m0s - Rule does not use any of the
cluster,locality,prometheus-type,replicalabels is in its expression
- Alert expression uses metric name in selectors
- Alert labels are valid templates
- Alert
keep_firing_foris not longer than1h
- Group evaluation interval is between
20sand106751d23h47m16s854msif set - Group has at most 10 rules
- Group does not have higher
limitconfigured then 100
- Rule expression is well formatted as would
promtool promql formatdo or similar online tool such as https://o11y.tools/promqlparser/ - Rule expression does not do any binary operations between histogram buckets, it can be dangerous because of inconsistency in the data if sent over remote write for example
- Recording rule recorded metric name does not match regexp:
^foo_bar$ - Recording rule recorded metric name matches regexp:
^[^:]+:[^:]+:[^:]+$
-
Rule for metrics matching regexp '^up$', given lables use only specified values: job: [prometheus]
-
Rule expression does not use labels
appfor metrics matching regexp ^up$ in the expr
- Rule label
severitymatches regexp^critical$ - Group has at most 1 rules
- Alert has labels:
escalate
- Rule labels does not have empty values