日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

簡便快速地完成對分布式系統(tǒng)的監(jiān)控;
一、業(yè)務背景

 

微服務作為當前系統(tǒng)架構(gòu)的主流選型,雖然可以應對復雜的業(yè)務場景,但是隨著業(yè)務擴展,微服務架構(gòu)本身的復雜度也會膨脹,對于一些核心的業(yè)務流程,其請求鏈路會涉及到多個業(yè)務服務,少則三五個,多則十幾個都很常見:


 

真實的業(yè)務場景遠比圖解復雜,在這種模式下當請求發(fā)生故障時,或者進行優(yōu)化時,需要分析鏈路性能,追蹤調(diào)用鏈路,排查和解決鏈路故障;

要完成上述流程,需要對請求的鏈路有完整監(jiān)控,并且采集和分析各個環(huán)節(jié)的數(shù)據(jù),這樣才能清晰地理解系統(tǒng)的行為信息,比如耗時分析,故障原因發(fā)現(xiàn),從而進行優(yōu)化和解決;能實現(xiàn)這種能力的組件很多,這里來看看基于SkyWalking9的實踐方式;

二、組件原理

Skywalking是APM規(guī)范的國產(chǎn)開源分布式鏈路追蹤系統(tǒng),APM(Application-Performance-Management)即應用性能管理,支持對SpringCloud微服務集成,并且無代碼層面的侵入:

結(jié)構(gòu)體系


 

業(yè)務機制


 

SpringCloud:分布式系統(tǒng)中的服務,啟動時配置代理即可;

Agent:以探針的方式進行請求鏈路的數(shù)據(jù)采集,并向管理服務上報;

OAP-Service:接收數(shù)據(jù),完成數(shù)據(jù)的存儲和展示;

Storage:數(shù)據(jù)的存儲層,支持ElasticSearch、MySQL、H2多種方式;

UI界面:數(shù)據(jù)的可視化展示界面;


 

工作流程,服務通過探針的方式接入數(shù)據(jù)采集的功能,之后請求鏈路的相關(guān)處理行為會上報到OAP服務中,進行數(shù)據(jù)的聚合管理和分析,并存儲在持久層,然后可以通過UI界面進行可視化呈現(xiàn);

三、安裝部署

1、版本描述

skywalking在之前的舊版本中,apm與agent是在一個包中的,在9.0的版本中是需要分開下載的;agent包下載解壓之后,也將其放到apm包下面維護:

 

  • skywalking-apm-9.1.0.tar.gz
  • skywalking-JAVA-agent-8.10.0.tgz

 


 

2、配置存儲方式

Skywalking數(shù)據(jù)存儲的組件有多種選型方式,這里方便本地調(diào)試,就選擇MySQL數(shù)據(jù)庫,在生產(chǎn)環(huán)境中通常選擇ElasticSearch組件;

配置文件:config/application.yml

storage: selector: ${SW_STORAGE:mysql} mysql: properties: jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?rewriteBatchedStatements=true"} dataSource.user: ${SW_DATA_SOURCE_USER:username} dataSource.password: ${SW_DATA_SOURCE_PASSWORD:password}

需要注意的是,要在本地的MySQL中新建swtest數(shù)據(jù)庫,采用latin1字符編碼,可以避免索引長度的問題,表的創(chuàng)建是自動的,然后需要在包中添加MySQL依賴;


 

3、啟動與停止

 

  • 啟動oap服務:sh bin/oapService.sh
  • 啟動UI界面:sh bin/webappService.sh
  • 服務停止命令:jps查看,kill相關(guān)編號;

 

UI界面服務默認是8080端口,如果存在占用問題,可以修改:webapp/webapp.yml文件,更換端口;啟動完成后訪問LocalIP:port即可;

4、服務集成

在本地存在gateway,facade,account,三個服務,案例圍繞account服務中的請求展開,由于涉及網(wǎng)關(guān)服務,還需要添加相關(guān)插件的依賴;


 

將optional-plugins可選插件目錄中的兩個網(wǎng)關(guān)的依賴包,復制到plugins插件目錄下;

在服務啟動類中添加agent配置,如果在生產(chǎn)環(huán)境中,通常會統(tǒng)一在腳本中設置,由于在本地環(huán)境演示,基于IDEA工具進行管理;


 

-javaagent:本地路徑/agent/skywalking-agent.jar -Dskywalking.agent.service_name=gateway -javaagent:本地路徑/agent/skywalking-agent.jar -Dskywalking.agent.service_name=facade -javaagent:本地路徑/agent/skywalking-agent.jar -Dskywalking.agent.service_name=account

這樣全部的配置就完成了,依次啟動skywalking相關(guān)服務,與這里配置的三個微服務,下面再來看看功能細節(jié);

四、功能細節(jié)

1、服務監(jiān)控

相關(guān)服務啟動完成后,訪問skywalking界面,主頁加載的即上述配置的三個微服務,這樣說明整個流程是正常的,點擊服務名稱可以查看服務相關(guān)的細節(jié)指標;


 

2、拓補結(jié)構(gòu)圖

請求通過gateway網(wǎng)關(guān)服務,經(jīng)過facade門面服務,到達account業(yè)務服務,完成一次調(diào)用后,查看請求的拓補結(jié)構(gòu)圖(即Topology一欄);


 

可以清晰地看到請求的路由鏈路,以及相關(guān)服務訪問的數(shù)據(jù)庫地址,對于微服務架構(gòu)中的復雜接口來說,借助該拓補模型,既可以快速理解業(yè)務邏輯,同時在出具文檔時可以節(jié)省很多畫圖時間;

3、鏈路跟蹤

上面只是請求的拓補結(jié)構(gòu)圖,在實際應用中還是更側(cè)重鏈路跟蹤,查看account服務請求鏈路(即Trace一欄);


 

skywalking組件對于開發(fā)來說,最常用的就是該功能,這里采集了請求鏈路上的各個節(jié)點,以及執(zhí)行的耗時分析,點擊相關(guān)節(jié)點可以查看詳細信息,針對異常請求同樣可以采集到異常信息的描述;


 

這樣可以極大地提升問題排查的效率,尤其對于那種路由十多個服務的業(yè)務邏輯;

4、數(shù)據(jù)庫監(jiān)控

雖然在整個配置中沒有顯式的添加對MySQL的監(jiān)控,但是skywalking依舊可以實現(xiàn)對服務中的數(shù)據(jù)庫監(jiān)控,對于這些指標細節(jié)不過多描述,可以自行查閱文檔;


 

本篇文章只是站在開發(fā)的角度,總結(jié)skywalking的應用方式,并未涉及過多的細節(jié)原理,其它強大的功能設計,對于開發(fā)來說同樣值得參考。

分享到:
標簽:SkyWalking
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定