System to Collect Performance Metrics from Thousands of Servers — System Design Interview Practice
Design a distributed system to collect, aggregate, and monitor performance metrics from thousands of servers. Work through the requirements, architecture trade-offs, and an interactive design review.
Requirements and concepts to consider
- Collect metrics from thousands of serversRequirement
- Support CPU, memory, disk, network metricsRequirement
- Real-time aggregation and visualizationRequirement
- Alerting on threshold violationsRequirement
- Historical data storage and analysisRequirement
- Custom metrics supportRequirement
- Handle billions of data points per dayRequirement
- Dashboard for monitoringRequirement
- monitoringConcept to explore
- metricsConcept to explore
- time seriesConcept to explore
- distributed systemsConcept to explore
- performanceConcept to explore