启用 Azure Monitor Application Insights 真实用户监视
Microsoft Azure Monitor Application Insights JavaScript SDK 收集使用情况数据,使你能够监视和分析 JavaScript Web 应用程序的性能。 这通常称为真实用户监视或 RUM。
Application Insights JavaScript SDK 具有一个基本 SDK 和多个插件,用于提供更多功能。
默认情况下,收集页面浏览量。 但如果想在默认情况下收集点击量,请考虑添加“点击分析自动收集插件”:
- 如果要添加框架扩展(可以在按照下面的步骤开始操作后添加),则可以选择在添加框架扩展时添加“点击分析”。
- 如果不添加框架扩展,请在按照步骤开始操作后添加“点击分析”插件。
我们提供用于调试/测试的调试插件和性能插件。 在极少数情况下,可以通过添加自定义插件来生成自己的扩展。
- Azure 订阅:创建 Azure 试用版订阅
- Application Insights 资源:创建 Application Insights 资源
- 使用 JavaScript 的应用程序
按照本节中的步骤,使用 Application Insights JavaScript SDK 检测应用。
可使用两种方法通过 Application Insights JavaScript SDK 来添加代码以启用 Application Insights:
方法 | 什么时候使用此方法? |
---|---|
JavaScript (Web) SDK 加载程序脚本 | 对于大多数客户,建议使用 JavaScript (Web) SDK 加载程序脚本,因为永远不必更新 SDK,并且可以自动获得最新更新。 还可以控制将 Application Insights JavaScript SDK 添加到哪些页面。 |
npm 包 | 希望将 SDK 引入代码并启用 IntelliSense。 只有需要更多自定义事件和配置的开发人员才需要使用此选项。 如果计划使用 React、React Native 或 Angular Framework 扩展,则需要此方法。 |
使用以下命令安装 Microsoft Application Insights JavaScript SDK - Web 包。
npm i --save @microsoft/applicationinsights-web
Typings 已包含在此包中,因此无需安装单独的 typings 包。
将以下 JavaScript 添加到应用程序的代码中。
添加此 JavaScript 代码的位置和方式取决于应用程序代码。 例如,你可以完全按照下面显示的方式添加它,也可能需要围绕它创建包装器。
import { ApplicationInsights } from '@microsoft/applicationinsights-web' const appInsights = new ApplicationInsights({ config: { connectionString: 'YOUR_CONNECTION_STRING' /* ...Other Configuration Options... */ } }); appInsights.loadAppInsights(); appInsights.trackPageView();
要在环境中粘贴连接字符串,请执行以下步骤:
导航到 Application Insights 资源的“概览”窗格。
找到“连接字符串”。
选择“复制到剪贴板”图标以将连接字符串复制到剪贴板。
将 JavaScript 代码中的占位符
"YOUR_CONNECTION_STRING"
替换为复制到剪贴板的连接字符串。connectionString
格式必须遵循“InstrumentationKey=xxxx;....”。 如果提供的字符串不符合此格式,则 SDK 加载过程将失败。该连接字符串不被视为安全令牌或密钥。 有关详细信息,请参阅新的 Azure 区域是否需要使用连接字符串?。
备注
Application Insights JavaScript SDK 要求在初始化和配置期间传入连接字符串。 可在客户端浏览器中以纯文本形式查看它。 没有一种简单的方法可以将基于 Microsoft Entra ID 的身份验证用于浏览器遥测。 如果你需要保护服务遥测,建议你考虑为浏览器遥测创建单独的 Application Insights 资源。
可选的 SDK 配置在初始化期间传递给 Application Insights JavaScript SDK。
若要添加 SDK 配置,请直接在 connectionString
下添加每个配置选项。 例如:
如果想使用插件为特定框架提供的其他功能,并选择启用“Click Analytics 插件”,请参阅:
转到已为其启用 SDK 的 Application Insights 资源。
在左侧 Application Insights 资源菜单中的“调查”下,选择“事务搜索”窗格。
打开“事件类型”下拉菜单,然后选择“全部选择”以清除菜单中的复选框。
在“事件类型”下拉菜单中,选择:
- Azure Monitor Application Insights 真实用户监视的页面视图
- Click Analytics 自动收集插件的自定义事件。
数据可能在数分钟后才会显示在门户中。 如果显示的唯一数据是加载失败异常,请参阅排查 JavaScript Web 应用的 SDK 加载失败问题。
在某些情况下,如果不同版本的 Application Insights 的多个实例在同一页面上运行,则初始化过程中可能会出现错误。 对于这些情况和出现的错误消息,请参阅在一个会话中运行多个版本的 Application Insights JavaScript SDK。 如果遇到其中一个错误,请尝试使用
name
设置更改命名空间。 有关详细信息,请参阅 JavaScript (Web) SDK 加载程序脚本配置。如果要查询数据以确认数据是否流动:
在左侧面板中选择“日志”。
选择“日志”时,将打开“查询”对话框,其中包含与你的数据相关的示例查询。
为要运行的示例查询选择“运行”。
如果需要,可以使用 KQL Kusto 查询语言 (KQL) 更新示例查询或编写新查询。
有关基本 KQL 运算符,请参阅了解常见的 KQL 运算符。
本部分提供常见问题的解答。
- JavaScript SDK 在 Web 客户端上设置了用于识别返回用户的用户 cookie,以及用于对活动进行分组的会话 cookie。
- 如果没有客户端脚本,可以在服务器设置 cookie。
- 如果某个真实的用户在不同的浏览器中使用站点,或者使用私密/隐身浏览,或使用不同的计算机,则会进行多次计数。
- 若要识别跨计算机和浏览器登录的用户,请添加对 setAuthenticatedUserContext() 的调用。
Application Insights JavaScript SDK 在网站上的开销最小。 该 SDK 经过压缩后只有 36 KB,只需大约 15 毫秒即可完成初始化,在网站中的加载时长可忽略不计。 使用该 SDK 时,系统会快速加载库的极少组件,并在后台下载完整脚本。
此外,从 CDN 下载脚本时,对页面的所有跟踪都会排队,因此在页面的整个生命周期内都不会丢失任何遥测数据。 此设置过程可为页面提供一个无缝分析系统,而用户察觉不到该系统。
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|
Chrome 最新版 ✔ | Firefox 最新版 ✔ | v3.x:IE 9+ & Microsoft Edge ✔ v2.x:IE 8+ 兼容和 Microsoft Edge ✔ |
Opera 最新版 ✔ | Safari 最新版 ✔ |
如需查看可运行的示例,请参阅 Application Insights JavaScript SDK 示例。
我们需要采取必要的措施来确保此 SDK 继续“工作”,并且在由旧版浏览器加载时不会中断 JavaScript 执行。 不支持早期的浏览器是理想做法,但有众多的大客户无法控制其用户选择使用的浏览器。
这样说并不意味着我们仅支持最少量的常用功能集。 我们需要保持 ES3 代码的兼容性。 新功能需要以不会中断 ES3 JavaScript 分析的方式添加,且需作为可选功。
有关 Internet Explorer 8 支持的完整详细信息,请参阅 GitHub。
是的,Application Insights JavaScript SDK 是开源的。 若要查看源代码或是对项目做贡献,请参阅官方 GitHub 存储库。
- 如果无法运行应用程序或未能按预期获得数据,请参阅专门的故障排除文章。
- 有关 JavaScript SDK 的常见问题,请参阅常见问题解答。
- 有关 Azure 支持问题,可打开 Azure 支持票证。
- 有关 Application Insights JavaScript SDK 的未决问题列表,请参阅 GitHub 问题页面。
- 使用遥测查看器扩展列出网络有效负载中的单个事件,并监视 Application Insights 中的内部调用。
- 探索 Application Insights 使用体验
- 跟踪页面查看数
- 跟踪自定义事件和指标
- 插入 JavaScript 遥测初始值设定项
- 添加 JavaScript SDK 配置
- 有关更新和错误修复,请参阅 GitHub 上的详细发行说明。
- 在 Log Analytics 中查询数据。