天天看點

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

本文是對知識點的整理歸納,友善後續翻閱回憶