第 10 章 将 OpenTelemetry SDK 与 APIcast 集成


OpenTelemetry SDK 与 APIcast 集成启用遥测数据的导出,以深入了解系统性能和行为。APIcast 依赖于 NGINX OpenTelemetry 追踪库。这种集成有助于识别和解决性能问题,从而提高系统稳定性。

先决条件

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

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jaeger
  labels:
    app: jaeger
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jaeger
  template:
    metadata:
      labels:
        app: jaeger
    spec:
      containers:
        - name: jaeger
          image: jaegertracing/all-in-one:latest
          env:
            - name: JAEGER_DISABLED
              value: "false"
            - name: COLLECTOR_OTLP_ENABLED
              value: "true"
          imagePullPolicy: Always
          ports:
            - containerPort: 16686
            - containerPort: 4317
apiVersion: v1
kind: Service
metadata:
  name: jaeger
  labels:
    app: jaeger
spec:
  ports:
    - port: 16686
      name: http
    - port: 4317
      name: internal
  selector:
    app: jaeger
EOF

Jaeger 服务实例将部署在端口 4317 以及端口 16686 的 3scale 管理门户中侦听 OTLP/gRPC 跟踪。

追踪标头示例:

"Traceparent": "00-4335058ae8ec72f9636d8c0da08c62be-137a4beaae638572-01",

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.