偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

監(jiān)控平臺(tái)SkyWalking9入門實(shí)踐

開(kāi)發(fā) 架構(gòu)
相關(guān)服務(wù)啟動(dòng)完成后,訪問(wèn)skywalking界面,主頁(yè)加載的即上述配置的三個(gè)微服務(wù),這樣說(shuō)明整個(gè)流程是正常的。

一、業(yè)務(wù)背景

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

圖片

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

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

二、組件原理

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

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

圖片

業(yè)務(wù)機(jī)制

圖片

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

Agent:以探針的方式進(jìn)行請(qǐng)求鏈路的數(shù)據(jù)采集,并向管理服務(wù)上報(bào);

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

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

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

圖片

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

三、安裝部署

1、版本描述

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

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

圖片

2、配置存儲(chǔ)方式

Skywalking數(shù)據(jù)存儲(chǔ)的組件有多種選型方式,這里方便本地調(diào)試,就選擇MySQL數(shù)據(jù)庫(kù),在生產(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ù)庫(kù),采用latin1字符編碼,可以避免索引長(zhǎng)度的問(wèn)題,表的創(chuàng)建是自動(dòng)的,然后需要在包中添加MySQL依賴;

圖片

3、啟動(dòng)與停止

啟動(dòng)oap服務(wù):sh bin/oapService.sh

啟動(dòng)UI界面:sh bin/webappService.sh

服務(wù)停止命令:jps查看,kill相關(guān)編號(hào);

UI界面服務(wù)默認(rèn)是8080端口,如果存在占用問(wèn)題,可以修改:webapp/webapp.yml?文件,更換端口;啟動(dòng)完成后訪問(wèn)LocalIP:port即可;

4、服務(wù)集成

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

圖片

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

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

圖片

-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

這樣全部的配置就完成了,依次啟動(dòng)skywalking相關(guān)服務(wù),與這里配置的三個(gè)微服務(wù),下面再來(lái)看看功能細(xì)節(jié);

四、功能細(xì)節(jié)

1、服務(wù)監(jiān)控

相關(guān)服務(wù)啟動(dòng)完成后,訪問(wèn)skywalking界面,主頁(yè)加載的即上述配置的三個(gè)微服務(wù),這樣說(shuō)明整個(gè)流程是正常的,點(diǎn)擊服務(wù)名稱可以查看服務(wù)相關(guān)的細(xì)節(jié)指標(biāo);

圖片

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

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

圖片

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

3、鏈路跟蹤

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

圖片

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

圖片

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

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

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

圖片

本篇文章只是站在開(kāi)發(fā)的角度,總結(jié)skywalking的應(yīng)用方式,并未涉及過(guò)多的細(xì)節(jié)原理,其它強(qiáng)大的功能設(shè)計(jì),對(duì)于開(kāi)發(fā)來(lái)說(shuō)同樣值得參考。

五、源碼參考

應(yīng)用倉(cāng)庫(kù): https://gitee.com/cicadasmile/butte-flyer-parent

組件封裝: https://gitee.com/cicadasmile/butte-frame-parent

責(zé)任編輯:武曉燕 來(lái)源: 知了一笑
相關(guān)推薦

2010-12-08 09:03:40

SQLiteAndroid

2017-09-12 10:50:55

前端SDK開(kāi)發(fā)

2022-03-01 16:26:09

鏈路監(jiān)控日志監(jiān)控分布式系統(tǒng)

2015-07-02 16:25:09

iOS 9UIStackView

2020-12-16 09:24:18

Skywalking分布式鏈路追蹤

2023-10-23 20:26:09

治理Android

2019-04-29 11:18:43

開(kāi)源Sensu監(jiān)控

2021-09-14 23:50:17

Sentry后端監(jiān)控

2021-03-11 14:33:28

Kubernetes開(kāi)源容器

2019-06-26 07:11:35

Java流程監(jiān)控開(kāi)發(fā)

2025-04-29 03:50:00

2023-12-07 19:48:42

2020-12-04 10:42:54

GithubSSDNode.js

2022-12-15 08:35:01

用戶畫像平臺(tái)

2011-05-16 14:52:19

DB2 9 Viper

2018-12-16 16:21:08

HadoopKubernetes容器

2019-08-16 11:48:53

容器云平臺(tái)軟件

2021-04-21 11:12:09

CIO大數(shù)據(jù)數(shù)據(jù)驅(qū)動(dòng)

2018-02-06 09:05:25

Java異常處理代碼

2023-10-07 14:25:14

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)