網易X工行:雲原生日誌系統Loggie正式開源!

語言: CN / TW / HK

近日,由網易和中國工商銀行聯合發起的雲原生日誌系統 Loggie專案 (github.com/loggie-io/loggie/) 正式開源 。這是網易數帆向雲原生日誌痛點發起的一次衝鋒,也是團隊聯合合作伙伴踐行“架構開放,核心開源”技術理念、把控制權交給客戶的又一行動。

Loggie專案:破解雲原生日誌之痛

企業數字化轉型浪潮中,採用雲原生技術解決數字化軟體研發、運維新挑戰已成主流選擇,然而在雲原生環境下, 容器大規模及頻繁動態遷移、日誌儲存多樣性、Kubernetes元資訊查詢等特點, 迫使日誌管理方式發生變化。隨著業務實踐的深入,日誌方面存在的人肉運維越來越多、功能開發難以擴充套件和難以支撐更大規模等問題逐漸浮出水面,業界既有的開源方案未能滿足需求,比如:

效能不達標,或者擴充套件功能開發效率低,未達到很好的平衡

對容器化場景支援有限

大部分開源專案均未提供一套完整的日誌解決方案

在此背景下,面向雲原生場景的Loggie應運而生。 Loggie是一個基於Golang的輕量級、高效能、雲原生日誌採集Agent和中轉處理Aggregator, 支援多Pipeline和元件熱插拔,提供了:

一棧式日誌解決方案:同時支援日誌中轉、過濾、解析、切分、日誌報警等

雲原生的日誌形態:快速便捷的容器日誌採集方式,原生的Kubernetes CRD動態配置下發

生產級的特性:基於長期的大規模運維經驗,形成了全方位的可觀測性、快速排障、異常預警、自動化運維能力

結合網易數帆長期的業務實踐,Loggie形成了如下 幾大特點:

•  可擴充套件、熱插拔 配置不同的Source/Interceptor/Sink,擁有中轉、過濾、解析、切分、日誌報警等能力,可使用Golang快速自研外掛

•  強隔離 多Pipeline設計,減少互相干擾,可同時傳送多個不同資料來源

• 輕量級、高效能: 基於Golang,極少的資源佔用,強大的吞吐效能

• 可靠性保障: 完善的日誌可觀測性,原生Prometheus metrics支援,還有限流等Interceptor

• 雲原生: 配置中心整合Kubernetes,建立CRD例項即可採集容器日誌

同時,基於Loggie的流式資料傳輸設計,我們可以靈活使用Loggie的Pipeline。

從使用形態上可劃分為:

• Agent形態: 每個節點一個或者每個Pod一個,用於採集日誌或者其他資料

• Aggregator形態: 用於中轉、轉發和處理,可獨立部署成叢集

可以應用在:

• 資料採集: 採集容器日誌、節點日誌,採集Prometheus metrics、Kubernetes Events等

• 資料中轉: 作為中轉機去做資料的聚合、轉發、分流

• 資料處理: 進行流式資料的切分、轉換、處理

• 日誌報警: 進行異常日誌的檢測與報警

......

此外,利用Loggie的設計,使用者也可以快速開發一個Source、Sink或Interceptor元件,複用Loggie的能力,避免大量重複的開發工作,比如:

在Kubernetes叢集中可方便、直接的使用CRD下發配置,並且支援自動reload、支援指定Loggie叢集,無需考慮部署、配置更新等問題

依賴Loggie提供傳輸過程的穩定性和可靠性,保證at-least-once和重試機制,避免資料丟失,以及資料量過多或過大造成的隱患

使用Loggie提供的一系列監控指標,比如佇列長度、傳輸延遲、傳送QPS等,可快速接入Prometheus,同時還可使用一些系統內建的快速排障的介面與能力

使用可插拔的Interceptor可用於自定義的資料處理、格式轉換等,避免過多的定製化程式碼開發

Loggie生態:攜手夥伴強化系統能力

Loggie萌芽於網易嚴選業務的實際需求,成長於嚴選與數帆的長期共建,持續發展於網易數帆與網易新聞、中國工商銀行的緊密協作。 廣泛的生態,使得專案能夠基於業務需求不斷完善、成熟。

