注意
本文档适用于 Ceph 开发版本。
JAEGER- 分布式追踪
Jaeger + Opentracing 为分布式系统提供了现成的跟踪服务,并因其简单性和标准化而成为广泛使用的标准。
我们使用了一个修改后的jaeger-cpp-client后端,它提供给 Opentracing API,负责收集跟踪段,这些跟踪段是使用智能指针创建的,这些智能指针携带时间戳、跟踪ID和其他元信息,如与跟踪段相关联的特定标签/日志,以在分布式系统中唯一标识它。
基本架构和术语
如何开始使用跟踪?
通过 Ceph 启用 jaegertracing 需要部署 Jaeger 守护进程 + 使用 Jaeger 编译 Ceph,协调用于开发者的 vstart 集群,这使用了一个 jaeger一体化 docker这不推荐用于生产环境,但用于测试目的。让我们看看所有需要的步骤:
使用 install-deps 更新系统中的 Jaeger 依赖项:
$ WITH_JAEGER=true ./install-deps.sh使用启用 Jaeger 编译 Ceph:
对于预编译版本:
$ cd build $ cmake -DWITH_JAEGER=ON ..对于使用 do_cmake.sh 的新编译:
$ ./do_cmake.sh -DWITH_JAEGER=ON && ninja vstart3. 成功编译后,使用--jaeger启动一个 vstart 集群,这将部署jaeger 一体化使用容器部署服务(docker/podman):
$ MON=1 MGR=0 OSD=1 ../src/vstart.sh --with-jaeger如果部署不成功,您可以手动部署一体化服务,并且也可以不使用 jaeger 启动 vstart 集群。
使用 rados-bench 写入测试跟踪:
$ bin/rados -p test bench 5 write --no-cleanup
参见
使用-jaeger-cpp-client-for-distributed-tracing-in-ceph <https://medium.com/@deepikaupadhyay/using-jaeger-cpp-client-for-distributed-tracing-in-ceph-8b1f4906ca2>
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.