第 10 章 将 OpenTelemetry SDK 与 APIcast 集成
OpenTelemetry SDK 与 APIcast 集成可导出遥测数据,提供对系统性能和行为的深入了解。APIcast 依赖于 NGINX OpenTelemetry 追踪库。此集成有助于识别和解决性能问题,从而提高了系统的稳定性。
先决条件
跟踪支持 APIcast exporter 跟踪器的 Collector。
-
APIcast 中唯一实施的 导出器 是 OpenTelemetry 协议(OTLP)通过 gRPC (远程过程调用)
OTLP/gRPC。 -
APIcast 不使用 OTLP over HTTP (
OTLP/HTTP)。 -
如果现有收集器不支持 APIcast
OTLP/gRPC跟踪,则需要一个 OpenTelemetry Collector 作为追踪代理。
-
APIcast 中唯一实施的 导出器 是 OpenTelemetry 协议(OTLP)通过 gRPC (远程过程调用)
10.1. 用于部署侦听 OTP 和 gRPC 跟踪的 Jaeger 服务示例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Jaeger 1.35 或更高版本支持 trace 收集器,其中包括 APIcast 导出器功能。现在,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 和 3scale 管理门户上的端口 16686 中部署侦听 OTLP/gRPC 跟踪。
追踪标头示例:
"Traceparent": "00-4335058ae8ec72f9636d8c0da08c62be-137a4beaae638572-01",
"Traceparent": "00-4335058ae8ec72f9636d8c0da08c62be-137a4beaae638572-01",