天天看点

Sleuth/Brave+Zipkin 实现链路日志

码字不易,转载请注明出处!!

链路日志

sleuth

  1. 术语
  • span(跨度):sleuth 的基本工作单元。每个 sleuth 有一个唯一的64位ID作为标识。此外还有一些其它的数据,如时间戳、标签、描述等。
  • trace(跟踪):由一组 span 组成的树桩结构称为一个 trance。
  • annotation(标注):表示一个行为。
    • CS (client sent);客户端发起一个请求,这是一个 span 的开始。
    • SR (server received):服务器接收并准备处理它。
    • SS (server sent):服务器处理结束,准备响应客户端。
    • CR (client received):客户端成功接收到服务器的响应,这是一个 span 的结束。

zipkin

ZipKin 是收集、存储、展示链路日志的核心,sleuth/brave 只是应用上报日志的客户端而已。
  1. 启动部署
    1. 下载
      • curl -sSL https://zipkin.io/quickstart.sh | bash -s

      • 直接下载 链接
    2. nohup java -jar zipkin.jar &

  2. 使用外部存储
  • Mysql

    • 性能极差
  • ES

    • 建议采用这种存储
    • 支持 ES5+/6+/7+
    • 需要定时执行额外的工程 zipkin-dependencies.jar 才能生成依赖关系图
  • Cassandra

本文是对知识点的整理归纳,方便后续翻阅回忆