溫馨提示×

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

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

如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性

發(fā)布時(shí)間:2021-06-30 17:17:35 來(lái)源:億速云 閱讀:257 作者:chen 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容主要講解“如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性”吧!

SigNoz 幫助開(kāi)發(fā)者使用最小的精力快速實(shí)現(xiàn)他們的可觀測(cè)性目標(biāo)。

SigNoz 是一個(gè)開(kāi)源的應(yīng)用可觀察性平臺(tái)。SigNoz 是用 React 和 Go 編寫(xiě)的,它從頭到尾都是為了讓開(kāi)發(fā)者能夠以最小的精力盡快實(shí)現(xiàn)他們的可觀察性目標(biāo)。

本文將詳細(xì)介紹該軟件,包括架構(gòu)、基于 Kubernetes 的部署以及一些常見(jiàn)的 SigNoz 用途。

SigNoz 架構(gòu)

SigNoz 將幾個(gè)組件捆綁在一起,創(chuàng)建了一個(gè)可擴(kuò)展的、耦合松散的系統(tǒng),很容易上手使用。其中一些最重要的組件有:

  • OpenTelemetry Collector

  • Apache Kafka

  • Apache Druid

OpenTelemetry Collector 是跟蹤或度量數(shù)據(jù)收集引擎。這使得 SigNoz 能夠以行業(yè)標(biāo)準(zhǔn)格式獲取數(shù)據(jù),包括 Jaeger、Zipkin 和 OpenConsensus。之后,收集的數(shù)據(jù)被轉(zhuǎn)發(fā)到 Apache Kafka。

SigNoz 使用 Kafka 和流處理器來(lái)實(shí)時(shí)獲取大量的可觀測(cè)數(shù)據(jù)。然后,這些數(shù)據(jù)被傳遞到 Apache Druid,它擅長(zhǎng)于存儲(chǔ)這些數(shù)據(jù),用于短期和長(zhǎng)期的 SQL 分析。

當(dāng)數(shù)據(jù)被扁平化并存儲(chǔ)在 Druid 中,SigNoz 的查詢服務(wù)可以查詢并將數(shù)據(jù)傳遞給 SigNoz React 前端。然后,前端為用戶創(chuàng)建漂亮的圖表,使可觀察性數(shù)據(jù)可視化。

如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性

SigNoz architecture

安裝 SigNoz

SigNoz 的組件包括 Apache Kafka 和  Druid。這些組件是松散耦合的,并協(xié)同工作,以確保終端用戶的無(wú)縫體驗(yàn)。鑒于這些組件,最好將 SigNoz 作為 Kubernetes 或  Docker Compose(用于本地測(cè)試)上的微服務(wù)組合來(lái)運(yùn)行。

這個(gè)例子使用基于 Kubernetes Helm Chart 的部署在 Kubernetes 上安裝 SigNoz。作為先決條件,你需要一個(gè) Kubernetes 集群。如果你沒(méi)有可用的 Kubernetes 集群,你可以使用 MiniKube 或 Kind 等工具,在你的本地機(jī)器上創(chuàng)建一個(gè)測(cè)試集群。注意,這臺(tái)機(jī)器至少要有 4GB 的可用空間才能工作。

當(dāng)你有了可用的集群,并配置了 kubectl 來(lái)與集群通信,運(yùn)行:

$ git clone https://github.com/SigNoz/signoz.git && cd signoz$ helm dependency update deploy/kubernetes/platform$ kubectl create ns platform$ helm -n platform install signoz deploy/kubernetes/platform$ kubectl -n platform apply -Rf deploy/kubernetes/jobs$ kubectl -n platform apply -f deploy/kubernetes/otel-collector

這將在集群上安裝 SigNoz 和相關(guān)容器。要訪問(wèn)用戶界面 (UI),運(yùn)行 kubectl port-forward 命令。例如:

$ kubectl -n platform port-forward svc/signoz-frontend 3000:3000

