gpt4 book ai didi

azure - KQL Azure 工作簿 : Filtering AppInsights cross-resource query by subscription

转载 作者:行者123 更新时间:2023-12-03 05:21:33 29 4
gpt4 key购买 nike

我想通过 Azure 工作簿中设置的订阅的工作簿参数筛选 ApplicationInsights 资源。我没有看到有关如何执行此操作的文档,有人有解决方案吗?

我的跨资源查询采用以下形式。我需要按 subscriptionId 进行过滤,但结果表中没有参数可以执行此操作,如何以这种方式进行过滤?

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 仅反射(reflect)名称而不是资源 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 - KQL Azure 工作簿 : Filtering AppInsights cross-resource query by subscription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71894941/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com