Menu Close
7.2. 使用 Jaeger 追踪请求
和 OpenShift Serverless 一起使用 Jaeger,您可以在 OpenShift Container Platform 上为无服务器应用程序启用 分布式追踪。
分布式追踪记录了一个请求在组成一个应用程序的多个微服务间的路径。
它被用来将不同工作单元的信息串联在一起,理解分布式事务中整个事件链。工作单元可能会在不同进程或主机中执行。
开发人员可以使用分布式追踪,在大型架构中视觉化调用流。这对理解序列化、平行和延迟来源非常有用。
有关分布式追踪的更多信息,请参阅 分布式追踪架构和 安装分布式追踪。
7.2.1. 配置 Jaeger 用于 OpenShift Serverless
先决条件
要配置 Jaeger 以用于 OpenShift Serverless,您需要:
- OpenShift Container Platform 集群的集群管理员权限。
- OpenShift Serverless Operator 和 Knative Serving 的当前安装。
- Jaeger Operator 的当前安装。
流程
创建并应用包含以下内容的
Jaeger
自定义资源(CR):Jaeger CR
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger namespace: default
通过编辑
KnativeServing
CR 并添加用于追踪的 YAML 配置来启用 Knative Serving 的追踪:追踪 YAML 示例
apiVersion: operator.knative.dev/v1alpha1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: config: tracing: sample-rate: "0.1" 1 backend: zipkin 2 zipkin-endpoint: http://jaeger-collector.default.svc.cluster.local:9411/api/v2/spans 3 debug: "false" 4
验证
您可以使用 jaeger
路由来访问 Jaeger web 控制台以查看追踪数据。
输入以下命令来获取
jaeger
路由的主机名:$ oc get route jaeger
输出示例
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD jaeger jaeger-default.apps.example.com jaeger-query <all> reencrypt None
- 在浏览器中使用端点地址来查看控制台。