近日,由網易和中國工商銀行聯合發起的雲原生紀錄檔系統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