Skip to content

All Rules

The Prometheus lexicon provides 36 rules: 3 lint rules and 33 post-synth checks.

IDSeverityCategoryDescription
PROM001errorsecuritya credential written as a literal in a Receiver or
PROM002errorcorrectnessa rule’s expr, written as a string literal inside a
PROM003errorcorrectnessan Slo whose literal objective, window or SLI expression can

Post-synth checks validate the serialized output after the build pipeline completes.

IDDescription
PROM101Two rule groups in one rule file share a name
PROM102Two rules share a name and label set
PROM103A rule or group duration is not a Prometheus duration
PROM104A rule expression is not valid PromQL
PROM105A rule or group is malformed
PROM106An alerting rule has no severity label
PROM107An alerting rule has no summary or description annotation
PROM201A route sends to a receiver that is not declared
PROM202An alert severity is not routed by any route
PROM203Two receivers or two time intervals share a name
PROM204A route names a time interval that is not declared
PROM205The root route is missing, has no receiver, or has matchers
PROM206A route or inhibit rule matcher does not parse
PROM207A receiver is declared but no route sends to it
PROM208An Alertmanager duration is not a duration
PROM209A receiver integration is missing its destination or credential
PROM210A receiver integration or global setting is one Alertmanager rejects
PROM211An alerting rule has no for, or for: 0s
PROM212An alerting rule has no runbook_url annotation (opt-in)
PROM213An alert expression has no comparison
PROM214An alert template reads a label the expression aggregates away
PROM215rate, irate or increase over a name that is not a counter’s
PROM216histogram_quantile over a series without _bucket, or without le
PROM217A recording rule name is not in level:metric:operations form
PROM218A regex matcher needs no regex, or is anchored
PROM219An alerting rule sets the alertname label
PROM220A receiver turns off TLS certificate verification
PROM221SMTP credentials sent with require_tls false
PROM222Credentials sent to an http:// receiver URL
PROM223repeat_interval is shorter than group_interval
PROM224An inhibit rule matches one alert as source and target, with no equal
PROM225A labeldrop or labelkeep relabel step carries a field it does not take
PROM301A rule reads a connector metric no collector in the build emits