最近兩年,可觀測(cè)性比較火,各種大會(huì)、沙龍中經(jīng)常能見(jiàn)到這類主題,國(guó)內(nèi)也有公司專門從事可觀測(cè)性相關(guān)的業(yè)務(wù),許多公司正在采用數(shù)據(jù)可觀測(cè)性工具預(yù)防線上故障、及時(shí)排除數(shù)據(jù)中心的問(wèn)題,也有公司采用數(shù)據(jù)可觀測(cè)性工具構(gòu)建良好的可觀測(cè)性以開(kāi)展混沌工程。
數(shù)據(jù)可觀察性不僅僅是監(jiān)控和記錄、收集指標(biāo),而且具有洞察力,能夠隨著時(shí)間跟蹤指標(biāo),解釋、理解跟蹤和監(jiān)視的數(shù)據(jù)以及在各種數(shù)據(jù)源之間創(chuàng)建的關(guān)系。而數(shù)據(jù)可觀察性工具允許組織通過(guò)使用集成的、單一來(lái)源的真實(shí)數(shù)據(jù)存儲(chǔ)來(lái)解決問(wèn)題。這些工具使用自動(dòng)化和人工智能技術(shù)來(lái)篩選大量看似不同的數(shù)據(jù)流,對(duì)其進(jìn)行分析,并將結(jié)果集中并集成到一個(gè)統(tǒng)一的洞察數(shù)據(jù)庫(kù)(能揭示問(wèn)題的本質(zhì)、真相)中。
隨著不同數(shù)據(jù)源數(shù)量的增長(zhǎng),企業(yè)必須提供其環(huán)境的總體視圖,并支持更快、更自動(dòng)化的解決方案來(lái)識(shí)別和修復(fù)問(wèn)題。今天數(shù)據(jù)可觀察性工具使企業(yè)能夠積極主動(dòng),而昨天,許多企業(yè)往往處在被動(dòng)之中。
為什么選擇數(shù)據(jù)可觀測(cè)性開(kāi)源工具?
企業(yè)有很多商業(yè)數(shù)據(jù)可觀測(cè)性工具可供選擇。商業(yè)工具在可伸縮性、自動(dòng)化和支持方面具有一些關(guān)鍵優(yōu)勢(shì)。然而,數(shù)據(jù)可觀測(cè)性的開(kāi)源工具允許團(tuán)隊(duì)在沒(méi)有前期購(gòu)買(獲得使用許可)成本的情況下試驗(yàn)數(shù)據(jù)可觀察性功能,還可以更好地補(bǔ)充現(xiàn)有的數(shù)據(jù)工程工作流和工具。許多公司都有高度定制的可觀測(cè)性需求,那么結(jié)合內(nèi)部開(kāi)發(fā)和開(kāi)源資源通常是最容易滿足這些需求的。
開(kāi)源平臺(tái)往往具有比商業(yè)選項(xiàng)更靈活的體系結(jié)構(gòu),但開(kāi)源平臺(tái)可能還需要更深入的業(yè)務(wù)知識(shí)和技能,以便隨著時(shí)間的推移定制和發(fā)展平臺(tái)。開(kāi)源工具還允許企業(yè)試驗(yàn)基本的數(shù)據(jù)可觀察性特性,以了解哪些功能提供了最大的價(jià)值,以及它們?nèi)绾窝a(bǔ)充現(xiàn)有的工作流。隨著時(shí)間的推移,人們更喜歡探索和構(gòu)建自己的數(shù)據(jù)可觀測(cè)性實(shí)踐,也進(jìn)一步證明了:業(yè)務(wù)變化的需求和開(kāi)源解決方案比商業(yè)工具提供了更多的靈活性。
但是,單一的開(kāi)源數(shù)據(jù)可觀測(cè)性工具通常不具備對(duì)企業(yè)數(shù)據(jù)系統(tǒng)實(shí)現(xiàn)完整可觀測(cè)性所需的所有功能。一些工具有助于日志和度量數(shù)據(jù)收集,而其他工具則專門用于日志和事件跟蹤。類似地,有些工具擅長(zhǎng)可視化,而另一些工具則有效地存儲(chǔ)事件和度量數(shù)據(jù)。企業(yè)通常必須結(jié)合使用這些工具中的一些來(lái)獲得可觀測(cè)性。
以下是該領(lǐng)域?qū)<宜鶑?qiáng)調(diào)的六個(gè)用于設(shè)置數(shù)據(jù)可觀測(cè)性功能的頂級(jí)開(kāi)源工具。這些開(kāi)源工具都支持?jǐn)?shù)據(jù)可觀測(cè)性實(shí)踐的關(guān)鍵方面,如日志和度量數(shù)據(jù)的收集、事件跟蹤或可觀測(cè)性數(shù)據(jù)的可視化。這些工具也有支持社區(qū),借助社區(qū)來(lái)幫助實(shí)現(xiàn)這些工具并長(zhǎng)期維護(hù)它們。我們可以將這些工具視為組件,然后我們根據(jù)需要,結(jié)合多個(gè)工具來(lái)實(shí)現(xiàn)工作數(shù)據(jù)可觀測(cè)性實(shí)踐。1. Fluentd
站點(diǎn): https://www.fluentd.org/
文檔: https://docs.fluentd.org/
開(kāi)源代碼: https://github.com/fluent
Fluentd是一個(gè)開(kāi)源的數(shù)據(jù)收集器,它還可以作為統(tǒng)一的日志記錄層,以簡(jiǎn)化數(shù)據(jù)收集。日志層為到多個(gè)數(shù)據(jù)源的連接提供了一個(gè)抽象層。它支持與數(shù)據(jù)源和流媒體服務(wù)的500多個(gè)集成,所以當(dāng)一個(gè)組織在許多不同的領(lǐng)域進(jìn)行數(shù)據(jù)收集,管理員需要查看所有這些領(lǐng)域的數(shù)據(jù)以進(jìn)行監(jiān)控和優(yōu)化時(shí),它非常有用。 它使用可插拔的架構(gòu),允許團(tuán)隊(duì)將工具連接到新的資源。性能是其設(shè)計(jì)目標(biāo)的關(guān)鍵標(biāo)準(zhǔn)。它可以在每個(gè)核心上每秒處理大約13000個(gè)事件,僅使用30- 40mb的內(nèi)存。它還廣泛使用JSON格式來(lái)簡(jiǎn)化收集、過(guò)濾、緩沖和輸出日志的過(guò)程。
2. Loki
https://github.com/grafana/loki
https://grafana.com/docs/loki/
口號(hào):like Prometheus, but for logs
Loki是一個(gè)通用日志聚合系統(tǒng),它簡(jiǎn)化了各種日志記錄過(guò)程,包括數(shù)據(jù)可觀測(cè)性。它有助于簡(jiǎn)化跨各種應(yīng)用程序、數(shù)據(jù)工具和云服務(wù)存儲(chǔ)和查詢?nèi)罩镜母鞣N流程。 一個(gè)關(guān)鍵特性是能夠攝取任何格式的日志。它可以將所有數(shù)據(jù)存儲(chǔ)到持久對(duì)象存儲(chǔ)中,在需要時(shí)可以處理pb級(jí)的數(shù)據(jù)。Loki還可以將來(lái)自Prometheus、Grafana和Kubernetes等不同來(lái)源的指標(biāo)引入到普通用戶體驗(yàn)中。它是Opstrace建立在Vector基礎(chǔ)上并與Vector合作的另一個(gè)數(shù)據(jù)可觀測(cè)性工具。 Grafana實(shí)驗(yàn)室負(fù)責(zé)維護(hù)項(xiàng)目,并為企業(yè)提供商業(yè)支持。
3. OpenTelemetry
https://github.com/open-telemetry
https://opentelemetry.io/docs/
OpenTelemetry(簡(jiǎn)寫(xiě):OTel)提供了廣泛的數(shù)據(jù)捕獲、聚合和分析功能集合。它源于OpenCensus和OpenTracing的合并。它擁有一個(gè)由微軟、谷歌、Dynatrace等公司支持的大型社區(qū)。盡管它開(kāi)始于應(yīng)用程序、性能和安全領(lǐng)域,但同樣的組件也可以應(yīng)用于數(shù)據(jù)可觀測(cè)性。 OpenTelemetry使入門變得快速簡(jiǎn)單。數(shù)據(jù)工程師和開(kāi)發(fā)人員可以使用系統(tǒng)提供的自動(dòng)檢測(cè)包將檢測(cè)集成到他們的應(yīng)用程序和數(shù)據(jù)管道中。這些工具幫助企業(yè)以與供應(yīng)商無(wú)關(guān)的格式收集、處理和發(fā)布數(shù)據(jù)。這使企業(yè)不必支持和管理多種可觀測(cè)性數(shù)據(jù)格式。 OpenTelemetry對(duì)于需要支持多種語(yǔ)言和框架的數(shù)據(jù)工程團(tuán)隊(duì)很有幫助。它使企業(yè)能夠使用統(tǒng)一的規(guī)范來(lái)傳輸遙測(cè)數(shù)據(jù),從而降低應(yīng)用開(kāi)銷。 4. Opstrace
https://gitlab.com/gitlab-org/opstrace
https://opstrace.com/docs
Opstrace是一個(gè)通用的可觀測(cè)性平臺(tái),也支持?jǐn)?shù)據(jù)可觀測(cè)性。它包括全面的安全功能、警報(bào)管理和收集集成從其他工具和服務(wù)收集數(shù)據(jù)。 Opstrace使入門變得非常簡(jiǎn)單。Opstrace集群可以在幾分鐘內(nèi)建立并運(yùn)行。如果企業(yè)已經(jīng)建立了Prometheus,就會(huì)變得更簡(jiǎn)單。 企業(yè)可以在其谷歌Cloud或AWS帳戶中安裝Opstrace,將其用作功能齊全的基于云的可觀測(cè)平臺(tái)。與傳輸層安全(TLS)證書(shū)的集成簡(jiǎn)化了讀寫(xiě)數(shù)據(jù)的安全配置。 5. Prometheus
https://github.com/prometheus
https://prometheus.io/docs/introduction/overview/
Prometheus是一個(gè)開(kāi)源的監(jiān)控工具,用于實(shí)現(xiàn)度量和觸發(fā)警報(bào),這對(duì)數(shù)據(jù)可觀察性很有用。它包括分析時(shí)間序列數(shù)據(jù)并將其轉(zhuǎn)換為基于各種標(biāo)準(zhǔn)的派生時(shí)間序列的重要功能。它帶有PromQL查詢語(yǔ)言,用于動(dòng)態(tài)生成圖形、表格和警報(bào)。它還支持各種可視化工具。
當(dāng)企業(yè)已經(jīng)安裝了Prometheus時(shí),安裝Opstrace等其他工具就比較簡(jiǎn)單了。企業(yè)只需要對(duì)Prometheus配置文件做一些小的修改,就可以將數(shù)據(jù)從Prometheus傳輸?shù)絆pstrace集群。 6. Vector
https://github.com/vectordotdev/vector
https://vector.dev/docs/
Vector是一個(gè)幫助企業(yè)創(chuàng)建日志和分析數(shù)據(jù)管道的工具,幫助收集、處理和分配數(shù)據(jù)應(yīng)用程序的跨度、軌跡、日志和指標(biāo)到他們所選擇的工具。
它使用基于有向無(wú)環(huán)圖(Directed Acycling Graph,DAG)的方法來(lái)促進(jìn)數(shù)據(jù)從一個(gè)階段到另一個(gè)階段的流動(dòng)和轉(zhuǎn)換。企業(yè)可使用TOML、YAML或JSON文件等格式定義DAG。矢量重映射語(yǔ)言(VRL)可以幫助轉(zhuǎn)換可觀察性事件,并為進(jìn)一步過(guò)濾和路由事件設(shè)置標(biāo)準(zhǔn)。
審核編輯 :李倩
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3750瀏覽量
64217 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3213瀏覽量
42294
原文標(biāo)題:六大頂級(jí)、開(kāi)源的數(shù)據(jù)可觀測(cè)性工具
文章出處:【微信號(hào):軟件質(zhì)量報(bào)道,微信公眾號(hào):軟件質(zhì)量報(bào)道】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論