这个答案总结说,App (AI)和Log (LA)正在合并成一个服务。它还提供了一个建议,即AI中的新资源可以指向LA,因此您的所有代码都在一个地方。
我的问题是,我如何在LA和AI资源之间进行查询,因为两者都存在,而且您没有时间或权限将AI更改为指向LA。
使用Azure工作簿,我意识到我可以从LA或AI中的多个资源进行查询,但我似乎无法在一个单元格中查询LA和AI (也无法保存单元间的结果)。
目前,我认为解决这一问题的唯一方法是通过API进行查询或加入PBI报告,但这两种方法都是完成探索性查询的巨大开销。是否有更简单的方法,最好是在Kusto查询中停留?
发布于 2020-09-04 15:40:10
Azure监视器是您跨资源查询的一站式商店。
以前使用Azure Monitor时,您只能分析当前工作区中的数据,这限制了您在订阅中定义的多个工作区进行查询的能力。此外,您只能搜索从基于web的应用程序中直接在应用程序洞察中收集的遥测项或从Visual收集的遥测项。这也使得如何将业务数据和应用程序数据一起进行本地分析也是一个挑战。 现在,您不仅可以跨多个Log工作区查询数据,还可以查询来自同一资源组、另一个资源组或其他订阅中的特定应用程序的数据。这为您提供了一个系统范围的数据视图。您只能在日志分析中执行这些类型的查询。
若要在查询中引用另一个工作区,请使用工作区标识符,对于来自Application的应用程序,请使用应用程序标识符。
例如,您可以从任何资源实例中查询多个资源,这些资源可以是工作空间和应用程序的组合,如下所示。
// crossResource function that scopes my Application Insights resources
union withsource= SourceApp
app('Contoso-app1').requests,
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests或者说,
union Update, workspace("contosoretail-it").Update, workspace("b459b4u5-912x-46d5-9cb1-p43069212nb4").Update
| where TimeGenerated >= ago(1h)
| where UpdateState == "Needed"
| summarize dcount(Computer) by Classification或者说,
applicationsScoping
| where timestamp > ago(12h)
| where success == 'False'
| parse SourceApp with * '(' applicationName ')' *
| summarize count() by applicationName, bin(timestamp, 1h)
| render timechart有关详细信息,请参阅这。
https://stackoverflow.com/questions/63742764
复制相似问题