DEV Community

Cover image for M3 for Metrics
Lorna Jane Mitchell
Lorna Jane Mitchell

Posted on

M3 for Metrics

One key use case for Aiven for M3 is for handling the monitoring data from other systems. In this post you will do just that, by setting up a PostgreSQL service and collecting metrics from it using M3. To finish the picture, Grafana will be used to inspect the data you collect.

Start with something to monitor

To begin with, you need a PostgreSQL service. It doesn't matter what you choose here since this service isn't going to do any important work, it's merely an exhibition piece to collect metrics from (sorry, PostgreSQL!).

Screenshot of creating a PostgreSQL service in the Aiven console

With a PostgreSQL service running, you can start to collect metrics from it.

Collect metrics with Aiven for M3

From the PostgreSQL service overview page, configure the metrics integration with a new M3 service:

  1. Choose Manage integrations.

  2. Locate the one named "Send service metrics to..." (not the one for receiving), and choose Use integration.

  3. When prompted, create a new M3DB service, and configure it to your liking. To minimize latency, I usually use the same cloud region as the thing I'm monitoring.

The metrics collected from PostgreSQL are now being sent to M3.

Visualize the data with Grafana

The next step is to add the dashboard integration so you can see the data you are collecting. From the M3 service overview page, let's set up a Grafana dashboard:

  1. Choose Manage integrations.

  2. Select Dashboard and then Use integration.

  3. Choose a new Grafana service, and again, configure the service to suit your needs.

Once created, you can access Grafana by opening its Service URI in a new browser tab, and logging in with the user and password listed on the service overview page. To get you started, Aiven includes a default dashboard that shows some of the most common metrics.

To access the pre-built dashboard:

  • From the left hand menu, go to the Dashboards section (4 squares) and choose Manage

  • Click on the dashboard called "Aiven PostgreSQL - [database name] - Resources"

You now have a clear view of your PostgreSQL database health.

Screenshot of the default Grafana PostgreSQL panel

Click the dashboard settings, and choose "Save As" to use this dashboard as a template for your own that you can make changes to. The default one gets reset to its original state at intervals.

The list of PostgreSQL metrics exposed to Grafana gives more information about the fields that are available.

Integrations in action

The integrations are now in place, and you can see both the data coming and the dashboard integration from the M3 service overview page.

Aiven Console showing that this service receives metrics and has a dashboard integration

Following the same approach, you can add metrics integrations to all of your other Aiven services, and send data to the M3 database you created. You can also write metrics from non-Aiven services to M3 to bring all the data you need into one place, and to visualize it with Grafana.

Further Reading

Top comments (0)