Design a Distributed Metrics Logging and Aggregation System — System Design Interview Practice
Design a system to collect, store, and analyze metrics from thousands of distributed 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 different metric types (counters, gauges, histograms)Requirement
- Real-time aggregation and analysisRequirement
- Query metrics by time range and dimensionsRequirement
- Alerting based on metric thresholdsRequirement
- Visualization and dashboardsRequirement
- Handle billions of data points per dayRequirement
- Long-term storage for historical dataRequirement
- monitoringConcept to explore
- metricsConcept to explore
- time seriesConcept to explore
- distributed systemsConcept to explore
- analyticsConcept to explore