現(xiàn)在你應(yīng)該能夠使用本地瀏覽器訪問(wèn)你的 SigNoz 儀表板,地址為 http://localhost:3000。

現(xiàn)在你的可觀察性平臺(tái)已經(jīng)建立起來(lái)了,你需要一個(gè)能產(chǎn)生可觀察性數(shù)據(jù)的應(yīng)用來(lái)進(jìn)行可視化和追蹤。對(duì)于這個(gè)例子,你可以使用 HotROD,一個(gè)由 Jaegar 團(tuán)隊(duì)開(kāi)發(fā)的示例應(yīng)用。

要安裝它,請(qǐng)運(yùn)行:

$ kubectl create ns sample-application$ kubectl -n sample-application apply -Rf sample-apps/hotrod/

探索功能

現(xiàn)在你應(yīng)該有一個(gè)已經(jīng)安裝合適儀表的應(yīng)用,并可在演示設(shè)置中運(yùn)行。看看 SigNoz 儀表盤(pán)上的指標(biāo)和跟蹤數(shù)據(jù)。當(dāng)你登錄到儀表盤(pán)的主頁(yè)時(shí),你會(huì)看到一個(gè)所有已配置的應(yīng)用列表,這些應(yīng)用正在向 SigNoz 發(fā)送儀表數(shù)據(jù)。

如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性

SigNoz dashboard

指標(biāo)

當(dāng)你點(diǎn)擊一個(gè)特定的應(yīng)用時(shí),你會(huì)登錄到該應(yīng)用的主頁(yè)上。指標(biāo)頁(yè)面顯示最近 15 分鐘的信息(這個(gè)數(shù)字是可配置的),如應(yīng)用的延遲、平均吞吐量、錯(cuò)誤率和應(yīng)用目前訪問(wèn)最高的接口。這讓你對(duì)應(yīng)用的狀態(tài)有一個(gè)大概了解。任何錯(cuò)誤、延遲或負(fù)載的峰值都可以立即看到。

如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性

Metrics in SigNoz

追蹤

追蹤頁(yè)面按時(shí)間順序列出了每個(gè)請(qǐng)求的高層細(xì)節(jié)。當(dāng)你發(fā)現(xiàn)一個(gè)感興趣的請(qǐng)求(例如,比預(yù)期時(shí)間長(zhǎng)的東西),你可以點(diǎn)擊追蹤,查看該請(qǐng)求中發(fā)生的每個(gè)行為的單獨(dú)時(shí)間跨度。下探模式提供了對(duì)每個(gè)請(qǐng)求的徹底檢查。

如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性

Tracing in SigNoz

如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性

Tracing in SigNoz

用量資源管理器

大多數(shù)指標(biāo)和跟蹤數(shù)據(jù)都非常有用,但只在一定時(shí)期內(nèi)有用。隨著時(shí)間的推移,數(shù)據(jù)在大多數(shù)情況下不再有用。這意味著為數(shù)據(jù)計(jì)劃一個(gè)適當(dāng)?shù)谋A魰r(shí)間是很重要的。否則,你將為存儲(chǔ)支付更多的費(fèi)用。用量資源管理器提供了每小時(shí)、每一天和每一周獲取數(shù)據(jù)的概況。

添加儀表

到目前為止,你一直在看 HotROD 應(yīng)用的指標(biāo)和追蹤。理想情況下,你會(huì)希望對(duì)你的應(yīng)用進(jìn)行檢測(cè),以便它向 SigNoz 發(fā)送可觀察數(shù)據(jù)。參考 SigNoz 網(wǎng)站上的儀表概覽。

SigNoz 支持一個(gè)與供應(yīng)商無(wú)關(guān)的儀表庫(kù),OpenTelemetry,作為配置儀表的主要方式。OpenTelemetry 提供了各種語(yǔ)言的儀表庫(kù),支持自動(dòng)和手動(dòng)儀表。

到此,相信大家對(duì)“如何使用 Apache Kafka 和 SigNoz 實(shí)現(xiàn)應(yīng)用可觀測(cè)性”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向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