本文为您介绍 Apache APISIX opentelemetry 插件概念以及如何如何开启和部署 opentelemetry 插件。
背景信息
Apache APISIX 是一个动态、实时、高性能的 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。作为 API 网关,Apache APISIX 不仅拥有众多实用的插件,而且支持插件动态变更和热插拔。
OpenTelemetry 是一个开源的遥测数据采集和处理系统,它不仅提供了各种 SDK 用于应用端遥测数据的收集和上报,以及数据收集端用于数据接收、加工和导出,还支持通过配置导出到任意一个或者多个已经适配 OpenTelemetry Exporter 的后端,比如 Jaeger、Zipkin、OpenCensus 等。您可以在 opentelemetry collector contrib 库中查看已经适配 OpenTelemetry Collector 的插件列表。

插件介绍
Apache APISIX opentelemetry 插件是基于 OpenTelemetry 原生标准(OTLP/HTTP)实现的 Tracing 数据采集,并通过 HTTP 协议发送至 OpenTelemetry Collector。该功能将在 Apache APISIX 2.13.0 版本中上线支持。
由于 OpenTelemetry 的 Agent/SDK 与后端实现无关,当应用集成了 OpenTelemetry 的 Agent/SDK 之后,用户能够在应用侧无感知的情况下轻松地、自由地变更可观测性后端服务,比如从 Zipkin 切换成 Jaeger。
opentelemetry 插件在 Apache APISIX 中集成了 OpenTelemetry Agent/SDK,可以实现采集被追踪的请求生成 trace 后转发到 OpenTelemetry Collector。
opentelemetry 插件位于上图中的 Agent 侧,但目前仅支持 trace 协议,还不支持 OpenTelemetry 的 logs 和 metrics 协议。
如何使用
启用插件
您需要在 conf/config.yaml 配置文件中启用 opentelemetry 插件并修改 collector 配置。
假设您已经完成 OpenTelemetry Collector 的部署,并且启用了 OTLP HTTP Receiver。
如果您未完成部署,可参考下一节的场景示例部分,完成 OpenTelemetry Collector 的部署。
其中 OTLP HTTP Receiver 的默认端口为4318,collector 的地址为 OpenTelemetry Collector 的 HTTP Receiver 地址,相关字段可参考 Apache APISIX 官方文档。
plugins
... # 已经启用的其它插件
- opentelemetry
plugin_attr:
...
openteleme

本文介绍了 Apache APISIX 如何集成 OpenTelemetry 插件,实现 Tracing 数据采集并通过 HTTP 发送至 Collector。用户可轻松变更可观测性后端服务,支持多种启用和配置方式,包括绑定路由、全局规则和自定义标签。Apache APISIX 的这一更新增强了其作为 API 网关的可观测性能力。
最低0.47元/天 解锁文章
1275

被折叠的 条评论
为什么被折叠?



