Choosing a monitoring stack you will not regret

2026-03-02 · 6 min read

Every monitoring stack looks fine in a demo. The regret arrives eighteen months later, when the bill is large, the dashboards are stale, and nobody trusts the alerts. Choosing well is mostly about optimising for the boring long term rather than the exciting first week.

Start from questions, not tools

Before naming a single product, write down the questions the system must answer at 3am. "Is the service up?" "Is it slower than usual, and where?" "What changed recently?" A stack that answers those crisply beats one with a hundred panels nobody opens.

Three signals, one home

Metrics, logs and traces each earn their place, but they should live in one coherent place with a shared notion of a service:

If moving between them means copying identifiers by hand across three tools, engineers will stop doing it under pressure — which is exactly when they need it.

Alert on symptoms, not causes

Alerting on every cause produces a pager that everyone mutes. We alert on user-facing symptoms tied to service-level objectives, and let causes surface during investigation. A good rule of thumb: if an alert fires and the user would not have noticed, it should have been a dashboard, not a page.

Budget for retention

The cost of observability is dominated by how much you keep and for how long. Decide retention deliberately per signal — high-resolution metrics for weeks, sampled traces, and logs tiered by importance — rather than keeping everything forever by default.

Our baseline

For most teams we land on Prometheus and Grafana for metrics and dashboards, OpenTelemetry for traces, and a tiered log pipeline. It is not the only good answer, but it is well understood, portable, and cheap to reason about — which is what you want from the system that watches everything else.

← Back to all notes