How do you design a metrics monitoring system for 100,000 servers?
I’ve shared my approach here: https://engineering.by-tech.workers.dev/articles/metrics-monitoring-system-design/
Here’s the high-level flow:
- Agents collect metrics; a durable message queue buffers them.
- A time-series database stores metrics for dashboard queries.
- A stream processor evaluates alert rules independently of dashboard storage.
- Notification workers deliver alerts and retry failed sends.
- Older measurements become summaries to keep storage manageable.
I also cover capacity planning, push vs. pull collection, data retention, and recovery from failures - along with alert rules for sustained spikes and missing data, since a brief CPU spike needs a different response from prolonged overload.

Top comments (0)