什么是 Azure Monitor Application Insights 自动检测?

通过自动检测,Application Insights 可以使遥测(如指标、请求、依赖项)在 Application Insights 资源中可用。 它提供对应用程序仪表板应用程序映射等体验的轻松访问。

术语“autoinstrumentation”是一个混成词,这是一种语言混合,即多个单词的部分组合成一个新单词。 “Autoinstrumentation”结合了“auto”和“instrumentation”。它在软件可观测性方面得到了广泛应用,同时,它还阐述了无需开发人员手动编码即可向应用程序中添加检测代码的过程。

“autoinstrumentation”(自动检测)过程因语言和平台而异,但通常涉及 Azure 门户中的切换按钮。 以下示例显示了一个切换按钮,用于 Azure 应用服务自动检测。

显示“Application Insights”选项卡的屏幕截图,其中选择了“启用”。

提示

本文中不提供所有语言和平台的自动检测细节。 请选择“支持的环境、语言和资源提供程序”表中的相应链接以获取详细信息。 在许多情况下,默认启用 autoinstrumentation。

autoinstrumentation 有哪些优点?

  • 不需要更改代码。
  • 不需要访问源代码。
  • 不需要更改配置。
  • 不再需要进行检测维护。

支持的环境、语言和资源提供程序

下表显示了自动检测可用性的当前状态。

每个受支持的方案都有更多信息的链接。

注意

如果托管环境或资源提供程序未在下表中列出,则不支持自动检测。 在这种情况下,我们建议使用 Azure Monitor OpenTelemetry 分发版进行手动检测。 有关详细信息,请参阅 Azure Monitor Application Insights 的数据收集基本信息

环境/资源提供程序 .NET Framework .NET Core/.NET Java Node.js Python
Windows 上的 Azure 应用服务 - 作为代码发布 ✅  ¹ ✅  ¹ ✅  ¹ ✅  ¹
Windows 上的 Azure 应用服务 - 作为 Docker 发布 ✅  ² ✅  ² ✅  ² ✅  ²
Linux 上的 Azure 应用服务 - 作为代码发布 ✅  ¹ ✅  ¹ ✅  ¹ ✅  ²
Linux 上的 Azure 应用服务 - 作为 Docker 发布 ✅ 🔗 ✅ 🔗 ✅ 🔗
Azure Functions - 基本 ✅  ¹ ✅  ¹ ✅  ¹ ✅  ¹ ✅  ¹
Azure Functions - 依赖项 ✅ 🔗
Azure Spring Apps ✅ 🔗
Azure Kubernetes 服务 (AKS) ✅ 🔗
Azure VM (Windows) ✅  ² ³ ✅  ² ³ ✅ 🔗
本地 VM Windows ✅  ³ ✅  ² ³ ✅ 🔗
独立代理 - 任何环境 ✅ 🔗

脚注

  • ¹:Application Insights 默认打开且自动启用。
  • ²:此功能目前为公共预览版。 请参阅 Azure 预览版补充使用条款
  • ³:必须部署和配置代理。

注意

在 2021 年 10 月之前,自动检测称为“无代码附加”。

常见问题解答

术语“autoinstrumentation”是否应添加连字符?

对于发布到 Microsoft Learn 平台的产品文档,我们遵循 Microsoft 风格指南

总之,“auto”前缀后面无需包含连字符。

后续步骤