- 深入理解Prometheus監(jiān)控系統(tǒng)
- 鮑光亞 張帆
- 868字
- 2024-12-16 17:00:36
1.3 Prometheus 2.0
2017年11月,Prometheus發(fā)布了2.0版本。在2.0版本中,Prometheus開(kāi)始使用完全獨(dú)立的全新存儲(chǔ)引擎TSDB[1](不再依賴于LevelDB,與之前的版本不兼容)。新的存儲(chǔ)引擎的引入使得Prometheus的數(shù)據(jù)存儲(chǔ)性能大幅增強(qiáng),為Prometheus的后續(xù)發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。此外,在該版本的遠(yuǎn)程讀寫(xiě)過(guò)程中,請(qǐng)求和響應(yīng)消息開(kāi)始使用snappy算法進(jìn)行壓縮,從而提高了網(wǎng)絡(luò)I/O[2]吞吐量。同時(shí)遠(yuǎn)程存儲(chǔ)使用的連接開(kāi)始啟用HTTP keep-alive(在1.0版本中該模式是未啟用的),從而減少了應(yīng)用層遠(yuǎn)程連接方面的開(kāi)銷(xiāo)。
[1]時(shí)間序列數(shù)據(jù)庫(kù)(Time Series Database,TSDB)
[2]輸入/輸出(input/output,IO)
除了存儲(chǔ)方面的升級(jí),2.0版本還增加或者升級(jí)了其他方面的功能。自動(dòng)發(fā)現(xiàn)功能支持的目標(biāo)增加到11種,包括Kubernetes、Azure、Consul、ZooKeeper、File、DNS、EC2、GCE、Marathon、OpenStack、Triton等。其中,GCE、OpenStack和Triton為新增的功能。在Web API方面,2.0版本增加了監(jiān)控目標(biāo)數(shù)據(jù)查詢功能、Alertmanager查詢功能以及配置信息查詢功能,并且開(kāi)始支持遠(yuǎn)程讀取。
2.0版本的各個(gè)模塊在代碼文件中的分布如代碼清單1-3所示。
代碼清單1-3 Prometheus-2.0主要代碼文件目錄
. |-- cmd # 包含主程序,以及由工具箱發(fā)展而來(lái)的Promtool模塊 |-- config # YAML配置信息處理模塊,實(shí)現(xiàn)了配置信息的結(jié)構(gòu)定義和編解碼,以及配置文件的加載等 |-- console_libraries # Web用戶界面所使用的模板定義,包含導(dǎo)航欄、菜單、通用函數(shù)等 |-- consoles # Web用戶界面使用的HTML文件 |-- discovery # 監(jiān)控目標(biāo)自動(dòng)發(fā)現(xiàn)模塊,支持11種目標(biāo)的自動(dòng)發(fā)現(xiàn) |-- docs # 說(shuō)明文檔和用戶手冊(cè) |-- documentation # 各種配置文件 |-- notifier # 通知器模塊 |-- pkg # 底層模塊,包含各種底層數(shù)據(jù)結(jié)構(gòu)和底層函數(shù) |-- prompb # 各種.proto文件 |-- promql # 數(shù)據(jù)查詢語(yǔ)言模塊 |-- relabel # 只有3個(gè)函數(shù),實(shí)現(xiàn)標(biāo)簽集的重新打標(biāo)功能 |-- retrieval # 采樣管理器模塊和監(jiān)控目標(biāo)管理器模塊,監(jiān)控目標(biāo)自動(dòng)發(fā)現(xiàn)模塊被拆分并轉(zhuǎn)移到
# discovery目錄中 |-- rules # 規(guī)則模塊,包含告警規(guī)則管理器模塊和轉(zhuǎn)錄規(guī)則管理器模塊 |-- scripts # 包含2個(gè)文件,用于檢查許可聲明,以及編譯.proto文件并生成Go代碼 |-- storage # 存儲(chǔ)模塊,本地存儲(chǔ)改為T(mén)SDB(以外部依賴包方式引入) |-- template # 底層模塊,用于增強(qiáng)監(jiān)控?cái)?shù)據(jù)的處理能力 |-- util # 底層數(shù)據(jù)結(jié)構(gòu)模塊,包含緩存、文件操作、定時(shí)器、字符串處理和HTTP客戶端等 |-- vendor # 實(shí)現(xiàn)其他模塊功能所需的外部庫(kù),包含自動(dòng)發(fā)現(xiàn)功能所需的外部庫(kù) `-- web # 該模塊包含Web API和Web用戶界面這2個(gè)模塊
- MacTalk 跨越邊界
- Revit 2020中文版從入門(mén)到精通
- VMware vSphere 7.0云平臺(tái)運(yùn)維與管理(第2版)
- App草圖+流程圖+交互原型設(shè)計(jì)教程
- ODPS權(quán)威指南 阿里大數(shù)據(jù)平臺(tái)應(yīng)用開(kāi)發(fā)實(shí)踐
- 學(xué)校沒(méi)教的軟件工程課
- 每天5分鐘玩轉(zhuǎn)OpenStack
- 搜索架構(gòu)之道:App中的搜索系統(tǒng)設(shè)計(jì)與優(yōu)化實(shí)踐
- 混沌工程:通過(guò)可控故障實(shí)驗(yàn)提升軟件系統(tǒng)可靠性
- 大規(guī)模組織DevOps實(shí)踐(第2版)
- 計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)集成技術(shù)基礎(chǔ)與解決方案
- 內(nèi)容理解:技術(shù)、算法與實(shí)踐
- 軟件單元測(cè)試
- 大話軟件工程案例篇:項(xiàng)目與產(chǎn)品開(kāi)發(fā)實(shí)戰(zhàn)
- 騰訊Android自動(dòng)化測(cè)試實(shí)戰(zhàn)