检测应用以进行监视

已完成

在基本级别,“检测”只是使应用程序能够捕获遥测数据。 检测应用程序有两种方法:

  • 自动检测
  • 手动检测

自动检测通过配置启用遥测数据收集,而不会触及应用程序的代码。 虽然该方法更方便,但其可配置性较低。 它也不适用于所有语言。 请参阅自动检测支持的环境和语言。 当自动检测可用时,这是启用 Azure Monitor Application Insights 的最简单方法。

手动检测对 Application Insights 或 OpenTelemetry API 进行编码。 在用户的上下文中,它通常是指在应用程序中安装特定于语言的 SDK。 这意味着必须自行管理更新到最新包版本的工作。 如果需要进行自定义依赖项调用或 API 调用,这些调用默认未使用自动调用捕获,则可以使用此选项。 手动检测有两个选项:

通过 Application Insights SDK 启用

只需在以下情况下安装 Application Insights SDK:

  • 需要自定义事件和指标
  • 需要控制遥测流
  • 自动检测不可用(通常是因为存在语言或平台限制)

若要使用 SDK,需要在应用中安装一个小型检测包,然后检测 Web 应用、任何后台组件和网页中的 JavaScript。 应用及其组件不必托管在 Azure 中。 检测使用唯一令牌监视应用并将遥测数据定向到 Application Insights 资源。

GitHub 上托管 SDK 版本和名称的列表。 有关详细信息,请访问 SDK 版本

通过 OpenTelemetry 启用

Microsoft 与两个以前常用的开源遥测项目(OpenCensusOpenTracing)中的项目利益干系人合作。 我们一起帮助创建了一个项目 OpenTelemetry。 OpenTelemetry 包括所有主要云和应用程序性能管理 (APM) 供应商发布的内容,并由云原生计算基金会 (CNCF) 运营。 Microsoft 是 CNCF 的白金成员。

由于 OpenTelemetry 上的行业整合,Application Insights 中的一些旧术语会引起混淆问题。 下表突出显示了这些差异。 OpenTelemetry 术语将替换 Application Insights 术语。

Application Insights OpenTelemetry
自动收集器 检测库
频道 导出程序
无代码/基于代理 自动检测
跟踪 日志
请求 服务器范围
依赖项 其他范围类型(客户端、内部等)
操作 ID 跟踪 ID
ID 或操作父级 ID 范围 ID