第 10 章 将 OpenTelemetry SDK 与 APIcast 集成
OpenTelemetry SDK 与 APIcast 集成启用遥测数据的导出,以深入了解系统性能和行为。APIcast 依赖于 NGINX OpenTelemetry 追踪库。这种集成有助于识别和解决性能问题,从而提高系统稳定性。
先决条件
跟踪支持 APIcast 导出器追踪的 Collector。
-
APIcast 中唯一实现的导出是通过 gRPC (远程流程调用)
OTLP/gRPC
的 OpenTelemetry 协议(OTLP)。https://opentelemetry.io/docs/reference/specification/protocol/exporter/ -
APIcast 不使用 OTLP over HTTP (
OTLP/HTTP
)。 -
如果现有收集器不支持 APIcast
OTLP/gRPC
跟踪,则需要一个 OpenTelemetry Collector 作为追踪代理。
-
APIcast 中唯一实现的导出是通过 gRPC (远程流程调用)
10.1. 部署 OTP 和 gRPC 跟踪的 Jaeger 服务示例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Jaeger 1.35 或更高版本支持 trace 收集器,其中包括 APIcast exporter 功能。现在,Jaeger 可以通过原生的 OpenTelemetry Protocol (OTLP) over gRPC (Remote Procedure Calls) OTLP/gRPC
接收来自 OpenTelemetry SDK 的 trace 数据。
重要
以下示例不适用于生产环境。
部署 Jaeger 示例
oc apply -f - <<EOF
oc apply -f - <<EOF
Jaeger 服务实例将部署在端口 4317 以及端口 16686 的 3scale 管理门户中侦听 OTLP/gRPC
跟踪。
追踪标头示例:
"Traceparent": "00-4335058ae8ec72f9636d8c0da08c62be-137a4beaae638572-01",
"Traceparent": "00-4335058ae8ec72f9636d8c0da08c62be-137a4beaae638572-01",