第 5 章 在连接链接中配置追踪
您可以通过在 OpenShift Service Mesh 中启用追踪,以及 Authorino 和 Limitador 的连接链接组件,将 trace 定向到中央收集器以提高可观察性和故障排除。
您必须在您要使用连接链接的每个 OpenShift 集群上执行这些步骤。
先决条件
- 您已配置了 Grafana 仪表板,如 第 4 章 配置可观察性仪表板和警报 所述。
- 已安装 trace 收集器,如 Tempo 或 Jaeger,并配置为支持 OpenTelemetry。如需了解更多详细信息,请参阅 OpenShift Service Mesh tracing 文档。
步骤
通过配置
Telemetry
自定义资源在 OpenShift Service Mesh 中启用追踪,如下所示:apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata: name: mesh-default namespace: gateway-system spec: tracing: - providers: - name: tempo-otlp randomSamplingPercentage: 100
apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata: name: mesh-default namespace: gateway-system spec: tracing: - providers: - name: tempo-otlp randomSamplingPercentage: 100
Copy to Clipboard Copied! 在
Istio
自定义资源中的 OpenShift Service Mesh 中配置追踪扩展Provider
,如下所示:apiVersion: operator.istio.io/v1alpha1 kind: Istio metadata: name: default spec: namespace: gateway-system values: meshConfig: defaultConfig: tracing: {} enableTracing: true extensionProviders: - name: tempo-otlp opentelemetry: port: 4317 service: tempo.tempo.svc.cluster.local
apiVersion: operator.istio.io/v1alpha1 kind: Istio metadata: name: default spec: namespace: gateway-system values: meshConfig: defaultConfig: tracing: {} enableTracing: true extensionProviders: - name: tempo-otlp opentelemetry: port: 4317 service: tempo.tempo.svc.cluster.local
Copy to Clipboard Copied! 重要您必须在服务端口
名称或
appProtocol
字段中设置 OpenTelemetry 收集器协议,如 OpenShift Service Mesh 文档所述。例如,在使用 gRPC 时,端口名称应该以grpc-
开头,或者appProtocol
应该为grpc
。在
Authorino
自定义资源中启用请求追踪,并将身份验证和授权追踪发送到中央收集器,如下所示:apiVersion: operator.authorino.kuadrant.io/v1beta1 kind: Authorino metadata: name: authorino spec: tracing: endpoint: rpc://tempo.tempo.svc.cluster.local:4317
apiVersion: operator.authorino.kuadrant.io/v1beta1 kind: Authorino metadata: name: authorino spec: tracing: endpoint: rpc://tempo.tempo.svc.cluster.local:4317
Copy to Clipboard Copied! 在
Limitador
自定义资源中启用请求追踪,并将速率限制 trace 发送到中央收集器,如下所示:apiVersion: limitador.kuadrant.io/v1alpha1 kind: Limitador metadata: name: limitador spec: tracing: endpoint: rpc://tempo.tempo.svc.cluster.local:4317
apiVersion: limitador.kuadrant.io/v1alpha1 kind: Limitador metadata: name: limitador spec: tracing: endpoint: rpc://tempo.tempo.svc.cluster.local:4317
Copy to Clipboard Copied! 注意确保追踪收集器与 OpenShift Service Mesh 发送 trace 相同,以便稍后可以关联它们。
应用更改后,将重新部署 Authorino 和 Limitador 组件,并启用了追踪。
重要trace ID 目前没有传播到 OpenShift Service Mesh 中的 Wasm 模块。这意味着传递给 Limitador 的请求没有相关的父追踪 ID。但是,如果 trace 启动点不是 Service Mesh,则父追踪 ID 可用于限制并包含在 trace 中。这会影响到来自 Limitador 的 trace,以及来自 Authorino、网关以及请求路径中的任何其他组件。
其他资源
- 如需了解更多详细信息,请参阅 OpenShift Service Mesh Observability 文档。