Azure Metrics Integration

Hi there!

After reading and reading documentation, I still have doubts about what is the best way to obtain metrics (NO LOGS) from Azure resources (MySQL as service, CosmoDB, etc).

I see a lot of documentation but no clear and easy paths.

Metricbeat seems to be the best but it's not easy to configure (many metric names, metricsets, etc).

Elastic-Agent (quite similar to metricbeat but with the advantage of using fleet).

Any recommendation on how to obtain metrics (not logs) of Azure services/resources?

I am using Elastic cloud with Native Azure integration

Thank you all!

Hi @SebastianMrtnz!

Let me try to help you with your goal of collecting and ingesting metrics from Azure.

I will double-check with the team, but AFAIK the Native Azure Integration allows users to send logs to Elasticsearch, but not the metrics; however, we still have Metricbeat and the Elastic Agent on our side!

So Metricbeat vs. Elastic Agent, which one to pick? This question can have several answers, depending on the context and the time we ask it.

I suggest starting with the Elastic Agent and falling back to Metricbeat only if you get into an edge case better served with Metricbeat.

Spoiler alert: right now, the Agent is using Metricbeat behind the scenes, so the Agent should be able to do everything Metricbeat can.

For metrics, the Agent comes with a pre-configured set of packages for the most used metrics, for example:

These "specialized" packages have built-in metrics configuration and are ready to work out of the box.

If you need container instance metrics, install the package, and you're ready to go. So usually, the first thing to do is look through the available packages and see if "there's a app package for it."

If your metrics are unavailable in any existing package today, there is still an option. There is a configurable package called Azure Monitor Metrics.

The Azure Monitor Metrics package has a configuration section where users can insert the configuration to query and fetch metrics from Azure Monitor. It is very flexible and allows users to collect various metrics; see Azure Monitor Metrics | Elastic Documentation for more details.

We can double-check if any of the metrics you're interested in are available in a package; otherwise, we can start configuring the generic Azure Monitor integration. The work done here could eventually end up in a dedicated integration.