智匯華云 | 集群日志動態(tài)采集方案

日志中心是一個統(tǒng)一的日志管理平臺,全面收集、管理和分析云平臺日志數(shù)據(jù)。本期智匯華云,為大家介紹日志中心的基礎(chǔ)架構(gòu)和業(yè)務(wù)流程。
背景
平臺或資源出現(xiàn)異;蚬收蠒r,管理員可通過運維門戶的日志功能,在線查詢、搜索日志異常的原因,快速的進行問題定位,無需登錄云管后端或來回切換到每一個節(jié)點的后端查詢?nèi)罩。也為了方便對日志統(tǒng)一存儲、實時檢索、查詢和分析、監(jiān)控告警,因此需要建立一個統(tǒng)一管理,可動態(tài)配置的多集群日志采集服務(wù)——logcenter。
功能
聚合華云云管理平臺(含k8s等高級組件)、納管集群的系統(tǒng)日志、資源日志進行統(tǒng)一管理,可視化展示支持根據(jù)自定義時間段進行單關(guān)鍵字、組合關(guān)鍵字全局(文)搜索能力
可選擇在指定集群、節(jié)點、單資源、單服務(wù)范圍等對日志進行搜索支持對對關(guān)鍵字、時間搜索保存
作為預(yù)置搜索項可根據(jù)日志的嚴重性進行篩選,如:緊急、警報、錯誤、信息等
支持對自定義時間內(nèi)的相同異常日志數(shù)量、類型進行統(tǒng)計,繪制走勢圖
架構(gòu)

整體架構(gòu)在ELK Stack開源框架的基礎(chǔ)上,增加logcenter微服務(wù)來統(tǒng)一管理每個集群中filebeat的采集配置,云管理平臺后端服務(wù)的采集配置是有初始模板的,并且可以在功能頁面上編輯不同微服務(wù)的模板來動態(tài)修改采集的日志數(shù)據(jù),新建或者導(dǎo)入的K8S集群采集配置需要每次調(diào)接口生成。對filebeat做了二次開發(fā),使其通過定時調(diào)用logcenter接口來獲取采集配置,配置在初始化之后都是存儲在分布式緩存etcd中,來保證多集群環(huán)境下采集配置同步。
在云管理平臺、超融合、裸金屬服務(wù)器環(huán)境中,filebeat都是通過docker容器的形式運行,通過將宿主機中的日志目錄掛載到容器中來讓filebeat得到要采集的數(shù)據(jù)源,而在K8S集群中,filebeat是通過DaemonSet的形式部署的,確保全部Node 上運行一個 Pod 的副本。
filebeat采集的日志通過網(wǎng)絡(luò)傳輸給logstash,logstash會對數(shù)據(jù)做處理之后再傳輸?shù)絜lasticsearch保存。
流程

通過流程可以發(fā)現(xiàn),日志中心是集群日志采集方案的核心,所有的采集配置都是通過日志中心創(chuàng)建并維護,filebeat拉取配置的定時任務(wù)每隔5秒執(zhí)行一次,用戶在平臺功能頁面更新指定配置,日志中心服務(wù)會更新緩存數(shù)據(jù),基于緩存的存儲可以更快的響應(yīng)filebeat拉取配置的請求。
采集配置中不僅有采集規(guī)則,還有一些業(yè)務(wù)配置,比如日志的最大保存時間和最大保存容量,所以在日志中心中有定時任務(wù)定時去清理elasticsearch中的日志數(shù)據(jù),減少系統(tǒng)內(nèi)存的占用。同時也有日志告警相關(guān)的設(shè)計,保證一些重大的故障可以盡早發(fā)現(xiàn)。
用戶在檢索日志的時候也是通過調(diào)日志中心的接口,日志中心根據(jù)請求參數(shù)去elasticsearch拉取數(shù)據(jù)并整理方便查看的日志格式返回。
總結(jié)
日志中心解決了多集群環(huán)境下需要統(tǒng)一收集日志數(shù)據(jù),動態(tài)配置采集內(nèi)容的場景,幫助用戶提升運維、運營效率,快速查找和定位問題,采用高可擴展性的分布式系統(tǒng)架構(gòu)設(shè)計,可以很靈活的開啟和關(guān)閉指定集群的日志采集。
頁面查詢只需要使用簡單的查詢語法,通過可視化界面配置分析報表,降低用戶使用門檻。
大家都在看
