Kusto 按类型而不是按名称查询多个资源

Kusto query multiple resources by type, not by name

我编写了一个简单的查询来显示来自多个 Application Insights 实例的异常:

app('app_insights_name_1').exceptions
| more unions here
| union app('app_insights_name_n').exceptions
| where timestamp > ago(24h)
| summarize count() by problemId, appName
| sort by count_ desc

我还设法编写了一个查询来查找所有 App Insights 实例,我希望第一个查询针对 运行:

resources
| where type in ~('microsoft.insights/components', 'microsoft.insights')
| where(resourceGroup in ~('dev', 'test'))

我认为不可能合并这两个查询,但我想知道是否可以查询一个或多个资源中给定类型的所有实例的异常表(或 Trace 或任何其他)的并集团体?

从概念上讲,我希望得到类似于以下查询的内容:

resources
| where type in ~('microsoft.insights/components', 'microsoft.insights')
| where(resourceGroup in ~('dev', 'test'))
| MAGIC_HERE : get union of all exception tables from above 
| where timestamp > ago(24h)
| summarize count() by problemId, appName
| sort by count_ desc

按照下面的建议tech community blog,您可以使用工作簿集成日志分析和 Azure 资源图。

app 表达式在 Azure Monitor 查询中用于从同一资源组、另一个资源组或另一个订阅中的特定 Application Insights 应用检索数据。这对于在 Azure Monitor 日志查询中包含应用程序数据以及在 Application Insights 查询中跨多个应用程序查询数据很有用。

Resources 是 Azure 中的 table 资源图资源管理器服务之一,旨在通过提供高效和高性能的资源探索以及跨给定集合大规模查询的能力来扩展 Azure 资源管理订阅,以便您可以有效地管理您的环境。这些查询提供以下功能:

  • 能够根据资源属性通过复杂的过滤、分组和排序来查询资源。
  • 能够根据治理要求迭代探索资源。
  • 能够评估在广阔的云环境中应用策略的影响。
  • 能够 detail changes made to resource properties(预览)。

这里是参考git hub创建应用洞察工作书籍。