溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

skywalking 6.4中怎么跟蹤分布式鏈路

發(fā)布時(shí)間:2021-08-05 17:02:05 來(lái)源:億速云 閱讀:150 作者:Leah 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)skywalking 6.4中怎么跟蹤分布式鏈路 ,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

skywalking 

隨著業(yè)務(wù)越來(lái)越復(fù)雜,企業(yè)應(yīng)用也進(jìn)入了分布式服務(wù)化的階段,隨著模塊的不斷增多,一次請(qǐng)求可能會(huì)涉及到十幾個(gè)甚至幾十個(gè)服務(wù)的協(xié)同處理,那么如何準(zhǔn)確快速的定位到線上故障和性能瓶頸,便成為我們不得不面對(duì)的棘手問(wèn)題,傳統(tǒng)的日志監(jiān)控等方式無(wú)法很好達(dá)到跟蹤調(diào)用,排查問(wèn)題等需求。在谷歌論文《 Dapper,大規(guī)模分布式系統(tǒng)的跟蹤系統(tǒng)》的指導(dǎo)下,許多優(yōu)秀的APM應(yīng)運(yùn)而生。

分布式追蹤系統(tǒng)發(fā)展很快,種類繁多,給我們帶來(lái)很大的方便。但在數(shù)據(jù)采集過(guò)程中,有時(shí)需要侵入用戶代碼,并且不同系統(tǒng)的 API 并不兼容,這就導(dǎo)致了如果您希望切換追蹤系統(tǒng),往往會(huì)帶來(lái)較大改動(dòng)。OpenTracing為了解決不同的分布式追蹤系統(tǒng) API 不兼容的問(wèn)題,誕生了 OpenTracing 規(guī)范。OpenTracing 是一個(gè)輕量級(jí)的標(biāo)準(zhǔn)化層,它位于應(yīng)用程序/類庫(kù)和追蹤或日志分析程序之間。詳細(xì)介紹見(jiàn)

Skywalking是一款國(guó)內(nèi)開(kāi)源的應(yīng)用性能監(jiān)控工具,支持對(duì)分布式系統(tǒng)的監(jiān)控、跟蹤和診斷。

Skywalking是一款A(yù)PM(應(yīng)用程序性能監(jiān)視器),尤其適用于微服務(wù),Cloud Native和基于容器的架構(gòu)系統(tǒng)。也稱為分布式跟蹤系統(tǒng)。它提供了一種自動(dòng)檢測(cè)應(yīng)用程序的方法:無(wú)需更改目標(biāo)應(yīng)用程序的任何源代碼; 以及具有高效流媒體模塊的收集器。

針對(duì)分布式系統(tǒng)的APM(應(yīng)用性能監(jiān)控)系統(tǒng),特別針對(duì)微服務(wù)、cloud native和容器化(Docker, Kubernetes, Mesos)架構(gòu), 其核心是個(gè)分布式追蹤系統(tǒng)。

該項(xiàng)目由國(guó)人吳晟基于OpenTracking實(shí)現(xiàn)的開(kāi)源項(xiàng)目skywalking(碼云、github)

2017年12月8日,Apache軟件基金會(huì)孵化器項(xiàng)目管理委員會(huì) ASF IPMC宣布“SkyWalking全票通過(guò),進(jìn)入Apache孵化器”

官方的首頁(yè)的圖片上可以到skywalking大致架構(gòu);

skywalking 6.4中怎么跟蹤分布式鏈路

skywalking 6.4中怎么跟蹤分布式鏈路

agent:監(jiān)控代理程序,請(qǐng)?jiān)谙到y(tǒng)服務(wù)所在的主機(jī)保留該目錄內(nèi)所有內(nèi)容(該目錄做為獨(dú)立程序);

bin:?jiǎn)?dòng)腳本

webapp:UI程序與服務(wù)目錄

config:相關(guān)數(shù)據(jù)源、注冊(cè)中心等配置存放目錄

配置數(shù)據(jù)源

使用elasticsearch

打開(kāi)config/application.yml配置文件 ,在storage節(jié)點(diǎn),注釋h3數(shù)據(jù)源,啟用elasticsearch全文檢索引擎做為數(shù)據(jù)源存儲(chǔ);

h3是默認(rèn)自帶的內(nèi)嵌式數(shù)據(jù)庫(kù)(有興趣可自行百度)

skywalking 6.4中怎么跟蹤分布式鏈路

注意其中的幾個(gè)核心參數(shù):

# 配置你的elasticsearch服務(wù)的IP和端口,集群IP請(qǐng)用“,”逗號(hào)隔開(kāi)

clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.110.35:9200}

