1.5. 在 OpenShift 实例上安装 Jaeger
3scale API 供应商可以使用 Jaeger 的 OpenTracing 来跟踪和排除对 API 的调用和故障排除。为此,请在运行 3scale 的 OpenShift 实例上安装 Jaeger。
警告
Jaeger 是一个第三方组件,3scale 不提供支持,但 APIcast 的使用除外。以下说明仅作为参考示例提供,不适用于生产用途。
步骤
在当前命名空间中安装 Jaeger all-in-one 模板:
oc process -f https://raw.githubusercontent.com/jaegertracing/jaeger-openshift/master/all-in-one/jaeger-all-in-one-template.yml | oc create -f -
oc process -f https://raw.githubusercontent.com/jaegertracing/jaeger-openshift/master/all-in-one/jaeger-all-in-one-template.yml | oc create -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Jaeger 配置文件
jaeger_config.json
并添加以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
sampler
常数 1 表示您想要对所有请求进行抽样。 -
reporter
的位置和队列大小是必需的。 -
在
headers
下,需要TraceContextHeaderName
条目来跟踪请求
-
从 Jaeger 配置文件创建 ConfigMap,并将其挂载到 APIcast:
oc create configmap jaeger-config --from-file=jaeger_config.json oc set volumes dc/apicast --add -m /tmp/jaeger/ --configmap-name jaeger-config
oc create configmap jaeger-config --from-file=jaeger_config.json oc set volumes dc/apicast --add -m /tmp/jaeger/ --configmap-name jaeger-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您刚刚添加的配置启用 OpenTracing 和 Jaeger:
oc set env deploymentConfig/apicast OPENTRACING_TRACER=jaeger OPENTRACING_CONFIG=/tmp/jaeger/jaeger_config.json
oc set env deploymentConfig/apicast OPENTRACING_TRACER=jaeger OPENTRACING_CONFIG=/tmp/jaeger/jaeger_config.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 找到运行 Jaeger 接口的 URL:
oc get route (…) jaeger-query-myproject.127.0.0.1.nip.io
oc get route (…) jaeger-query-myproject.127.0.0.1.nip.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 打开上一步中的 Jaeger 接口,它显示来自 Openshift Health 检查的数据。
- 在后端 API 中添加 OpenTracing 和 Jaeger 支持,以便您可以查看完整的请求追踪。根据所用的框架和语言,每个后端都有所不同。作为参考,请参阅在 Kubernetes 中使用 OpenTracing 和 Jaeger 来收集应用程序指标。