Our mission at ObjectRocket is to put our customers’ databases on autopilot, so you don’t ever have to worry about your data and can just focus on building great apps. However, even if your database is on autopilot, maintaining observability of the system is still an important goal. Maintaining an accurate picture of what’s going on with your data store and what impact your latest application changes are having on the performance of your database is incredibly important.
That’s why today we’re launching our brand new metrics dashboards on our CockroachDB, PostgreSQL, and Elasticsearch products on our new platform!
What you get
The first thing you’ll notice when you log into ObjectRocket’s Mission Control is that we now have a nice Grafana Metrics option in the main menu.
Clicking the Grafana Metrics icon will open a new browser window and log you into a hosted Grafana server, using single sign-on, where you can see metrics dashboards for all of your instances on our new ObjectRocket platform.
Once you’re in Grafana, as part of your ObjectRocket subscription, you get:
- Single Sign-on between Mission Control and Grafana
- Dashboards with key metrics for all of your ObjectRocket instances
- All your metrics in one place
- Unlimited metrics retention
There’s no better way to appreciate the value of these metrics than to see it for yourself, so go sign up at https://app.objectrocket.com, create an instance, and check it out today! To learn a little more about how we did it and what we’re looking at next, read on.
How we did it
At ObjectRocket, we’ve always leaned on comprehensive metrics internally to help us manage and maintain our customers’ data stores. For those metrics, we’ve been heavy users of Prometheus; every instance that we manage exports metrics to local Prometheus servers that our support teams use to monitor and diagnose data store issues.
Though we have a wealth of data internally, a common request from our customers was access to those same metrics that we use. When we started building our new platform, we set out to deliver on that request. To get there, we had to solve a few big problems that Prometheus doesn’t: retention, global queries, and multi-tenancy.
To solve those first two, we turned to the open source project Thanos. Thanos provides the ability to query across our global fleet of Prometheus servers via a single endpoint, compact our older data to manage storage, and provide unlimited retention. It was the silver bullet we needed and it’s worked perfectly.
Multi-tenancy posed a different challenge. Grafana, our preferred front-end for dashboards, supports multi-tenancy out of the box, but Prometheus doesn’t. That’s where we rolled up our sleeves and developed a solution to fill that gap. We call it prometheus-filter-proxy and it allows us to filter for only the data that belongs to the user performing the query.
Tie all of that together with our new platform and we have all of the pieces we need to provide metrics to our customers. Though I just touched on the overall architecture above, we’re planning on follow-up content that goes into a little more depth on the architecture, challenges we faced, and decisions we made along the way. Stay tuned.
This feature addresses a huge request from our customers, but there’s still more on the way! One feature coming very soon is a subset of these metrics displayed in our new control panel, Mission Control. Though we see Grafana as the place where you’ll do the deeper metrics analysis, we’re going to put the top metrics in Mission Control so you can get a quick overview of your instances. Another feature that we’ll be delivering in the coming months is additional configurability and dashboard controls in Grafana. So, once again, sign up and check it out today!