您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(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);
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ù)(有興趣可自行百度)
注意其中的幾個(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)
打開(kāi)config/datasource-settings.properties配置文件,根據(jù)自身的配置進(jìn)行修改
后續(xù)本文演示的內(nèi)容均基于elasticsearch數(shù)據(jù)源進(jìn)行展示;
修改agent代理配置
注意以下修改:
# 將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)行即可;
運(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è)概覽
URL鏈路追蹤
連接拓?fù)鋱D
當(dāng)前數(shù)據(jù)庫(kù)
全局信息
當(dāng)前服務(wù)
當(dāng)前實(shí)例
看完上述內(nèi)容,你們對(duì)skywalking 6.4中怎么跟蹤分布式鏈路 有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(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)容。