KnowAgent一站式日志采集平臺
KnowAgent 是滴滴開源的一站式日志采集平臺,基于日志模板構(gòu)建,采集任務(wù)動態(tài)管控、數(shù)據(jù)質(zhì)量精確度量。
KnowAgent 源于滴滴多年來在各核心場景沉淀的超大規(guī)模采集引擎集群運(yùn)維實(shí)踐經(jīng)驗(yàn)。經(jīng)歷過多方考驗(yàn),對于大規(guī)模 Agent 日志采集的治理管控,采集任務(wù)與 Agent 的可觀測性、健康度巡檢、故障診斷已經(jīng)沉淀出一套完善的解決方案。
1.1 前置申明
1.1.1 Agent 與采集任務(wù)管控規(guī)模
? KnowAgent 基于最小依賴、便于體驗(yàn),采用 MySQL 存儲 Agent 的 Metrics 與 Error Logs 數(shù)據(jù)。受制于 MySQL 性能瓶頸,在單個采集任務(wù)對應(yīng)一個采集路徑、Metrics 與 Error Logs 數(shù)據(jù)保存周期為一周的情況下,支持 50 個 Agent 與 50 個采集任務(wù)的管控。如需要管控更多的 Agent 與采集任務(wù),參見《如何替換Agent的Metrics與Error Logs數(shù)據(jù)存儲引擎以納管更大的Agent集群》。
1.1.2 容器采集
? KnowAgent目前對容器日志采集未實(shí)現(xiàn)平臺化支持,未來將提供全面的容器日志采集平臺化支持,參見《KnowAgent一站式日志采集平臺介紹》展望部分。
1.2 快速體驗(yàn)地址
- 體驗(yàn)地址 http://116.85.4.122:9010/
1.3 用戶體驗(yàn)地圖
- 我的工作臺
- 運(yùn)營大盤:展示運(yùn)營相關(guān)的核心指標(biāo)數(shù)據(jù)。
- 運(yùn)維大盤:展示運(yùn)維相關(guān)的核心指標(biāo)數(shù)據(jù)。
- 元數(shù)據(jù)中心
- 應(yīng)用管理:維護(hù)應(yīng)用相關(guān)信息、與
應(yīng)用-主機(jī)關(guān)聯(lián)關(guān)系。 - 接收端管理:維護(hù) Agent 數(shù)據(jù)流、指標(biāo)流、錯誤日志流的數(shù)據(jù)需要寫入的下游接收端相關(guān)信息。
- 元數(shù)據(jù)管理:維護(hù)用戶上傳的元數(shù)據(jù) Excel 文件(元數(shù)據(jù) Excel 文件內(nèi)容含主機(jī)與應(yīng)用信息),并提供元數(shù)據(jù)文件內(nèi)容預(yù)覽、元數(shù)據(jù)導(dǎo)入功能。
- 應(yīng)用管理:維護(hù)應(yīng)用相關(guān)信息、與
- Agent 中心
- Agent 版本管理:維護(hù)各個版本的 Agent 安裝包信息。
- Agent 管理:維護(hù)主機(jī)相關(guān)信息與 Agent 配置、查看 Agent 健康度與故障原因(健康度為黃或紅時(shí)顯示故障原因)。Agent 啟動后,將攜帶宿主機(jī)信息自動向管理平臺進(jìn)行注冊,注冊成功后,即可對其進(jìn)行管理。
- 采集任務(wù)管理:維護(hù)采集任務(wù)相關(guān)信息,查看采集任務(wù)健康度與故障原因(健康度為黃或紅時(shí)顯示故障原因)。
- 監(jiān)控中心:
- Agent 指標(biāo)看板:查看 Agent 運(yùn)行時(shí)全景指標(biāo)(含:系統(tǒng)、進(jìn)程、與 Agent 自身業(yè)務(wù)指標(biāo))。
- 采集任務(wù)指標(biāo)看板:用于查看采集任務(wù)在各個主機(jī)上的運(yùn)行時(shí)全景指標(biāo)。
- 運(yùn)維中心
- 指標(biāo)探查:查看 Agent 與采集任務(wù)的運(yùn)行時(shí)全景指標(biāo),支持多 Agent、多采集任務(wù)進(jìn)行對比分析、一體化觀測。
1.4 核心優(yōu)勢
一站式日志采集方案
? 高可靠、高性能、具備全方位可觀測性的采集引擎,與面向應(yīng)用的易管控、易觀測、易治理的管理平臺,大幅降低日志數(shù)據(jù)采集接入成本,大幅提升日志數(shù)據(jù)采集接入效率。
易融入流式計(jì)算
? 面向應(yīng)用的采集任務(wù)、高可靠的采集引擎可確保在任意情況下的數(shù)據(jù)完整性、完善的監(jiān)控指標(biāo),支撐可靠的采集任務(wù)的數(shù)據(jù)完整性校驗(yàn),這使得采集任務(wù)可作為流式計(jì)算的一種可靠的數(shù)據(jù)源,形成整個流式計(jì)算鏈路的數(shù)據(jù)完整性閉環(huán)。
生產(chǎn)級特性
? 經(jīng)過長時(shí)間在各場景下大規(guī)模采集引擎集群運(yùn)維沉淀的專家經(jīng)驗(yàn),形成了全方位的可觀測性與完善的故障、風(fēng)險(xiǎn)感知與診斷能力,使較少的無需采集引擎先驗(yàn)知識的普通運(yùn)維人員亦能輕松運(yùn)維龐大的采集引擎集群。
高性能
? 優(yōu)異的持續(xù)采集性能,基于jdk11+,處理單行、單文件、無解析場景下發(fā)送日志數(shù)據(jù)至kafka,持續(xù)吞吐量可達(dá)100MB/s以上,極限吞吐量可達(dá)150MB/s以上,CPU限制單核情況下,持續(xù)吞吐量可達(dá)40MB/s以上。
同類對比
| 維度 | Flume | FileBeat | Logi-Agent |
|---|---|---|---|
| 可靠性 | 一般 | 一般 | 高可靠 |
| 采集性能 | Mb級 | 十Mb級 | 百M(fèi)b級 |
| 數(shù)據(jù)完整性 | 無法確保數(shù)據(jù)完整性 | 無法確保數(shù)據(jù)完整性 | 可確保數(shù)據(jù)完整性 |
| 采集任務(wù)級的租戶隔離 | 無法做到采集任務(wù)級的租戶隔離 | 無法做到采集任務(wù)級的租戶隔離 | 可做到采集任務(wù)級的租戶隔離 |
| 可擴(kuò)展性 | 良好 | 一般 | 一般 |
| 資源消耗 | 高 | 低 | CPU消耗與FileBeat趨近(大采集量場景下CPU消耗較FileBeat更小),內(nèi)存消耗較FileBeat略大(但在一個數(shù)量級上) |
| 監(jiān)控指標(biāo)的完善程度 | 較少指標(biāo) | 較少指標(biāo) | 完善的指標(biāo)體系 |
| 可觀測性 | 無 | 無 | 具備全方位的可觀測性 |
| 是否容易配置 | 否 | 否 | 是 |
| 大規(guī)模運(yùn)維復(fù)雜度 | 極高 | 極高 | 低 |
1.5 KnowAgent 架構(gòu)
? KnowAgent 是一站式的日志采集平臺,包括兩個組件:
- Agent:是基于 Java 的高性能、支持多租戶隔離的采集引擎,它能在任意情況下(除:待采集數(shù)據(jù)在被采集前被移除,例如:日志文件被歸檔或日志文件滾動速度太快導(dǎo)致)保證采集數(shù)據(jù)的完整性,持續(xù)采集速度可達(dá)150MB+/秒。
- Agent Manager:是針對 Agent 的管理平臺。用于管理相關(guān)元數(shù)據(jù)、Agent與采集任務(wù),自動巡檢 Agent 與采集任務(wù)的健康度、故障診斷,指標(biāo)展示。
