当前位置: 首页 > 知识库问答 >
问题:

如何在Azure Monitor中跨日志分析和应用洞察进行查询

詹联
2023-03-14

这个答案总结了App Insights(AI)和日志分析(LA)正在合并到一个服务中。它还提供了一个建议,AI中的新资源可以指向LA,这样你的所有代码都在一个地方。

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

共有1个答案

锺宜
2023-03-14

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

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

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

若要在查询中引用另一个工作区,请使用工作区标识符,而对于来自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

有关详细信息,请参阅本文。

 类似资料:
  • 我很难理解Azure在哪里存储日志,以及如何访问和导出日志。 有什么界面我可以用吗?我已经在官方文档中研究了几个小时,但似乎找不到任何关于如何从Azure中获取数据的明确信息。 问候

  • 在Azure Portal上,在我的App Insights/Logs视图中,我可以这样查询App数据: 函数在文章app()expression in Azure Monitor Query中进行了描述。 kusto.explorer不理解函数,这似乎是因为它是Azure Monitor中的附加操作符之一。 我如何用kusto.explorer查询我的应用程序洞察/日志?我不能使用,因为它是Az

  • Azure应用程序洞察或日志分析的用例是什么? 我正在使用APIM和Azure函数,并希望对请求执行日志记录。应用洞察和日志分析哪一个最合适? https://docs.microsoft.com/en-gb/Azure/Azure-monitor/overview 更新 特别是关于APIM使用的Azure应用程序洞察与日志分析的任何信息?

  • 如何在日志分析或应用洞察中发现第一次错误。可能会出现重复写入日志文件的错误。但我希望找到不在此错误模式中的错误,并在发生时发送警报。 或者在特定时间或自定义时间内搜索这些“不同的”/不规则的错误(不一定是第一次)。 运行一个保存的kusto查询,其中包含硬编码错误消息列表(结果不匹配可列为新错误)。 创建一个包含所有现有/常见错误的数据表(在Kusto中,但它会保持存储吗?)并执行与上面相同的操作

  • 嗯,这个例子看起来很不完整,因为它从来没有提到关键字。通过查看源代码,我看到了一个示例(测试?)它在log4j.xml中使用了,但对如何使用或调试实际的记录器没有太多解释。 关于如何实际使用/实现ApplicationInsightsAppender for Log4J,有没有人有任何指示? 以下是github https://github.com/microsoft/applicationins

  • Azure应用程序使用java中的log4j框架洞察日志消息,如下所示。 https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-trace-logs