I have the same Azure Function App deployed to multiple regions. Should I set one instance of Azure Application Insights for all regions or multiple instances, one for each region?
2 Answers
Before considering using one instance, you'd need to evaluate whether the telemetry flow produced by all functions is under the existing limits for a single Application Insights resource such as throttling (32K/s events currently) and/or overall data size per day (100GB currently).
You may want to modify some charts in AI experiences (where possible, e.g. in Metric Explorer) to split/group by region or some other property that will allow you to differentiate issues between regions quickly on the same chart.
Additionally, I'd suggest building some custom charts with the right breakdowns in Analytics query language and pinning them to "multi-region" dashboard for a quick look over all regions reporting to the same Application Insights resource.
Edit: With the recent billing changes in Application Insights, my understanding is that billing meters are per subscription per region. That would mean that splitting AI resources across several regions may leverage free allowance on each meter rather than on a single meter. However, I'm not fully certain and it would require some validation.
I think you just need to set one instance of Application Insights for all regions.
I create two function apps which located at East Asia and Central US. Then I use an Application Insight which location is East Asia to Monitor them, it works fine on my side. I find them via Metrics Explorer, you could refer to the screenshots.
- Function1
- Function2