在Loggie之前,網易嚴選採用的是開源的日誌解決方案。由於業務同時存在虛擬機器、物理機、容器等多種日誌採集場景, 需要應對相當於平峰期10倍+的大促流量,嚴選在採集效能、資源隔離、可觀測性、異常發現及自動化運維等方面都遇到了非常大的痛點。 因此,2019年,嚴選與數帆開始共建面向雲原生的全新日誌系統Loggie。

網易數帆輕舟產品總經理陳諤 表示:

Loggie是我們雲原生實踐的一項重要成果,專案遵循雲原生社群標準構建,同時相容傳統技術架構,融合工商銀行等不同行業應用場景的經驗,企業採用Loggie能夠統一日誌管理,為雲原生應用平滑落地保駕護航。Loggie的成熟得益於網易數帆與業務共建,我們相信開源將使得專案能夠適應更多行業場景,豐富開源技術生態,促進雲原生技術發展。

網易高階技術專家、嚴選中臺負責人王國雲 表示:

Loggie已經在網易嚴選的混合生產環境中經過了2年多的充分驗證。現在,在集團的大力支援下,我們將Loggie開源,一方面,希望可以填補社群在一站式日誌解決方案上的空白,幫助到更多遇到同類問題的企業;另一方面,也希望可以藉助社群的力量,使Loggie專案不斷壯大,獲得更持續更健康的發展。

後續,嚴選將基於自身業務場景及在雲原生實踐方面的技術積累,持續參與Loggie專案的開發與管理工作,也期待有更多志同道合的夥伴參與進來。

中國工商銀行已經建成同業規模最大的企業級雲平臺, 核心應用100%入雲,容器叢集超100個,執行容器超30萬個。 工商銀行2017年開始建設企業級日誌中心,日誌中心 實現對應用各類日誌收集、清洗、格式化及儲存,支撐使用者檢索、下載,日均日誌容量達 45TB ;基於標準化日誌資料打造輕量級運營服務, 快速有效支援業務交易率、耗時等基礎運營指標的實時獲取,同時還提供移動端、前臺等便捷的使用者檢視。

工商銀行軟體開發中心雲端計算實驗室主任王鑫 表示:

在社群貢獻方面,工商銀行作為Loggie專案參與單位,結合日誌平臺建設經驗,並在採集目標發現、日誌攔截處理、元件自監控等核心模組進行深度定製開發。後續,工商銀行將持續參與Loggie社群的工作,計劃在日誌輸出擴充套件、流式處理等模組繼續深入研究,反哺開源社群。

Loggie未來:滿足可觀測性更多需求

Loggie已經廣泛應用於網易內部、中國工商銀行以及網易輕舟眾多的商業客戶環境中。在網易嚴選業務的實測中,Loggie消耗的CPU僅為之前方案的1/4,同時傳送吞吐量為後者的 1.6~2.6倍 ,並且在多Pipeline採集下甚至達到了 200MB/s+極限吞吐量

Loggie開源釋出之後, 網易數帆開源的自研雲原生專案已達6個, 還包括雲原生軟體定義儲存系統Curve、多租戶視覺化Kubernetes管理平臺KubeCube、雲原生運維診斷系統KubeDiag、高效能雲原生API閘道器Hango、智慧網格管理器Slime等。 陳諤 此前曾表示 網易數帆在雲原生領域的一系列開源工作,旨在為客戶引入雲原生技術棧提供便利,通過企業級增強基礎元件的開源,幫助客戶解決雲原生基礎設施的管控、維護、穩定性等問題。

Loggie的開源,意味著網易數帆在雲原生開源版圖的可觀測性領域也落下重子,形成了更加完善的佈局。

未來,Loggie 將提供更多元件與功能擴充套件,推出輕量級的流式處理能力,不斷解決雲原生日誌的更多痛點,滿足可觀測性方向的更多需求。 對該領域感興趣的朋友,歡迎瞭解Loggie專案,共同參與建設Loggie社群!

瞭解更多

Loggie專案地址:https://github.com/loggie-io/loggie/

Loggie專案文件:https://loggie-io.github.io/docs/

數帆自主開源總覽:https://sf.163.com/opensource