带 Azure Monitor 的 OpenTelemetry

Azure Monitor在两种补充方法中支持 OpenTelemetry。

首先,Azure Monitor 现已提供原生 OpenTelemetry 协议(OTLP)数据引入路径,因此,您可以借助开源 OpenTelemetry Collector、Azure Monitor 代理,或针对已使用开源 OpenTelemetry SDK 进行插桩的应用程序提供的 Azure Kubernetes 服务 (AKS) 集成接入体验,将标准 OpenTelemetry 日志、指标和跟踪发送到 Azure Monitor。

其次,Azure Monitor 支持 Microsoft OpenTelemetry 分发版,这是一种 OpenTelemetry 客户端分发版本,其中包含了 AI 代理和传统应用程序与 Azure Monitor 实现完全集成所需的所有必需开源组件和 Microsoft 组件。 通过这些选项,可以选择供应商中立的 OTLP 路径或由 OpenTelemetry 组件提供支持的Microsoft支持的检测路径。 这两种方法都支持Azure Monitor中的调查、分析和可视化工作流。

原生支持 OpenTelemetry 并提供 OTLP 引入能力

Azure Monitor支持使用 OTLP(用于传输日志、指标和跟踪的开放标准)直接引入 OpenTelemetry 信号。 此路径适用于已使用开源 OpenTelemetry SDK、需要供应商中立检测或跨多个环境的开放源代码工具标准化的团队。 Azure Monitor 可以通过 AKS 集成接入、虚拟机和启用了 Arc 的服务器上的 Azure Monitor 代理,或者通过 Azure Monitor 云引入终结点直接接收来自开源 OpenTelemetry Collector 的 OTLP 信号。

  • 支持供应商中立的遥测管道和可移植检测做法。
  • 将指标存储在Azure Monitor工作区(Prometheus 数据存储)中,可以使用 PromQL 进行查询并在 Grafana 中进行可视化。
  • 使用 OpenTelemetry 语义约定将日志和跟踪存储在Azure Monitor Log Analytics中,使分析在工具和环境中更加一致。
  • 借助开源 OpenTelemetry 收集器,可在 AKS、Azure 虚拟机、虚拟机规模集、启用 Azure Arc 的服务器及其他环境中运行。
  • 系统会将所有遥测数据路由至 Azure Monitor,以便你可使用 Application Insights、日志分析、带有 Grafana 的 Azure Monitor 仪表板(内置于 Azure 门户)以及 Azure 托管 Grafana。

Important

  • 只有 AMA 和 AKS 路径处于 预览状态。 其他路径(Microsoft OpenTelemetry 分发版和 OpenTelemetry 收集器)已正式发布。 预览版功能在没有服务级别协议的情况下提供,不建议用于生产工作负荷。
  • 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

Microsoft OpenTelemetry 发行版

Microsoft OpenTelemetry 发行版包括开源 OpenTelemetry 检测和其他组件,用于.NET、Node.js和Python。 它为Microsoft的可观测性解决方案添加了特定于Microsoft的功能、集成和默认值。 使用此发行版,你可以采用 OpenTelemetry 检测,同时受益于经过验证并得到Microsoft正式支持的解决方案。 Microsoft尽可能为上游开源 SDK 提供增强功能,但官方支持仅适用于Microsoft发布的发行版(.NET、Node.js和Python)。

  • 捆绑了用于跟踪、指标、日志和异常的检测库和导出程序。
  • 包括其他 Azure Monitor 功能,例如应用程序性能分析、指标实时流式传输、跟踪采样,以及对引入数据的高级 Azure 基于角色的访问控制 (Azure RBAC)
  • 简化了需要Microsoft支持和优化路径的团队的设置和配置。

此路径尤其适用于想要采用新式 OpenTelemetry 检测而无需放弃Azure Monitor功能的团队。 如果使用 Azure Monitor OpenTelemetry 发行版,API 几乎完全相同,因此你可以交换新的 Microsoft OpenTelemetry 发行版的包。

选择正确的选项

Microsoft OpenTelemetry 发行版由 Microsoft 全面支持,确保你能够充分发挥 Azure Monitor 的价值。 但是,某些团队需要使用社区组件进行供应商中立的检测和多云支持。 在这些情况下,直接 OTLP 引入是正确的选择。

  • 如果你是现有的 Application Insights 客户:如果你希望迁移到 OpenTelemetry,同时保留 Azure Monitor 的丰富体验,并继续使用 AI 代理专用可观测性工作流等新功能,那么 Microsoft OpenTelemetry 发行版是最合适的选择。 有关详细信息,请参阅启用 Microsoft OpenTelemetry Distro
  • 如果你采用供应商中立的 OpenTelemetry: OTLP 引入,则可以保留开源 SDK 和标准管道,同时使你能够将遥测数据发送到Azure Monitor,并利用 Application Insights 工作流和现成的仪表板进行会审和故障排除。
  • 如果你使用 Prometheus 和 Grafana 运行云原生工作负载:Azure Monitor OTLP 数据引入包含一个用于 Prometheus 指标的 Azure Monitor 工作区,并支持通过 Azure 门户中的内置 Azure Monitor 仪表板结合 Grafana,或通过 Azure 托管 Grafana 进行可视化,帮助你在使用 Azure 托管服务的同时,保持与开源可观测性模式一致。

Azure Monitor 对 OpenTelemetry 的支持涵盖检测接入、数据引入、存储和可视化。 选择与团队的开源或支持Microsoft首选项匹配的路径。