Jaeger系统实现对Harbor的链路追踪

网站建设4年前发布
36 0 0

1.1 Harbor新功能-分布式跟踪,Harbor在2.4.0版本后新增一个功能:向 Harbor 添加跟踪功能,以增强故障排除、识别性能瓶颈等。目前Harbor支持Jaeger和OpenTelemetry(简称otel)两种实现方式。,20230306013409092e6d179f5331069256314047a0d02a8eb457335,1.2 Jaeger简单介绍,Jaeger 是一个开源的分布式追踪系统,它可以在复杂的分布式系统中进行监控和故障排查。Jaeger的主要功能包括分布式请求监控、性能调优、故障分析和服务依赖分析等。,本处并不会详细介绍Jaeger,仅简单部署Jaeger来实现对Harbor的分布式追踪功能而做的Demo。如果是在生产环境,也可以参考本文,因为Harbor中关于Jaeger的配置都是类似的。,本处采用Jaeger all-in-one单节点部署。其包含了3个Jaeger组件:,这种方式是将数据直接存储在内存中,无需额外部署存储组件,不建议在生产环境使用该方式进行部署。,是将数据存储在内存中,仅用于测试。需要注意16686等端口没有被占用。,不同版本的Jaeger部署参数略有区别,其它版本可查看:https://www.jaegertracing.io/docs/,然后在浏览器通过http://localhost:16686或者http://192.168.2.250:16686来访问 Jaeger UI。,20230306013615762f66f869084141ed2014807f6943aef2fe59107,因为刚才部署的Jaeger采用的是all-in-one的方式,已经包含了jaeger-agent服务了,我们在Harbor的配置文件中启用Jaeger功能并指定Jaeger-Agent的地址即可。,202303060956442379d3e75274d26ec6242696e9b0f1e26a72b4879,在Harbor的配置文件中启用Jaeger的分布式追踪功能。,sample_rate: 如果要对100%的跟踪数据进行采样,请将sample_rate设置为1;如果要采样50%的跟踪数据,请设置0.5,依此类推;,namespace: 命名空间用于区分不同Harbor服务,如果你需要对多个Harbor服务进行分布式追踪的话建议启用该配置;,attributes:attributes是一个键值对,dict包含用于初始化跟踪提供程序的用户定义属性;,本处采用的是Jaeger-agent的方式,其它的配置参数请注释掉,同时注意yaml格式对齐。,20230306013410852309b653f477e73119972681c4e5fa2c883f565,每次修改harbor的配置文件,都需要执行./prepare才可以使修改的配置生效。,2023030601341183e850b72e424016cfa8866766c2637b087dc6672,执行./install.sh重新安装并启动Harbor,在部署Jaeger服务和配置Harbor服务后,可以在Jaeger的UI界面查看Harbor的追踪信息。,在Search-Service处可以看到Jaeger已经采集到Harbor的监控数据了,,20230306013411b918a0f300bb90b48d495940f9ec2ba4aafcf6411,然后在【System Architecture】的DAG查看Harbor的链路追踪图了:,20230306095448e6a60bd2155cbed63aa1520a2afdaaacfc0cc3411,

© 版权声明

相关文章