Query regarding Azure module in Metricbeat

Hi There,

For Azure Module in metricbeat, we are required to create a service principal with relevant access permissions in order to access metrics data from Azure.

In case of Azure setup with multiple ADs, how do we monitor data?
Is it possible to use a single AD to access setup over other ADs or can we configure multiple Service principal details in metricbeats azure module configuration?

With the help of azure monitor metricset, can we access metrics from all APIs mentioned in below link

Also, for billing metric, does it support data retrieval for pay as you go subscriptions?
What all data can we fetch out from the Azure Consumption APIs mentioned in the link below?
https://docs.microsoft.com/en-us/rest/api/consumption/

Any suggestions, would be really helpful.

@MarianaD Could we get your help on this one please :slightly_smiling_face:

Hi @Kaiyan_Sheng and @MarianaD,
Hope to hear back from you soon.

Also, for billing metric, does it support data retrieval for pay as you go subscriptions?
What all data can we fetch out from the Azure Consumption APIs mentioned in the link below?
Azure Consumption REST APIs | Microsoft Docs

I do not believe so, we've created an issue regarding updating the Azure SDK version to one that supports more subscription types, still waiting.
Provide 2019-10-01 version of consumption APIs · Issue #12452 · Azure/azure-sdk-for-go (github.com)

Not sure if this was a question:

With the help of azure monitor metricset, can we access metrics from all APIs mentioned in below link

Yes, that should be the list of namespaces/metrics the metric API will return.

In case of Azure setup with multiple ADs, how do we monitor data?
Is it possible to use a single AD to access setup over other ADs or can we configure multiple Service principal details in metricbeats azure module configuration?

I believe you can configure multiple configurations (service principal details) in one azure module config file. Ex:

- module: azure
  metricsets:
  - compute_vm
  enabled: true
  period: 300s
  client_id: 'azureclient1'
  client_secret: 'clientsecret1'
  tenant_id: 'azuretenant1'
  subscription_id: 'subscription1'
  refresh_list_interval: 600s

- module: azure
  metricsets:
  - compute_vm_scaleset
  enabled: true
  period: 300s
  client_id: 'azureclient2'
  client_secret: clientsecret2'
  tenant_id: 'azuretenant2'
  subscription_id: 'subscription2'
  refresh_list_interval: 600s

Hello @MarianaD ,

Thank you so much. This was indeed helpful.

I just have a few more queries. Would really appreciate it, if you can help with those as well.

In the module configurations, "period" refers to Time grain and the "refresh_list_interval" The time gap each REST API Call Correct?

How do we specify the time range of data (ex: data for last 1 hour) to be fetched or is there any default range?

Hope to hear back from you soon.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.