Azure 应用程序 Insights 中的用户行为分析工具疑难解答

本文提供有关 Application Insights 中用户行为分析工具的常见问题的解答。 这些工具包括:

对用户进行计数

用户行为分析工具显示我的应用有一个用户/会话,但我知道我的应用有许多用户/会话。 如何修复这些不正确的计数?

Application Insights 中的所有遥测事件都有一个 匿名用户 ID 和一个 会话 ID 作为其两个标准属性。 默认情况下,所有使用情况分析工具都基于这些 ID 对用户和会话进行计数。 如果这些属性未使用应用的每个用户和会话的唯一 ID 填充,你将在使用情况分析工具中看到不正确的用户和会话计数。

如果要监视 Web 应用,最简单的解决方案是 将 Application Insights JavaScript SDK 添加到 应用。 确保脚本代码片段已加载到要监视的每个页面上。 JavaScript SDK 自动生成匿名用户和会话 ID,然后在从应用发送时使用这些 ID 填充遥测事件。

如果监视 web 服务 (没有用户界面) , 请创建一个遥测初始值设定项,根据服务的唯一用户和会话概念填充匿名用户 ID 和会话 ID 属性

如果你的应用正在发送 经过身份验证的用户 ID,则可以根据用户工具中的经过身份验证的用户 ID 进行计数。 在 “显示 ”下拉列表中,选择“ 经过身份验证的用户”。

用户行为分析工具目前不支持基于匿名用户 ID、经过身份验证的用户 ID 或会话 ID 以外的属性对用户或会话进行计数。

命名事件

我的应用具有数千个不同的页面视图和自定义事件名称。 很难区分它们,并且用户行为分析工具通常会变得无响应。 如何解决这些命名问题?

页面视图和自定义事件名称在整个用户行为分析工具中使用。 正确命名事件对于从这些工具获取价值至关重要。 目标是在“按钮单击”) (太少的泛型名称与 (“编辑按钮单击'http://www.contoso.com/index”) )之间取得平衡。

若要对应用发送的页面视图和自定义事件名称进行任何更改,请更改应用的源代码并重新部署。 Application Insights 中的所有遥测数据将存储 90 天,无法删除,因此对事件名称所做的更改将需要 90 天才能完全显示。 更改名称后的 90 天内,旧事件名称和新事件名称将显示在遥测中。 请务必相应地调整查询并在团队中进行通信。

如果应用发送的页面视图名称过多,检查查看这些页面视图名称是在代码中手动指定的,还是由 Application Insights JavaScript SDK 自动发送:

  • 如果使用 trackPageView API 在代码中手动指定页面视图名称,请将名称更改为不太具体。 避免常见错误,例如将 URL 放在页面视图的名称中。 而是在 API 中 trackPageView 将 URL 指定为参数。 将页面视图名称中的其他详细信息移到自定义属性中。

  • 如果 Application Insights JavaScript SDK 自动发送页面视图名称,则可以更改页面的标题,或切换到手动发送页面视图名称。 默认情况下,SDK 会将每个页面的 标题 作为页面视图名称发送。 你可以将游戏更改为更通用,但请注意 SEO 和此更改可能带来的其他影响。 使用 trackPageView API 手动指定页面视图名称会覆盖自动收集的名称,这意味着可以在遥测中发送更多通用名称,而无需更改页面标题。

如果应用发送的自定义事件名称过多,请将代码中的名称更改为不太具体。 同样,避免将 URL 和其他每页或动态信息直接放在自定义事件名称中。 相反,请使用 trackEvent API 将这些详细信息移动到自定义事件的自定义属性中。 例如,建议类似 appInsights.trackEvent("Edit button clicked", { "Source URL": "http://www.contoso.com/index" })的内容,而不是 appInsights.trackEvent("Edit button clicked on http://www.contoso.com/index")

后续步骤

获取帮助

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。