ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【教程分享】Docker搭建Zipkin,实现数据持久化到MySQL、ES [打印本页]

作者: 丝    时间: 2023-9-1 20:43
标题: 【教程分享】Docker搭建Zipkin,实现数据持久化到MySQL、ES
1 拉取镜像

指定版本,在git查看相应版本,参考: https://github.com/openzipkin/zipkin
如2.21.7
  1. docker pull openzipkin/zipkin:2.21.7
复制代码
2 启动

Zipkin默认端口为9411。启动时通过-e server.port=xxxx设置指定端口
  1. docker run --name zipkin-server -d --restart=always -p 9411:9411 openzipkin/zipkin:2.21.7
复制代码
3 访问测试

访问链接:http://localhost:9411/zipkin/

4 Web UI

请求列表:

点击第一项,看看详情页。
AUTH-SERVICE: get /error 入库服务名称及请求方式

5 持久化

Zipkin Server默认将追踪数据信息保存到内存,重启服务后追踪数据将不存在,Zipkin支持将追踪数据持久化到MySQL或ES。
持久化需注意MySQL/ES版本,在https://github.com/openzipkin/zipkin,可查看:

ES组件使用Elasticsearch 5+的功能,但已测试过与Elasticsearch 6-7.x的兼容性。
它将spans存储为Zipkin v2 json,以便与其他工具集成。为扩展,它使用自定义和手动实现的索引组合。
注意:这个存储需要一个Spark job来聚合依赖链接。
5.1 MySQL持久化

①  建数据库

如zipkin
② 建表

语句参考:https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql
③ 修改启动命令

Zipkin默认端口9411。
启动时通过-e server.port=xxxx设置指定端口
  1. docker run \
  2. --name zipkin-server -d \
  3. --restart=always \
  4. -p 9411:9411 \
  5. -e MYSQL_USER=root \
  6. -e MYSQL_PASS=lhzlx \
  7. -e MYSQL_HOST=111.229.160.175 \
  8. -e STORAGE_TYPE=mysql \
  9. -e MYSQL_DB=zipkin \
  10. -e MYSQL_TCP_PORT=3316 \
  11. openzipkin/zipkin:2.21.7
复制代码
④ 验证

启动zipkin-server并请求,再次重启zipkin-server,可见依然存在请求链路录记录,并且MySQL表中存在记录。
5.2 ES持久化

无需建立啥配置信息,只需启动jar时指定ES地址。
将脚本中的启动命令修改为:
  1. docker run \
  2. --name zipkin-server -d \
  3. -p 9411:9411 \
  4. --restart=always \
  5. -e STORAGE_TYPE=elasticsearch \
  6. -e ES_HOSTS=localhost:9200
  7. openzipkin/zipkin:2.21.7
复制代码
若连接ES集群,--ES_HOSTS通过逗号分割,如:--ES_HOSTS=http://1.1.1.1:9200,http://2.2.2.2:9200
连接ES参数

环境变量描述ES_HOSTS连接ES地址,多个由逗号分隔。默认为http://localhost:9200ES_PIPELINE指定span被索引之前的pipelineES_TIMEOUT连接ES的超时时间,单位ms。默认为10000(10S)ES_INDEXZipkin持久化所使用的索引。默认为zipkinES_DATE_SEPARATORZipkin建立索引的日期分隔符。默认为-ES_INDEX_SHARDS分片(shard)个数,默认为5个ES_INDEX_REPLICAS副本(replica)个数,默认为1个ES_HTTP_LOGGINGES的日志级别,可选值为BASIC, HEADERS, BODYES_USERNAME/ES_PASSWORD登录ES的用户名和密码
本文由博客一文多发平台 OpenWrite 发布!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4