你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Application Insights 中的搜索

事务搜索是 Application Insights 中的一项功能,可用于查找和浏览单个遥测项,例如页面视图、异常或 Web 请求。 你还可以查看已编码的日志跟踪和事件。

若要对数据进行更复杂的查询,请使用 Log Analytics

可以在 Azure 门户 或 Visual Studio 中找到“搜索”。

在 Azure 门户中

可以从应用程序的 Application Insights“概述”选项卡打开事务搜索。 还可以在左侧菜单中的“调查”下选择“搜索”。

显示“搜索”选项卡的屏幕截图。

转到“事件类型”下拉菜单,查看遥测项列表,例如服务器请求、页面视图、你已编码的自定义事件。 “结果”列表的顶部是摘要图表,显示一段时间内的事件计数。

退出下拉菜单或选择“刷新”以获取新的事件。

在 Visual Studio 中

在 Visual Studio 中,也有一个“Application Insights 搜索”窗口。 该窗口最适合显示由正在进行调试的应用程序生成的遥测事件, 但也可显示从 Azure 门户的已发布应用收集的事件。

在 Visual Studio 中打开“Application Insights 搜索”窗口:

显示 Visual Studio 打开到“Application Insights 搜索”的屏幕截图。

“Application Insights 搜索”窗口的功能与 Web 门户类似:

显示 Visual Studio 的“Application Insights 搜索窗口”的屏幕截图。

打开请求或页面视图时,“跟踪操作”选项卡便可供使用。 “操作”是一系列与单个请求或页面视图关联的事件。 例如,依赖项调用、异常、跟踪日志和自定义事件可能是单个操作的一部分。 “跟踪操作”选项卡以图形方式显示与请求或页面视图相关的这些事件的计时和持续时间。

检查单个项

选择任一遥测项可查看关键字段和相关的项。

单个依赖项请求的屏幕截图。

此时会打开“端到端事务详细信息”视图。

筛选事件类型

打开“事件类型”下拉菜单,选择要查看的事件类型。 如果稍后要还原筛选器,请选择“重置”。

事件类型包括:

  • 跟踪:诊断日志,包括 TrackTrace、log4Net、NLog 和 System.Diagnostic.Trace 调用。
  • 请求:服务器应用程序收到的 HTTP 请求,包括页面、脚本、图像、样式文件和数据。 这些事件用于创建请求和响应概述图表。
  • 页面视图:Web 客户端发送的遥测数据,用于创建页面视图报告。
  • 自定义事件:如果插入了对 TrackEvent() 的调用以便监视使用情况,可以在此处搜索这些调用。
  • 异常:未捕获到的服务器中的异常,以及使用 TrackException() 记录的异常。
  • 依赖项:来自服务器应用程序的调用(调用对象为 REST API 或数据库等其他服务),以及来自客户端代码的 AJAX 调用。
  • 可用性:可用性测试的结果。

按属性值筛选

可以按事件的属性值筛选事件。 可用的属性取决于所选的事件类型。 选择“筛选器”“筛选器”图标以开始。

不选择特定属性的任何值与选择所有值的效果相同; 这会关闭根据该属性进行筛选的功能。

请注意,筛选器值右侧的计数显示当前筛选的集内有多少个出现的项。

查找具有相同属性的事件

若要查找具有相同属性值的所有项,请在“搜索”框中输入该属性值,或者在“筛选”选项卡上浏览属性时选中相应的复选框。

显示如何在“筛选器”选项卡上选中属性的复选框的屏幕截图。

搜索数据

注意

若要编写更复杂的查询,请在“搜索”窗格的顶部打开“日志(分析)”

可以搜索任何属性值中的关键词。 如果你已编写包含属性值的自定义事件,则此功能非常有用。

你可能希望设置时间范围,因为搜索一小段时间内的值可以更快地返回结果。

显示如何打开诊断搜索的屏幕截图。

搜索完整单词,而不搜索子字符串。 使用引号将特殊字符引起来。

String 未找到 已找到
HomeController.About home
controller
out
homecontroller
about
"homecontroller.about"
United States Uni
ted
united
states
united AND states
"united states"

可以使用以下搜索表达式:

示例查询 效果
apple 在该时间范围中查找字段包含“apple”一词的所有事件。
apple AND banana
apple banana
查找同时包含这两个词的事件。 应使用大写“AND”,而不是“and”。
简格式。
apple OR banana 查找包含任一词的事件。 使用“OR”而非“or”。
apple NOT banana 查找包含一个词但不包含另一个词的事件。

采样

如果应用生成大量遥测且使用的是 ASP.NET SDK 版本 2.0.0-beta3 或更高版本,自适应采样模块将通过仅发送具有代表性的事件部分来自动减少发送到门户的数据量。 与同一请求相关的事件是以组为单位进行选择或取消选择的,以便你可以在相关事件之间导航。

了解采样

创建工作项

可以使用任何遥测项中的详细信息,在 GitHub 或 Azure DevOps 中创建 Bug。

通过单击任何遥测项转到端到端事务详细信息视图。 然后选择“创建工作项”。

屏幕截图显示了“创建工作项”。

首次执行此步骤时,系统将要求配置指向 Azure DevOps 组织和项目的链接。 还可以在“工作项”选项卡上配置此链接。

将更多遥测数据发送到 Application Insights

除了 Application Insights SDK 原本发送的遥测数据以外,可以:

  • .NETJava 中偏好的日志记录框架捕获日志跟踪。 也就是说,可以搜索日志跟踪并将其与页面视图、异常和其他事件相关联。

  • 编写代码用于发送自定义事件、页面视图和异常。

了解如何向 Application Insights 发送日志和自定义的遥测数据

问题解答

找到常见问题的答案。

会保留多少数据?

请参阅限制摘要

如何查看服务器请求中的 POST 数据?

我们不自动记录 POST 数据,但可以使用 TrackTrace 或日志调用。 POST 数据放在消息参数中。 无法像筛选属性一样筛选消息,但消息的大小限制更大。

后续步骤