#存儲(chǔ)最多7天的內(nèi)容,過(guò)期數(shù)據(jù)將會(huì)清理。因此請(qǐng)根據(jù)實(shí)際需求進(jìn)行調(diào)整

recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day

# 每10秒刷新數(shù)據(jù)到收集器中

flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10}

# 提供2個(gè)并發(fā)請(qǐng)求,如果系統(tǒng)業(yè)務(wù)量大,日志產(chǎn)生的非??欤?qǐng)根據(jù)實(shí)況調(diào)整

concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2}

使用mysql

打開(kāi)config/application.yml配置文件 ,在storage節(jié)點(diǎn),同樣將h3注釋掉,將mysql的配置打開(kāi)

skywalking 6.4中怎么跟蹤分布式鏈路

打開(kāi)config/datasource-settings.properties配置文件,根據(jù)自身的配置進(jìn)行修改

skywalking 6.4中怎么跟蹤分布式鏈路

后續(xù)本文演示的內(nèi)容均基于elasticsearch數(shù)據(jù)源進(jìn)行展示;

修改agent代理配置

skywalking 6.4中怎么跟蹤分布式鏈路

注意以下修改:

# 將Your_ApplicationName修改為自已的項(xiàng)目名稱

agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}

# 將代理程序的指向收集器服務(wù)的IP和端口

collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.110.35:11800}

運(yùn)行

運(yùn)行收集器與UI程序

進(jìn)入bin目錄(我是上傳到linux環(huán)境下運(yùn)行,如果是windows請(qǐng)雙擊運(yùn)行 startup.bat)

./startup.sh

也可以分別單獨(dú)啟動(dòng)

單獨(dú)啟動(dòng)collector,運(yùn)行

./oapService.sh

單獨(dú)啟動(dòng)UI,運(yùn)行

./webappService.sh

使用agnet

在apache-skywalking-apm-bin解壓包下的agent目錄中為代理程序獨(dú)立包目錄。該agent文件夾,可以單獨(dú)復(fù)制出放在項(xiàng)目系統(tǒng)所在服務(wù)器的任意目錄下。

agent文件夾下的skywalking-agent.jar即為監(jiān)控代理程序,只需要在jvm的啟動(dòng)命令中加載該jar包,即可完成監(jiān)控代理;

部署 java agent

Linux Tomcat 7, Tomcat 8

修改 tomcat/bin/catalina.sh,在首行加入如下信息:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar"; export CATALINA_OPTS

Windows Tomcat 7, Tomcat 8

修改 tomcat/bin/catalina.bat,在首行加入如下信息:

set "CATALINA_OPTS=-javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar"

JAR file

在啟動(dòng)你的應(yīng)用程序的命令行中添加 -javaagent 參數(shù). 并確保在-jar參數(shù)之前添加它. 例如:

java -javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar yourApp.jar

IDAE配置Agent

在IDEA中配置本地程序agent代理,在VM options中-javaagent:D:\test\apache-skywalking-apm-bin\agent\skywalking-agent.jar,配置完畢直接運(yùn)行即可;

skywalking 6.4中怎么跟蹤分布式鏈路

運(yùn)行項(xiàng)目系統(tǒng)后,打開(kāi)系統(tǒng)界面進(jìn)行業(yè)務(wù)操作,則skywalking-agent.jar會(huì)根據(jù)代理計(jì)劃,收集相關(guān)日志發(fā)送到skywalking收集器服務(wù)中。

skywalkingUI界面

打開(kāi)skywalking管理界面(skywalking服務(wù)部署的IP):

http://localhost:8080

刷新界面,即可獲取agent發(fā)送的監(jiān)控?cái)?shù)據(jù);

界在相對(duì)比較簡(jiǎn)潔,功能不多,但都比較實(shí)用,可以在多個(gè)項(xiàng)目與數(shù)據(jù)庫(kù)之間切換,相關(guān)指標(biāo)可以看懂,不在本文詳細(xì)描述,具體操作如下:

首頁(yè)概覽

skywalking 6.4中怎么跟蹤分布式鏈路

URL鏈路追蹤

skywalking 6.4中怎么跟蹤分布式鏈路

連接拓?fù)鋱D

skywalking 6.4中怎么跟蹤分布式鏈路

當(dāng)前數(shù)據(jù)庫(kù)

skywalking 6.4中怎么跟蹤分布式鏈路

全局信息

skywalking 6.4中怎么跟蹤分布式鏈路

當(dāng)前服務(wù)

skywalking 6.4中怎么跟蹤分布式鏈路

當(dāng)前實(shí)例

skywalking 6.4中怎么跟蹤分布式鏈路

看完上述內(nèi)容,你們對(duì)skywalking 6.4中怎么跟蹤分布式鏈路 有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI