如何在啟動(dòng) Linkis 服務(wù)的同時(shí)啟動(dòng) SkyWalking方便后續(xù)跟蹤和進(jìn)行故障診斷?
隨著大數(shù)據(jù)技術(shù)的迅速發(fā)展,越來(lái)越多的企業(yè)開始將 Apache Linkis 作為核心數(shù)據(jù)處理和計(jì)算平臺(tái)。Linkis 為企業(yè)提供了統(tǒng)一的數(shù)據(jù)處理環(huán)境,大大提高了數(shù)據(jù)處理效率。然而,在實(shí)際應(yīng)用過程中,我們往往需要對(duì) Linkis 的運(yùn)行狀況進(jìn)行實(shí)時(shí)監(jiān)控,以便及時(shí)發(fā)現(xiàn)并解決潛在的性能問題。Apache SkyWalking 是一個(gè)優(yōu)秀的分布式追蹤和性能監(jiān)控系統(tǒng),可以幫助我們實(shí)現(xiàn)對(duì) Linkis 的全面監(jiān)控。在本文,我們將詳細(xì)介紹如何將 Apache Linkis 與 SkyWalking 進(jìn)行集成,實(shí)現(xiàn)對(duì) Linkis 運(yùn)行狀況的實(shí)時(shí)監(jiān)控,來(lái)方便大家后續(xù)做分布式 trace 和 troubleshooting。
1. SkyWalking 介紹
SkyWalking 是開源的可視化平臺(tái),可從多種數(shù)據(jù)源進(jìn)行數(shù)據(jù)采集,并提供分析、聚合及可視化等功能。通過 SkyWalking,我們可以對(duì)分布式系統(tǒng)的拓?fù)浣Y(jié)構(gòu),數(shù)據(jù)交互有一個(gè)更加清晰的視圖。

SkyWalking 架構(gòu)
其從邏輯上可以劃分成 4 個(gè)部分:
Probe:可以理解為數(shù)據(jù)采集 agent,主要負(fù)責(zé)數(shù)據(jù)采集和格式化。
Platform Backend:SkyWalking 的后端服務(wù),支持?jǐn)?shù)據(jù)聚合、分析以及流式處理等。
Storage:負(fù)責(zé)數(shù)據(jù)存儲(chǔ),以 plugin 的方式支持多種存儲(chǔ)引擎,比如 ElasticSearch, H2, MySQL, TiDB, InfluxDB 等。
UI: 數(shù)據(jù)可視化。
在 Linkis 中使用 SkyWalking,需要用戶已經(jīng)存在 Backend 服務(wù)以及對(duì)應(yīng)的 Storage,Linkis 服務(wù)啟動(dòng)的時(shí)候集成 Probe 即可。Probe 集成主要有三種方式:
Language based native agent:這些 agent 和目標(biāo)服務(wù)進(jìn)程運(yùn)行在相同的用戶空間,從外部來(lái)看,agent 和目標(biāo)服務(wù)的代碼是一樣的。一個(gè)典型的例子是 Java agent,在運(yùn)行 Java 應(yīng)用的時(shí)候我們可以通過?
-javaagent
?來(lái)指定 agent。Service Mesh probes:這種 Probe 通過 sidecar 或者 proxy 收集數(shù)據(jù)。
3rd-party intrument library:簡(jiǎn)單來(lái)說就是第三方的數(shù)據(jù),比如 zipkin。
我們?cè)?Linkis 集成 SkyWalking 的時(shí)候采用第一種方式,也就是 java agent 的方式。下面我們?yōu)榇蠹已菔疽幌氯绾卧?Linkis 服務(wù)中開啟 SkyWalking。
2. 部署 SkyWalking 后端
SkyWalking 后端是開啟 SkyWalk 的前置條件,下面先簡(jiǎn)單演示下如何安裝 SkyWalking 的后端。首先從 SkyWalking 的 Downloads 頁(yè)面下載 SkyWalking APM,直接解壓得到如下的目錄結(jié)構(gòu)。
后端默認(rèn)使用 H2 內(nèi)存數(shù)據(jù)庫(kù)作為后端存儲(chǔ),不需要修改配置。按如下方式啟動(dòng)Backend 和? WebApp:
UI 默認(rèn)啟動(dòng)在 8080 端口,也可以通過修改 webapp 目錄下的 webapp.yml 文件修改監(jiān)聽端口。
這里假定大家對(duì) Linkis 的服務(wù)部署已經(jīng)比較清晰,如果還不清晰,可以異步:在 Linkis 中開啟 SkyWalking 首先需要下載 SkyWalking 的 Java agent,我們可以在 Downloads 頁(yè)面進(jìn)行下載。

下載之后解壓,內(nèi)部的文件結(jié)構(gòu)如下:
修改 Linkis 的 deploy-config/linkis-env.sh 中的配置項(xiàng)?SKYWALKING_AGENT_PATH
。將其設(shè)置為?skywalking-agent.jar
?的路徑,然后啟動(dòng) Linkis 即可。
Linkis 的 UI 端口默認(rèn)啟動(dòng)在 8080 端口,Linkis 開啟 SkyWalking 之后打開 UI 如果能看到如下的圖就表示成功了,否則可能是瀏覽器兼容性問題,請(qǐng)嘗試切換瀏覽器試試。



通過以上的詳細(xì)步驟和代碼示例,我們已經(jīng)成功實(shí)現(xiàn)了 Apache Linkis 與 SkyWalking 的集成?,F(xiàn)在,你可以使用 SkyWalking 對(duì) Linkis 的各個(gè)組件進(jìn)行實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn)并解決性能問題,從而提高整個(gè)數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和性能。
需要注意的是,本文提供的集成方案僅作為參考,可能需要根據(jù)自己的實(shí)際環(huán)境進(jìn)行適當(dāng)調(diào)整?
總之,Apache Linkis 與 SkyWalking 的集成為我們提供了一個(gè)強(qiáng)大的監(jiān)控工具,有助于提高數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和性能。希望本文能為你的實(shí)際工作帶來(lái)幫助,祝你在大數(shù)據(jù)領(lǐng)域取得更多的成功?

。
— END —
加小助手( ID:WeDatasphere)找到組織,為你答疑解惑。WeDataSphere一站式開源 大數(shù)據(jù)平臺(tái)的建設(shè)與應(yīng)用實(shí)踐WeDataSphere 入門指南(含沙箱使用介紹)
保姆級(jí)教程:如何成為Apache Linkis文檔貢獻(xiàn)者
WDS優(yōu)秀案例征集!讓您的案例擴(kuò)散和幫助更多人!更多社區(qū)活動(dòng)等待你的參與!