Zipkin服务端搭建使用教程3(使用Elasticsearch储存数据)
默认情况下,Zipkin Server 都会将跟踪信息存储在内存中,每次重启 Zipkin Server 都会使之前收集的跟踪信息丢失,并且当有大量跟踪信息时我们的内存存储也会成为瓶颈。
在前文中我演示了如何将跟踪信息对接到 MySQL 中去(点击查看)。本文接着演示如何使用 Elasticsearch 实现 Zipkin 的数据持久化。
三、使用 Elasticsearch 存储数据
1,准备 Elasticsearch 环境
首先我们需要启动一个 Elasticsearch 服务,具体步骤可以参考我之前写的文章:
2,启动 Zipkin 服务
(1)Zipkin 启动时只需要指定好 Elasticsearch 连接信息即可。如果是通过 jar 包运行,则执行如下命令:
1
|
java -jar zipkin-server-2.19.3- exec .jar --STORAGE_TYPE=elasticsearch --ES_HOSTS=192.168.60.133:9200 |
(2)如果通过 Docker 镜像运行,则执行如下命令:
1
|
docker run --name zipkin -d -p 9411:9411 -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=192.168.60.133:9200 openzipkin/zipkin |
(3)如果每次都要使用 docker 命令来分别启动 zipkin 容器还是略显繁琐,我们也可以通过 Docker Compose 进行启动,docker-compose.yml 文件内容如下:
version: '2'
services:
zipkin:
image: openzipkin/zipkin
container_name: zipkin
environment:
- STORAGE_TYPE=elasticsearch
- ES_HOSTS=192.168.60.133:9200
#- RABBIT_ADDRESSES=192.168.60.133:5672
#- RABBIT_USER=hangge
#- RABBIT_PASSWORD=123
ports:
- 9411:9411
3,运行测试
(1)通过上面的设置之后,我们完成了将 Zipkin Server 从内存存储跟踪信息切换为 Elasticsearch 存储信息的改造。后续所有的跟踪信息都会存放到 Elasticsearch 中。
(2)我们使用谷歌浏览器插件 ElasticSearch Head 查看当前 Elasticsearch 集群的信息。可以发现 Zipkin 跟踪数据已经成功保存进来了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通