A developer's first look at M3

One of the newest products on the Aiven platform is M3. As a distributed time series database it's ideal for storing the ever-growing number of data points that we collect in—and about—modern applications. Read developer advocate Lorna Mitchell's first impressions about M3, and how it could be useful for you.

21 July 2021
Lorna Mitchell
Lorna Mitchell RSS Feed
Developer Advocate at Aiven

What immediately strikes me about M3 is how it is designed to fit in alongside the other tools in a likely architecture. It has interfaces to match the ones we already know and love from Prometheus and InfluxDB. The integration with Grafana is also seamless.

It's as if M3 is designed to painlessly upgrade individual components of our existing data platform.

M3 speaks Prometheus

Prometheus is commonly used for server monitoring. If your platform is already sending data to Prometheus, then changing the data store to M3 will be painless. A server agent such as Telegraf can send data to M3 via its Prometheus write endpoints just as easily as it sends data to Prometheus itself.

There's nothing shiny here, because the intentional reuse of protocols does not make good headlines. It does however make excellent integrations and successful migration projects, and I know which I prefer from the tools I choose!

As our platforms scale and grow, so do our monitoring data requirements. Since we outgrew our previous solution, Aiven now uses M3 in an observability setup. We think this platform could be very useful for other organisations on a similar journey.

M3 speaks InfluxDB

Whether you are replacing an existing InfluxDB for your time series data or metrics, or adopting M3 and making use of one of the existing tools that integrates with InfluxDB, M3 is here for you. The compatible wire protocol enables both seamless migrations of existing platforms and easy adoption of M3 as a time series database platform in a new application.

InfluxDB is a mature platform and there are several libraries and integrations available. Since those will also work for M3, the learning curve for pushing data into the application is pretty flat. I found this makes M3 with all its incredible features and scalability a surprisingly approachable offering.

Grafanical ease of integration

The thing about time series data is that there's rather a lot of it. That's even more true if you're building at a scale that needs M3. Luckily, the Aiven platform makes it very simple to link the M3 service with a Grafana dashboard using the Prometheus read API that M3 offers. This brings your data into Grafana, alongside any other data sources that you're already using, and lets you start visualising what's going on in your application.

M3 builds on all these existing integrations and adds some magical scalability into the mix. This makes M3 a very exciting prospect for developers, and it's a platform I'll be building on again in the future.

Further reading

Wrapping up

Not using Aiven services yet? Sign up now for your free trial at https://console.aiven.io/signup!

In the meantime, make sure you follow our changelog and blog RSS feeds or our LinkedIn and Twitter accounts to stay up-to-date with product and feature-related news.

Start your free 30 day trial

Test the whole platform for 30 days with no ifs, ands, or buts.

Aiven logo

Let‘s connect

Apache Kafka, Apache Kafka Connect, Apache Kafka MirrorMaker 2, M3, M3 Aggregator, Apache Cassandra, Elasticsearch, PostgreSQL, MySQL, Redis, InfluxDB, Grafana are trademarks and property of their respective owners. All product and service names used in this website are for identification purposes only and do not imply endorsement.