Alert metrics

Querying metrics about alerts

In addition to monitors and alerts, you can query metrics for any triggered series. The series are all under a single metric name ALERTS that you can query with PromQL as normal. The series contain metadata such as alertname, alertstate, and severity.

The value for these is only ever 1, which occurs when triggering the alert, or the alert is in a pending state. When the alert is in a passing state, the series isn't emitted.

For example, the following monitor definition emits a corresponding series with the value of 1 when triggering the alert:

Definition

monitors:
  - name: Errors per second
    labels:
      - name: priority
        value: sev-0
      - name: team
        value:
    spec:
      query:
        prometheus:
          expr: sum(rate(fetch_errors{code="4XX"}[1m]))
      series_conditions:
        defaults:
          critical:
            conditions:
              - op: GEQ
                value: 1
                sustain: 180s

Metric

ALERTS{alertname="Errors per second", alertstate="firing", code="4XX", priority="sev-0", team="A"}

The labels attached to this special ALERTS metric are a combination of the labels from the alerting time series and the labels defined in the labels section of the monitor specification.

Annotations, if defined, aren't included as part of the labels, and labels in the labels configuration override any labels on the metric itself. For example, if there's a job label on the alerting time series and a job label defined in the alert definition, the alert definition label takes priority.