Essay · Systems in practice

An alert is not an incident

Correlate alerts without losing source events, clock uncertainty, or the ability to reject a bad grouping.

In this article
  1. Preserve the original signal
  2. Make the grouping reversible
  3. Treat time as uncertain
  4. Measure operator effort

During an incident, I want to identify the affected services, the change that preceded the failure, and the evidence connecting them. Alert counts are a poor substitute for that context. Correlation is useful when it reduces investigation time and leaves its reasoning open to inspection.

Preserve the original signal #

Correlation is a view over evidence. Keep the original alert identifier, timestamps, resource identity, and links to traces. If a grouping turns out to be wrong, an operator should be able to split it without losing context.

Make the grouping reversible #

Store source events separately from incident membership. Give each correlation decision a rule identifier, a version, and the evidence it used. An operator should be able to remove an event from a group without editing the event itself.

A shared dependency and an overlapping failure window are stronger evidence than matching alert text. Even then, retain competing explanations: a deployment may affect several services independently.

Treat time as uncertain #

Different systems report different clocks: event time, ingestion time, and processing time. A network interruption can turn old events into a sudden burst of new arrivals. Carry all three where available and label the timeline accordingly.

Measure operator effort #

An incident-correlation system can reduce alert volume while making diagnosis harder. Evaluate how quickly a person can identify the affected service, inspect supporting evidence, and reject a bad grouping.

EvaluationUseful observation
Group precisionAre the grouped symptoms actually related?
Missing evidenceDid the grouping omit a decisive signal?
Inspection effortHow many steps reveal the original event?

Review false merges as well as missed correlations. Combining two unrelated failures can send an operator down the wrong recovery path. A useful incident view exposes why events were grouped and keeps the original timeline one action away.

Related articles