1.6.4. 在 OpenShift 实例上安装 Jaeger
本节提供有关在运行的 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 -
创建 Jaeger 配置文件
jaeger_config.json
并添加以下内容:{ "service_name": "apicast", "disabled": false, "sampler": { "type": "const", "param": 1 }, "reporter": { "queueSize": 100, "bufferFlushInterval": 10, "logSpans": false, "localAgentHostPort": "jaeger-agent:6831" }, "headers": { "jaegerDebugHeader": "debug-id", "jaegerBaggageHeader": "baggage", "TraceContextHeaderName": "uber-trace-id", "traceBaggageHeaderPrefix": "testctx-" }, "baggage_restrictions": { "denyBaggageOnInitializationFailure": false, "hostPort": "127.0.0.1:5778", "refreshInterval": 60 } }
-
设置 1 的样本常数以对所有请求进行抽样
-
设置
报告
器的位置和队列大小 -
设置标头
,包括我们将用来跟踪请求的TraceContextHeaderName
-
设置 1 的样本常数以对所有请求进行抽样
从 Jaeger 配置文件创建 ConfigMap,并将其挂载到 APIcast 中:
oc create configmap jaeger-config --from-file=jaeger_config.json oc volume dc/apicast --add -m /tmp/jaeger/ --configmap-name jaeger-config
使用刚添加的配置启用 OpenTracing 和 Jaeger:
oc set env deploymentConfig/apicast OPENTRACING_TRACER=jaeger OPENTRACING_CONFIG=/tmp/jaeger/jaeger_config.json
查找运行 Jaeger 接口的 URL:
oc get route (…) jaeger-query-myproject.127.0.0.1.nip.io
- 打开上一步中的 Jaeger 接口,它显示来自 Openshift Health 检查的数据。
- 最后一步是将 OpenTracing 和 Jaeger 支持添加到您的后端 API,以便您可以查看完整的请求追踪。根据所用的框架和语言,每个后端都有所不同。作为参考示例,您可以使用 OpenTracing 与 Jaeger 来收集 Kubernetes 中的应用指标。
有关配置 Jaeger 的更多信息,请参阅: