A distributed time series database, query engine, and metrics platform with Prometheus and Graphite compatibility.
M3 is a distributed time series database and metrics platform that provides scalable storage, aggregation, and querying for observability data. It solves the problem of managing high-volume metrics at scale while maintaining compatibility with popular monitoring tools like Prometheus and Graphite.
Platform engineers, SREs, and DevOps teams building large-scale monitoring infrastructure who need scalable time series storage beyond single-node Prometheus deployments.
Developers choose M3 for its horizontal scalability, native Prometheus integration, and comprehensive feature set that combines storage, aggregation, and querying in a single platform, eliminating the need for multiple specialized tools.
M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
M3's distributed architecture allows it to handle high-cardinality metrics at scale, with sharding and replication built in, making it suitable for large observability workloads.
It offers seamless integration with Prometheus via a sidecar for remote write and long-term storage, allowing teams to scale beyond single-node limitations without changing their existing setup.
Full compatibility with Graphite metrics storage and query patterns enables easy migration from legacy systems, as documented in the integrations section.
The built-in metrics aggregator provides real-time downsampling and aggregation for high-volume pipelines, reducing storage costs and query latency.
Getting started requires multiple Docker commands and API calls, as shown in the quickstart guide, which can be daunting for users unfamiliar with distributed systems.
M3 lacks native dashboards or UI tools; it focuses on storage and querying, forcing users to integrate external visualization solutions like Grafana for end-to-end monitoring.
Running a distributed TSDB necessitates ongoing maintenance, tuning, and monitoring, which may not justify the effort for smaller deployments with simpler needs.