链路追踪可帮助您快速了解程序服务之间的调用关系,并快速洞悉内部发生的情况。主流的链路追踪系统有zipkin,jaeger,skywalking等,由于opentelemetry的存在,都具有opentelemetry的转换器。
我们利用opentelemetry来进行zipkin,jaeger,skywalking,otlp等协议的兼容,并把追踪数据保存在内存中,用于分析。
部署追踪程序
下载代码并编译
git clone https://jihulab.com/linksaas/easy_trace.git
go mod tidy
go build
生成配置文件
填写要部署收集器的地址,复制右侧生成的配置成server.yml。
listenAddr: "0.0.0.0:6003"
linkSaasAddr: "175.178.105.150:5000"
maxTraceStore: 10000
project:
- "63d9d541-144c-4fb0-ba03-519d9f813d27"
zipkin:
enable: true
listenAddr: "0.0.0.0:9411"
jaeger:
enable: true
grpcListenAddr: "0.0.0.0:14250"
httpListenAddr: "0.0.0.0:14268"
thriftCompactListenAddr: "0.0.0.0:6831"
thriftBinaryListenAddr: "0.0.0.0:6832"
skywalking:
enable: true
grpcListenAddr: "0.0.0.0:11800"
httpListenAddr: "0.0.0.0:12800"
otlp:
enable: true
grpcListenAddr: "0.0.0.0:4317"
httpListenAddr: "0.0.0.0:4318"
如果想收集更多数据,可以调大maxTraceStore的数值。
运行收集器
./easy_trace server.yml
使用
列出追踪数据
查看详情