繁体   English   中英

如何在 Azure Monitor 中跨 Log Analytics 和 Application Insights 进行查询

[英]How to Query Across Log Analytics and Application Insights in Azure Monitor

此答案总结了 App Insights (AI) 和 Log Analytics (LA) 正在合并为一项服务。 它还提供了一个建议,即 AI 中的新资源可以指向 LA,以便您的所有代码都在一个地方。

我的问题是如何跨 LA 和 AI 资源进行查询,因为两者都存在,并且您没有时间或权限将 AI 更改为指向 LA。

使用 Azure 工作簿,我意识到我可以从 LA 或 AI 内部的多个资源进行查询,但我似乎无法在一个单元格中跨 LA 和 AI 进行查询(也无法在单元格之间保存结果。)

目前我能想到的解决这个问题的唯一方法是通过 API 查询或加入 PBI 报告,但这两种方法都是完成探索性查询的巨大开销。 有没有更简单的方法,最好是同时留在 Kusto 查询中?

Azure Monitor是跨资源查询的一站式商店。

以前使用 Azure Monitor,只能分析当前工作区中的数据,这限制了你跨订阅中定义的多个工作区进行查询的能力。 此外,您只能直接在 Application Insights 或 Visual Studio 中使用 Application Insights 搜索从基于 Web 的应用程序收集的遥测项目。 这也使得在本地同时分析操作和应用程序数据成为一项挑战。

现在,你不仅可以跨多个 Log Analytics 工作区查询,还可以查询来自同一资源组、另一个资源组或另一个订阅中的特定 Application Insights 应用的数据。 这为您提供了系统范围的数据视图。 您只能在Log Analytics 中执行这些类型的查询。

若要在查询中引用另一个工作区,请使用工作区标识符,对于来自 Application Insights 的应用,请使用应用标识符。

例如,您可以从任何资源实例中查询多个资源,这些资源可以是工作区和应用程序组合,如下所示。

// 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

有关详细信息,请参阅

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM