提到链路追踪,大家肯定能想到众多的开源解决方案,如:SkyWalking、Zipkin、Pinpoint、CAT、Jaeger等等,如果要构建完整的平台,我会选择SkyWalking
,但是,条件不足啊。所以,这里便使用开源的Tempo
基于Loki
来构建一个简单的链路追踪系统。
在前文中,我们使用二进制文件,搭建了一个Loki
+Grafana
的日志查询系统,这里,我继续安装Tempo
。当然,安装方式有多种,有deb
安装包,有Docker安装,这里,我还是才用二进制方式。
有时候下载该文件会出现超时,具体原因,大家都知道的。
我们先创建一个yaml
配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| server: http_listen_port: 3200 grpc_listen_port: 9098
distributor: receivers: otlp: protocols: http: grpc:
compactor: compaction: block_retention: 48h # configure total trace retention here
metrics_generator: registry: external_labels: source: tempo cluster: linux-microservices storage: path: /home/deployer/tempo/store/wal remote_write: - url: http://localhost:9090/api/v1/write send_exemplars: true storage: trace: backend: local wal: path: /home/deployer/tempo/store/wal # where to store the the wal locally local: path: /home/deployer/tempo/store/blocks overrides: metrics_generator_processors: [service-graphs, span-metrics]
|
然后,启动Tempo
1
| ./tempo -config.file=tempo-config.yaml
|