KQL Azure 工作簿:按订阅筛选 AppInsights 跨资源查询
KQL Azure Workbook: Filtering AppInsights cross-resource query by subscription
我想按 Azure 工作簿中设置的订阅工作簿参数筛选 ApplicationInsights 资源。我没有看到有关如何执行此操作的文档,有人有解决方案吗?
我的跨资源查询采用以下形式。我需要按 subscriptionId 进行过滤,结果 table 没有参数,我该如何过滤?
union withsource=SourceApp
app('Contoso-app1').requests,
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests
| parse SourceApp with * "('" applicationName "')" *
| where success = False
提前致谢。
在遗留应用程序洞察实例中,任何遥测项目的 appName
属性 具有以下结构:
/subscriptions/<subscriptionId>/resourcegroups/<resourceGroup>/providers/microsoft.insights/components/<appInsightsName>
但是,正如您和我发现的那样,有时 appName
只反映名称而不是资源 ID。不管怎样,只要填好,就可以用来得到你想要的东西。
通过使用 split()
函数,我们可以提取 subscriptionId 并使用 where
创建过滤器,如下所示:
union withsource=SourceApp
app('Contoso-app1').requests,
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests
| parse SourceApp with * "('" applicationName "')" *
| extend subscription = split(appName, "/")[2]
| where subscription == "<a subscriptionId>"
基于工作区的应用程序洞察实例有一个 属性 _ResourceId
可以使用,而不是 appName
。如果您使用的是旧实例,convert it to a Workspace based application insights instance 和新(!)日志条目将得到此 _ResourceId
属性:
union withsource=SourceApp
app('Contoso-app1').requests,
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests
| parse SourceApp with * "('" applicationName "')" *
| extend subscription = split(_ResourceId, "/")[2]
| where subscription == "<a subscriptionId>"
我想按 Azure 工作簿中设置的订阅工作簿参数筛选 ApplicationInsights 资源。我没有看到有关如何执行此操作的文档,有人有解决方案吗?
我的跨资源查询采用以下形式。我需要按 subscriptionId 进行过滤,结果 table 没有参数,我该如何过滤?
union withsource=SourceApp
app('Contoso-app1').requests,
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests
| parse SourceApp with * "('" applicationName "')" *
| where success = False
提前致谢。
在遗留应用程序洞察实例中,任何遥测项目的 appName
属性 具有以下结构:
/subscriptions/<subscriptionId>/resourcegroups/<resourceGroup>/providers/microsoft.insights/components/<appInsightsName>
但是,正如您和我发现的那样,有时 appName
只反映名称而不是资源 ID。不管怎样,只要填好,就可以用来得到你想要的东西。
通过使用 split()
函数,我们可以提取 subscriptionId 并使用 where
创建过滤器,如下所示:
union withsource=SourceApp
app('Contoso-app1').requests,
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests
| parse SourceApp with * "('" applicationName "')" *
| extend subscription = split(appName, "/")[2]
| where subscription == "<a subscriptionId>"
基于工作区的应用程序洞察实例有一个 属性 _ResourceId
可以使用,而不是 appName
。如果您使用的是旧实例,convert it to a Workspace based application insights instance 和新(!)日志条目将得到此 _ResourceId
属性:
union withsource=SourceApp
app('Contoso-app1').requests,
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests
| parse SourceApp with * "('" applicationName "')" *
| extend subscription = split(_ResourceId, "/")[2]
| where subscription == "<a subscriptionId>"