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