0
votes

When querying from a particular application insights appInsights1, after I select the application insights appInsights1 from Azure Portal, I can use union * | where timestamp > ago(1h) to query all different types of telemetry data within recent 1 hour. Sweet.

If I want to query cross the application insights appInsights1 & appInsights2, I can do union *, app('appInsights2').requests, app('appInsights2').traces | where timestamp > ago(1h).

But what i really wanna achieve here is to have something like, union *, app('appInsights2').* | where timestamp > ago(1h), to query all different types of telemetry data from appInsights2 as well. But MS doesn't allow app('appInsights2').* here. Not sure why, even union * is perfect ok. Anyway, is there a way i can do it, rather than list all types in a tedious long way, like app('appInsights2').requests, app('appInsights2').traces, app('appInsights2').exceptions, ....

1

1 Answers

1
votes

I'm Meir from the Azure Monitor product group.

I understand the need but we have limited support for "*" tables, especially when it comes to cross-app queries. These queries are very intensive in compute and IO, much more than queries that specify table names. This substantially intensify when more than one app/workspace is involved.

Our recommendation today is to funnel all your App Insights into one or few Log Analytics Workspaces: https://docs.microsoft.com/en-us/azure/azure-monitor/app/create-workspace-resource In this mode, the workspace may contain tens if not hundreds of tables, but you don't have to union across apps.

Thanks, Meir