Why Your Observability Stack Is Making On-Call Worse, Not Better
There's a common assumption in platform engineering: more observability equals better on-call. More dashboards, more metrics, more alerts - surely that means fewer surprises at 2am.
It doesn't. In fact, for many SRE teams, the opposite is true. The observability stack has become part of the problem.
The Dashboard Paradox

Here's a scenario that should feel familiar. An alert fires. The on-call engineer opens five dashboards, each owned by a different team, each using slightly different metric names and time ranges. One shows latency spiking. Another shows nothing unusual. A third is stale because someone forgot to update it after last quarter's migration.
Twenty minutes in, the engineer still doesn't know what's actually broken - but they've seen a lot of graphs.
This is the dashboard paradox: the more dashboards you have, the less confidence you have in any single one. Observability sprawl doesn't give you a clearer picture. It gives you noise with extra steps.
Alert Fatigue Is a Design Failure
Alert fatigue is often treated as an inevitable side effect of running complex systems. It isn't. It's a design failure.
When every team owns their own alerting rules, thresholds drift. An alert that was tuned for a traffic pattern from 18 months ago fires constantly because nobody revisited it. A critical signal gets buried under a wave of warnings that are technically true but operationally meaningless.
The result: engineers learn to ignore alerts. They do a quick scan, dismiss the noise, and hope the one thing that actually matters isn't hiding somewhere in the middle. Sometimes it is.
A useful benchmark: if your on-call engineer can't determine the severity of an incident within the first three minutes of receiving an alert, the alert is failing at its job.
Instrumentation Without Strategy
The rise of easy-to-integrate observability tools has made it simple to add instrumentation and hard to govern it. Every new service gets its own set of custom metrics. Every team picks their own cardinality rules. Traces get emitted but nobody connects them to logs. Logs are structured differently across services because three different teams made three different decisions about what "structured" means.
By the time you have thirty microservices in production, you don't have an observability platform. You have thirty observability islands with no bridges between them.
The fix isn't more tooling - it's standardization. Agreeing on a common schema for logs, enforcing consistent trace propagation, and treating instrumentation as a platform concern rather than an individual team responsibility. This is exactly where OpenTelemetry shines when adopted strategically - as a contract, not just as a library.
Observability as a Product
The teams that get this right treat observability as an internal product. That means it has owners, it has SLAs, and it gets prioritized like any other platform capability.
In practice, this looks like: a small platform or SRE team that owns the observability stack centrally, defines standards for instrumentation, curates a small set of high-signal dashboards, and actively removes noise from the system. New dashboards require justification. Alerts require runbooks. Metrics that aren't being used get deprecated.
It sounds bureaucratic. It isn't - it's the difference between an on-call rotation that builds institutional knowledge and one that burns people out.
A Realistic Path Forward

You don't need to rebuild your entire observability stack to start making on-call better. A few high-leverage changes:
Audit your alerts. How many fired in the last 30 days? How many led to a human action? Everything that fired but didn't require action is a candidate for deletion or downgrade.
Define a single source of truth per service. One dashboard per service, owned by one team, kept current. Link to it from your runbooks. Make it the first thing an on-call engineer opens.
Enforce trace context propagation. If you can't follow a request across service boundaries, you're debugging blind. This is non-negotiable in a microservices environment.
Treat toil as a signal. If your engineers are spending more than 20% of on-call time on repetitive investigation that could be automated or prevented, that's not just inefficiency - it's data about where your observability has gaps.
More observability is not the answer. Better observability is. And the difference isn't about tools - it's about the discipline to treat your monitoring stack with the same engineering rigor you apply to everything else in production.
Let's Talk
At CloudShapers, this is exactly the kind of problem we work on with our clients every day. Whether you're dealing with alert fatigue, fragmented instrumentation, or an on-call rotation that's burning your team out - we can help you build an observability practice that actually works.
If any of this sounds familiar, we'd love to have a conversation.




Comments