M3 v1.0 released, a production ready Prometheus metrics store scalable to hundreds of nodes

Rob Skillington
Chronosphere
Published in
3 min readDec 2, 2020

M3’s journey to horizontally scale out metrics

The work of many hands and built alongside the strong primitive of Prometheus, M3 targets an increasingly demanding set of monitoring use cases. A lot has happened since development of M3 started in 2015 and the first code commit for open source M3DB in 2016.

The initial public release of M3 was in 2018 and the journey from there to M3 v1.0.0 in 2020 has been a journey of continual improvement in operability, scalability and reliability. This is alongside expanding the breadth of deployments and environments that M3 runs.

Version 1.0

M3 v1.0 provides stable APIs and configuration files which have been greatly simplified from it’s last minor release v0.15. M3DB restarts faster (per node restore 1.5M datapoints per second from journal & snapshots), indexes new series faster (per node indexing 100k/sec+ while ingesting multiplicative datapoints/sec) and has in place hard limits to keep storage nodes protected. M3 Coordinator and M3 Query v1.0 make it simple to enforce label constraints at query and ingest time. M3 Aggregator v1.0 now makes it simple to define mapping rules for conditional retention and downsampling and rollup rules for streaming aggregation exempt from continuous query time aggregation load. The Kubernetes operator has matured a lot in the last 18 months and further streamlines operating M3 in production with support for upgrading clusters alongside the existing support for deployment, expansions and downsizing of clusters.

More on M3

You can find new getting started guides (single node docker or Kubernetes cluster) on M3’s new website and documentation. To hear from end users see the LinkedIn presentation and Walmart presentation from the most recent community meetings on how they use M3. For a deep dive you can watch the CNCF webinar “Maximizing M3, a distributed metrics engine” or a number of other talks given on M3.

Thank you

I would like to thank all 89 contributors and those that contribute as part of the end user community with operational improvements and feedback. I’d like to also mention those that have put in a lot to make open source M3 what it is today in rough order of first contribution: Matt Mihic, Martin Mao, Mantas Klasavičius, Łukasz Szczęsny, Vytenis Darulis, Xi Chen, Chao Wang, Prateek Rungta, Matt Schallert, Jerome Froelich, Benjamin Raskin, Shreyas Srivatsan, Richard Artoul, Katie Tezapsidis, Celina Ward, Justin Chan, Siyu Yang, Paul Schooss, Artem Nikolayevsky, Alexander Knipping, Bert Hartmann, Mikhail Medvedev, Brian McQueen, Bo Du, Ryan Allen, Gediminias Guoba, Linas Medžiūnas, Nate Broyles, Evan Yin, Teddy Wahle.

As has been mentioned during community meetings, the strong community and frequent & direct feedback also is what makes M3 what it is today. We look forward to continuing to work together.

--

--

Rob Skillington
Chronosphere

CTO at Chronosphere and creator of open source M3.