Azure Monitor Metrics Integration Reporting interval

In Azure Monitor Metrics integration official documentation under "Data stream specific configuration notes" mentioned that "Period (reporting interval) for Metrics will have a timegrain of 5 minutes, so the 'Period' configuration option for monitor should have a value of '300s'"
If I have one resource which supports metrics with different timegrains, for example, one metrics supports only PT5M, another one PT1M and some supports only PT1H or even PT1D - does it change something in ingested data values if several metrics with different timegrains (PT1M, PT5M, PT1H etc.) are included in one configuration for which period at the beginning of configuration is provided as "60s" instead of "300s"? What is the logic to follow to if metrics supports different timegrains and what would be proper period configuration? Could not find detailed quidance in such case.

For example:

period: 60s
client_id: xxx
client_secret: xxx
tenant_id: xxx
subscription_id: xxx
refresh_list_interval: 60s
  - resource_query: "resourceType eq 'Microsoft.DocumentDb/databaseAccounts'"
      - name: 
          - CreateAccount
          - DeleteAccount
        timegrain: PT5M
        namespace: "Microsoft.DocumentDb/databaseAccounts"
        ignore_unsupported: true
      - name:
          - MongoRequests
        timegrain: PT1M
        namespace: "Microsoft.DocumentDb/databaseAccounts"
        ignore_unsupported: true
          - name: DatabaseName
            value: '*'
      - name:
          - ServiceAvailability
        timegrain: PT1H
        namespace: "Microsoft.DocumentDb/databaseAccounts"
        ignore_unsupported: true

@stephenb is there anyone from Elastic team who could help me to figure it out?

Hi @s.buksa
I'm not familiar with this at all. Can you at least link to the documentation you're referring to?

I guess I'd try different settings and then look and discover to see what the actual documents are doing. That's usually my way of debugging these things when I don't understand them.

Hi, thank you for your reply!
Here is the link to official documentation:
If you could suggest me someone familiar/responsible for it to consult with, it would help a lot!

I will see if I can poke around and find someone

Here is the actual code

Thank you!

Will look forward to hearing. :slight_smile:

No promises...

I will ask why you think you should define timegrain that is not a parameter as far as I can tell ... Only period which be in see you should simply set Period as a multiple of 300s

And yes you should be able to define multiple metrics with individual configurations as far as I can tell

Basically yes, you understood me correctly.

If additional comment from my side helps, then :
What I understand from source code is that metrics included in configuration contains only PT1M and PT5M. As per my understanding reporting interval provided there as 300s (PT5M) is related to highest timegrain mentioned in configuration.
However, if the timegrain in configuration is PT1H or even PT1D - would it mean that reporting interval should be equivalent to highest timegrain in configuration?
Or it could be any, even 60s (desired in my case) regardless of how many different timegrains are mentioned as supported by particular metrics.

The current version of the Azure Monitor integration works best when the period and the timegrain are aligned (PT5M with a 300s period). That's why most Azure metrics integrations try to keep one timegrain when possible [1].

However, some integrations have multiple timegrains (PT1M and PT5M). When timegrains < period, the metricset may collecte values less frequently. Instead, when timegrains > period, the metricset may collect the same value more than once.

To avoid these problems, users can set up the generic Azure Monitor integration to use aligned timegrain and period, like AWS integration does.

We are also working on an enhanced version of Azure Metrics that avoids collecting metrics more than once for the timegrains > period. This change will probably ship on 8.12.

With the updated Azure Monitor, users can collect metrics without duplicates on integrations with PT1M, PT5M, and PT1H timegrains by setting the period to 60s.

  1. The AWS integration applies this rule strictly, and "timegrain" and period are always perfectly aligned. ↩︎