This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.8.2. 使用 Red Hat OpenShift distributed tracing 启用分布式追踪
Red Hat OpenShift distributed tracing 由几个组件组成,它们一起收集、存储和显示追踪数据。您可以使用 Red Hat OpenShift Serverless 的 Red Hat OpenShift distributed tracing 监控无服务器应用程序并进行故障排除。
先决条件
- 您可以访问具有集群管理员权限的 OpenShift Container Platform 帐户。
- 还没有安装 OpenShift Serverless Operator、Knative Serving 和 Knative Eventing。这些需要在 Red Hat OpenShift distributed tracing 安装后安装。
- 您已按照 OpenShift Container Platform "Installing distributed tracing" 文档 安装了 Red Hat OpenShift distributed tracing。
-
已安装 OpenShift CLI(
oc
)。 - 您已创建了一个项目,或者具有适当的角色和权限访问项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。
流程
创建
OpenTelemetryCollector
自定义资源 (CR) :OpenTelemetryCollector CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证有两个 pod 在安装了 Red Hat OpenShift distributed tracing 的命名空间中运行:
oc get pods -n <namespace>
$ oc get pods -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE cluster-collector-collector-85c766b5c-b5g99 1/1 Running 0 5m56s jaeger-all-in-one-inmemory-ccbc9df4b-ndkl5 2/2 Running 0 15m
NAME READY STATUS RESTARTS AGE cluster-collector-collector-85c766b5c-b5g99 1/1 Running 0 5m56s jaeger-all-in-one-inmemory-ccbc9df4b-ndkl5 2/2 Running 0 15m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证是否已创建以下无头服务:
oc get svc -n <namespace> | grep headless
$ oc get svc -n <namespace> | grep headless
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
cluster-collector-collector-headless ClusterIP None <none> 9411/TCP 7m28s jaeger-all-in-one-inmemory-collector-headless ClusterIP None <none> 9411/TCP,14250/TCP,14267/TCP,14268/TCP 16m
cluster-collector-collector-headless ClusterIP None <none> 9411/TCP 7m28s jaeger-all-in-one-inmemory-collector-headless ClusterIP None <none> 9411/TCP,14250/TCP,14267/TCP,14268/TCP 16m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这些服务用于配置 Jaeger、Knative Serving 和 Knative Eventing。Jaeger 服务的名称可能会有所不同。
- 按照"安装 OpenShift Serverless Operator"文档安装 OpenShift Serverless Operator。
通过创建以下
KnativeServing
CR 来安装 Knative Serving:KnativeServing CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
sample-rate
定义抽样概率。sample-rate: "0.1"
表示在 10 个 trace 中会抽样 1 个。
通过创建以下 KnativeEventing CR 来安装
Knative Eventing
:Example KnativeEventing CR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
sample-rate
定义抽样概率。sample-rate: "0.1"
表示在 10 个 trace 中会抽样 1 个。
创建 Knative 服务:
服务示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 向服务发出一些请求:
HTTPS 请求示例
curl https://helloworld-go.example.com
$ curl https://helloworld-go.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取 Jaeger web 控制台的 URL:
示例命令
oc get route jaeger-all-in-one-inmemory -o jsonpath='{.spec.host}' -n <namespace>
$ oc get route jaeger-all-in-one-inmemory -o jsonpath='{.spec.host}' -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您可以使用 Jaeger 控制台检查 trace。