The Anxious Thermometer: On the Danger of Monitoring a Symptom Alone
There is a particular kind of low-grade alarm that sets in when you’re watching a single number on a dashboard. It’s the tremor in the hand of the parent holding a thermometer to a child’s forehead, eyes locked on the mercury’s slow climb. The number is all that exists. 100. 101. 101.5. The world shrinks to that one, terrible, glowing digit. In our world of digital services, we have our own thermometers: a latency graph, a CPU utilization chart, an error rate percentage. They give us a simple, quantifiable answer to a complex question: Is the system sick? But what if, in our fixation, we’re treating the fever while the infection spreads unnoticed?
This is the danger of monitoring a symptom alone. A thermometer tells you the body is running hot, but it doesn't tell you if the cause is a common cold or a more serious internal issue. Similarly, a spike in latency might tell you that users are experiencing slowness, but it doesn’t tell you if the root is a misconfigured database index, a saturated network link, a memory leak in a new deployment, or a sudden, legitimate surge in traffic from a viral post. By treating the symptom—say, by hastily adding more server capacity—we might lower the temperature, providing temporary relief. The latency graph settles back into its happy green band. But if the cause was a memory leak, we’ve only bought a few hours of peace before the next crisis. The underlying illness remains, growing stronger.
From Thermometers to Stethoscopes
The practice we need to cultivate is more akin to that of a diagnostician than a parent with a thermometer. A doctor doesn’t just take a temperature; they ask about other symptoms, listen to the heart and lungs, and run tests. They seek correlation and, more importantly, causation. Our monitoring must evolve in the same way. This is the essence of moving from simple uptime checking to true observability.
Instead of just watching the latency number, we must build a system that allows us to ask: What is causing the latency? When latency spikes, can I instantly see a corresponding change in database query times, garbage collection cycles, or concurrent request counts? Can I trace a single, slow request as it winds its way through the labyrinth of microservices, pinpointing the exact service and function where the delay occurred? This richer, interconnected view transforms a solitary symptom into a narrative of cause and effect.
The anxious focus on a single metric is born from a desire for simplicity in a complex system. A single number is easy to understand, to alert on, to graph. But complex systems defy simplicity. They are living, breathing ecosystems of interdependent parts. To care for them properly, we must put down the anxious thermometer and pick up the full diagnostic toolkit. We must learn to listen not just for the fever, but for the whispers of the system itself, the subtle signs that tell the true story long before the numbers scream.
Notes & further reading
A few pages I came back to while writing this:
- Stamford, CT
- The Librarian's First Patron: On the Unsung Quiet of a Known Good State
- Washington, DC
- The Gardener's Watering Can and the Fire Sprinkler: On the Deluge and the Drop of an Alert
- one area's overview
- The Humming Refrigerator: On the Background Signal of a Healthy Home
- a practical rundown
- Little Rock, AR
- Gilbert, AZ
- Peoria, AZ
- Surprise, AZ
- Elk Grove, CA
- Pasadena, CA