全鏈路追蹤工具SkyWalking使用入門

 

目錄

前言

SkyWalking簡介

架構

入門使用

1、下載

2、配置探針

3、配置參數到需要監控的應用

4、配置skyWalking

5、啓動skyWalking

6、查看服務

7、sw-web界面不顯示數據


前言

隨着業務越來越複雜,企業應用也進入了分佈式服務的階段,傳統的日誌監控等方式無法很好達到跟蹤調用,排查問題等需求。這是客套話,我們最常見的痛點便是性能優化,在優化時需要找到有問題的代碼,以前介紹過使用Arthas排查問題或查找耗時代碼,但是該工具畢竟是單一節點而且在遇到反射時常常無法展現,效果有限,此時則需要一款全鏈路追蹤工具,最常用的有SkyWalking和Pinpoint。

 

SkyWalking簡介

SkyWalking是一個針對分佈式系統的APM(應用性能監控)系統,特別針對微服務、cloud native和容器化架構,其核心是個分佈式追蹤系統。它通過探針自動收集所需的指標,且基於探針技術對應用零侵入零耦合。通過這些調用鏈路以及指標,SkyWalking APM會感知應用間關係和服務間關係,並進行相應的指標統計。

 

架構

架構圖如下:

總體來說可以粗略分爲三個部分:

  • collector(收集器):鏈路數據收集器,數據可以落地ElasticSearch,單機也可以落地H2,不推薦,H2僅作爲臨時演示用
  • agent(探針):用來收集和發送數據到收集器
  • web:web可視化平臺,用於展示落地的數據

 

入門使用

1、下載

可前往官網進行下載:http://skywalking.apache.org/zh/downloads/,mac下載linux下的tar包然後解壓即可,這裏下載的是6.6.0版本,解壓後列表如下:

2、配置探針

前往agent/config/,找到agent.config配置文件,需要配置的就兩個地方:

# 在web界面中展示的服務名
agent.service_name=${SW_AGENT_NAME:xxx}

# skyWalking服務所在地址,即該工具在哪裏啓動的,端口號不用改
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}

3、配置參數到需要監控的應用

以項目帶了啓動腳本爲例,直接在啓動參數中加上如下配置即可:

-javaagent:/xxx/agent/skywalking-agent.jar -Dskywalking_config=/xxx/agent/ticket/agent.config

後半段當然也可以不指定配置文件的方式,可以直接使用

-Dskywalking.agent.service_name=itsm-web -Dskywalking.collector.backend_service=10.1.61.165:11800

skyWalking所在的服務器可以和具體探針配置的機器分離,如果分離的話,在探針具體配置的機器上需要將整個agent文件夾移過去,如上面的/agent,注意這裏的/xxx是全路徑,後面的/ticket/xxx是對應微服務的配置文件,由於是分佈式服務,因此需要分別配置

skywalking支持如下

4、配置skyWalking

如果有需要可以進行配置,若沒有特殊要求可直接pass,其配置文件在/config/application.yml,大致分爲三類:

  1. core:收集器相關配置,支持http/gRPC收集
  2. storage:收集數據存儲,支持H2和ES
  3. receiver-:可採集信息,jvm運行相關信息,zipkin追蹤日誌等

若只是臨時調試可直接使用H2存儲監控數據,這也是skyWalking的默認數據存儲,一般線上都是需要持久化存儲,可改爲ES存儲。如果skyWalking-web界面的8080端口衝突了的話可能會報錯,可前往/webapp/webapp.yml進行修改

5、啓動skyWalking

運行bin中startup.sh即可,執行後會啓動如下兩個服務:

  1. Skywalking-Collector:追蹤信息收集器,通過 gRPC/Http 收集客戶端的採集信息 ,Http默認端口 12800,gRPC默認端口 11800。
  2. Skywalking-Webapp:管理平臺頁面 默認端口 8080,登錄信息 admin/admin

6、查看服務

訪問你skyWalking所在的地址,如localhost:8080,看到如下界面就說明啓動成功

然後就可以自己使用啦,用的最多的是追蹤一欄,即能看到各服務之間的整個調用鏈及耗時,一目瞭然。同時在儀表盤的Instance這裏還能看到gc信息,更多功能可自行發現,這裏也不截圖了。

7、sw-web界面不顯示數據

項目配置好參數啓動後,需要通過訪問項目的接口後,sw的web界面纔會展示對應的服務,若此時web界面還是沒有數據,請開啓自動刷新!!!(之前被坑過一次)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章