Cover for alert annotations and notification templates, with observe, decide and act steps.

Annotations explain an alert without changing its identity

Alert labels identify which condition is being tracked and provide fields for routing and grouping. Annotations explain that condition: a current value, a concise summary, or a runbook link. Putting changing prose in labels can split one ongoing problem into many identities. Putting routing fields only in annotations can leave a route unable to recognize the alert’s intended owner. ...

February 22, 2028 · 6 min · XB Field Notes
Cover for alert routing, with observe, decide and act steps.

Alertmanager routes alerts through a label-matching tree

Alertmanager selects notification receivers by walking a routing tree against an alert’s labels. The tree expresses ownership and escalation policy, while receivers describe notification integrations. A configuration can parse correctly and still send the wrong class of alert to the wrong destination. Verify the label contract and tree behavior before treating a successful reload as evidence that routing works. ...

December 8, 2027 · 4 min · XB Field Notes
Cover for alert state and notification delivery, with observe, decide and act steps.

Prometheus rules track alert state before notification delivery

An alerting rule evaluates a PromQL expression and tracks the returned label sets over time. Prometheus decides whether each resulting alert is pending or firing. Alertmanager receives alert information and handles notification routing, grouping, silencing, and inhibition. A reliable investigation follows those stages separately: a firing alert is evidence of rule state, not proof that a person received a message. ...

September 1, 2027 · 5 min · XB Field Notes
Cover for alert grouping and silences, with observe, decide and act steps.

Alertmanager grouping batches alerts while silences suppress notifications

One incident can produce many alerts, but a group is not proof that those alerts have one cause. Alertmanager groups alerts according to configured labels and routing context so their notifications can be handled together. The original alert identities remain available inside the group. Silences add another operation: they suppress matching notifications for a time window without resolving the underlying conditions. ...

July 27, 2027 · 6 min · XB Field Notes
Cover for metric staleness and alert waiting, with observe, decide and act steps.

Prometheus staleness and alert waiting are different mechanisms

A missing metric is not a numeric zero. Prometheus distinguishes a series with a recent value, a series marked stale, and a selector with no usable sample. Alerting then applies its own evaluation and waiting rules. Treating all these mechanisms as one universal grace period produces alerts that miss disappearing targets or report an outage without establishing what actually disappeared. ...

February 3, 2027 · 4 min · XB Field Notes