
微软宣布在 Azure 逻辑应用程序(Azure Logic Apps,标准和混合)和 Azure 函数(Azure Functions,公开预览)中扩展对 OpenTelemetry 的支持。
OpenTelemetry(OTel),是一个在云原生计算基金会(CNCF)下的开源可观测性框架,提供了一种标准化的方法来生成、收集和导出日志、指标(尽管指标导出目前在逻辑应用程序中尚不支持)和追踪。通过抽象出特定于供应商工具,OpenTelemetry 实现了与各种可观测性后端的互操作性,包括 Azure Monitor、Grafana Tempo 和 Jaeger。
对于 Azure 逻辑应用程序,特别是混合或本地部署的应用,以及 Azure 函数,OTel 提升了超越默认应用程序洞察(Application Insights)遥测的诊断能力,促进了主机和应用程序代码之间更好的关联,并实现了一致的、基于标准的数据处理。
在 Azure 逻辑应用程序(标准和混合)和 Azure 函数中配置 OpenTelemetry 涉及更新 host.json 文件以启用"telemetryMode": "OpenTelemetry",并定义 OTLP 导出器端点(OTEL_EXPORTER_OTLP_ENDPOINT)和可选头部(OTEL_EXPORTER_OTLP_HEADERS)的应用设置。这可以通过 Visual Studio Code 或直接通过 Azure 门户完成,以适应特定的托管环境(工作流标准计划、应用服务环境 v3 或混合容器)。

(来源:微软 Techcommunity博客文章)
微软在 OpenTelemetry 方面的战略投资不仅限于逻辑应用程序和函数,旨在为其云产品提供全面和标准化的可观测性方法。此外,Azure 提供了一套产品,用于以标准化的方式收集遥测数据,并通过 Azure Monitor 和本地工具上精心策划的体验来消费这些数据。
这一战略的关键组成部分包括:
Azure Monitor OpenTelemetry Distro:这是微软定制的、支持的和开源的 OpenTelemetry SDK 版本,推荐给大多数客户使用。它通过将 OTel SDK/API 与.NET、Java、JavaScript(Node.js)和 Python 的日志、指标和追踪的插桩库捆绑在一起,简化了启用过程。使用这个发行版的自动插桩解决方案也集成到了 Java 和 Python 应用的 App 服务中,以及 Java 函数中。
Azure SDKs:这些 SDK 使用 OpenTelemetry API 进行插桩,以实现端到端的可观测性,所有支持的语言都发出 HTTP 和/或消息追踪语义。
.NET Aspire:这个固执的云原生堆栈默认包含 OpenTelemetry 的可观测性。其“开发人员仪表板”允许在调试期间实时观察 OpenTelemetry 信号,支持使用任何 OTel 支持的语言的应用程序。
Azure Monitor Application Insights:Azure 的应用程序性能监控(APM)解决方案利用 OpenTelemetry 增强了应用程序映射(架构的视觉概述)和事务搜索(用于识别问题)等体验。
Azure 容器应用程序:提供了一个 OpenTelemetry 代理,它可以通过环境变量自动收集并导出数据到任何 OTLP 支持的端点,无需手动配置。
边缘和多云场景:像 OpenTelemetry 收集器、Azure Data Explorer 导出器和 Azure Monitor 管道在边缘(公共预览)之类的解决方案,有助于从边缘环境中获取大规模数据和路由
微软的 David Fowler,Azure 开发领域的杰出人物,最近在推特上写道:
我们正在为 Aspire 中的 Azure 函数构建一流的支持,这让我非常兴奋。我们正在做出改变,以在任何地方启用开放遥测,并无缝地针对各种模拟器进行本地开发。
目前,逻辑应用程序中的 OpenTelemetry 支持 HTTP、服务总线和事件中心触发器类型,指标导出尚不可用。对于 Azure 函数,OpenTelemetry 支持还处于预览阶段,存在一些限制,例如当主机配置为 OTel 时,Azure 门户不支持日志流或最近的函数调用追踪。
原文链接:
https://www.infoq.com/news/2025/06/otel-azure-logic-apps-functions/
评论