Zinkin進階篇-Zipkin-dependencies的應用

前言
之前章節中已經實現了zipkin數據持久化至elasticsearch,但其帶來了一個負面作用,無法正常顯示dependencies。通過閱讀zipkin在github說明,可以看到已經有了解決方案,本章將介紹如何實現並驗證。

本章概要
1、尋找解決方案;
2、方案驗證;

尋找解決方案
1、通過閱讀Zipkin在Github(https://github.com/openzipkin/zipkin#elasticsearch)中的說明,可以看到如下描述:

2、根據線路,繼續尋找Zipkin-dependencies項目(https://github.com/openzipkin/zipkin-dependencies),在其項目可以看到對應於ES存儲場景下,啓動zipkin-dependencies,jar相應的參數說明:

3、上述參數可以看到index的配置和date_separator說明,其主要作用於指定索引和自定義索引日期格式,具體官方(https://github.com/openzipkin/zipkin/tree/master/zipkin-storage/elasticsearch-http#customizing-daily-index-format)說明如下:


4、官方提供了兩種使用方式:

方案驗證
1、依次啓動consul、configserver、service1(4001)、consumer1(3331)、api-gatway(5001)五個服務;

2、確保rabbitMQ已經啓動;

3、確保elasticsearch務已經啓動(啓動一個elasticsearch插件head對應端口9100);

4、確保kibana(5601)服務已經啓動;

5、最後啓動zipkin-server(9411)服務;

6、訪問http://localhost:5001/api-consumer01/hystrix/feign/getServerInfo/shuaishuai?accessToken=accessToken,實現服務鏈路信息的記錄(三次請求);

7、可以看到如下三條請求的鏈路信息:

8、通過ES的head插件,可以看到相關的索引名稱:
Note:
  • 特別關注紅色標記部分,也就是'今天'的索引;
  • 1-19已經做過驗證,故已經生成了dependency相對應的索引,本次調試僅僅爲了整理記錄,故未刪除;

9、執行docker命令如下即可:
docker run --name zipkin-dependencies --env STORAGE_TYPE=elasticsearch --env ES_HOSTS=192.168.16.98:9200 --env ES_INDEX=zipkin --rm=true -e JAVA_OPTS="-Xmx3550m -Xms3550m" openzipkin/zipkin-dependencies:1.9.2
Note:
  • 啓動可能出現異常,提示內存不夠,故添加JAVA_OPTS,其對應於Dockerfile中的配置;
  • 特別關注鏡像的版本,並非使用最新的版本能夠向下兼容所有,當前使用1.9.2版本;
  • 紅色框部分可以看到其數據存儲至ES中,新建了一個zipkin:dependency-2018-01-30索引

10、可以看到新增瞭如下索引


11、此時我們再來看Dependencies,即可看下如下的服務依賴圖:


12、簡單的穿透查看api-gatewayconsumer1之間的調用關係:

其對應的索引文檔如下:

13、再次訪問http://localhost:5001/api-consumer01/hystrix/feign/getServerInfo/shuaishuai?accessToken=accessToken,實現服務鏈路信息的記錄(三次請求),此時索引中的數據並沒有變化,需要再次執行步驟9中的docker命令後方會更新:

原始文檔版本也更新了:



總結:
zipkin-dependencies可以理解爲一個插件工具,其提供了對當日索引文檔的分析處理,其不能作爲一個實時服務應用,在實際生產環境中,需要根據實際業務需要設定其處理模式,如通過腳本輪詢處理,達到僞實時,目前來看必要性不是很大。


擴展
結合之前1-19號生成的索引,做一個跨度查詢
可以看到數據已經被聚合,其中api-gateway請求consumer1次數大於consumer1請求service1次數此時,故可以看到兩條線有明顯的差異,具體請求次數如下:
  • api-gateway請求consumer1次數
  • consumer1請求service1次數

簡單看下原始數據文檔,1-19索引:
1-30索引:
與上述最終顯示結果一致。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章