SkyWalking鏈路追蹤系統

前言

在微服務開發如火如荼的今天,微服務也引入了一些額外問題。微服務開發&運維過程當中會常常調用到其餘服務暴露的接口,項目足夠大時,內部調用會很是複雜,這種複雜性會致使很難去定位問題,出現問題的時候容易互相推諉進而致使效率低下,因此須要在微服務構建的系統中引入服務調用鏈路追蹤工具,方便開發人員快速定位問題。java

解決方案對比

目前市面上比較流行的鏈路追蹤工具備Zipkin、CAT、Pinpoint、SkyWalking等等mysql

簡單介紹

  • Zipkin是Twitter開源的調用鏈分析工具,目前基於SpringCloud Sleuth獲得了普遍的使用,輕量,使用部署簡單。
  • SkyWalking是本土開源的基於字節碼注入的調用鏈分析,以及應用監控分析工具。特色是支持多種插件,UI友好,非侵入式接入。目前已加入Apache孵化器。
  • CAT是大衆點評開源的基於編碼和配置的調用鏈分析,應用監控分析,日誌採集,監控報警等一系列的監控平臺工具。
  • Pinpoint是韓國開源的基於字節碼注入的調用鏈分析,以及應用監控分析工具。特色是支持多種插件,UI功能強大,接入端無代碼侵入。

對比

截止至2020/04/20linux

類別 SkyWalking CAT Zipkin Pinpoint
可視化界面
報表 豐富 很豐富 近似於無
接入方式 非侵入式 侵入式 侵入式 非侵入式
UI是否友好
顆粒度 方法級 代碼級 接口級 方法級
數據存儲 ES,H2 mysql,hdfs ES,mysql,Cassandra,內存 Hbase
社區活躍度 13.1k star 13.1k star 12.7k star 10.2k star
實現方式 攔截請求,發送(HTTP,mq)數據至zipkin服務 java探針,字節碼加強 java探針,字節碼加強 代碼埋點(攔截器,註解,過濾器等)

下載

ElasticSearch7 API變動比較多,故官網拆分出兩個包,可根據ElasticSearch版本選擇下載
下載頁
SkyWalking 7.0.0
SkyWalking 7.0.0-ES7版本web

全部歷史版本

安裝&啓動

  1. 將下載好的壓縮包解壓至用戶目錄spring

  2. 修改config/application.yml修改配置,因爲我本地安裝的是ES7版本,故將儲存引擎由默認的H2修改成ElasticSearch7
    sql

  3. 啓動SkyWalking以前確保ElasticSearch服務啓動成功,而後執行oapService.bat(linux下執行oapService.sh)再執行webappService.bat(webappService.sh),或者直接執行startup.bat(startup.sh)apache

  4. 確保啓動無誤以後瀏覽器訪問localhost:8080)瀏覽器

端口可在webapp/webapp.yml中修改app

Java接入

將skywalking根目錄下的agent目錄拷貝至用戶目錄,新建一個spring-boot項目,
在啓動JVM參數中添加如下配置運維

-javaagent:D:\Apache-Skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=你的項目名

啓動項目,並訪問一個接口能夠看到以下拓撲圖

本地新建了一個服務,若是是微服務項目服務間調用會很是明顯的展現出來

SkyWalking UI簡單介紹

性能監控圖標

JVM信息

鏈路追蹤

相關文章
相關標籤/搜索