Three investigations where monitoring was misleading the people who relied on it
Observability only helps if the signal is right. These three cases each found a different way monitoring was misleading people: too much noise, data in the wrong place, and an average hiding the thing that was on fire.
Symptom. A production service's most frequent transaction was a 404. It had been returning 404s, and never a success, for weeks, through many redeploys.
Impact. It was the single largest source of volume in that log partition, and its sub-millisecond responses skewed the service's latency percentiles. Fix: point the check at the service's real liveness endpoint.
Making the health endpoint return 503 when "Degraded" would fail every probe and send every pod into a restart loop, all over a documentation file.
Side finding: a tagged request proved a non-production service was calling a production backend because of a copied configuration value.
Symptom: "Please enable logging for dev." Reality: logging already worked, at millions of records a day from dozens of services. Every environment had its own log partition except dev, so dev logs landed in the default partition and never appeared in the picker.
Symptom: a database VM's disk alert showed about 50% used. Reality: the metric averaged across all mounts, including a large temporary disk. The data volume itself was effectively 100% full and still growing every day.
SELECT max(diskUsedPercent) FROM StorageSample
WHERE hostname LIKE '%db%' FACET mountPoint
Good observability isn't more data. It's knowing which numbers to distrust, and checking them.
About this case study: this write-up is drawn from my hands-on platform engineering experience. Organisation names, system names, figures and timelines have been changed or generalised, and all code, configuration and queries are illustrative examples written for this page.