官术网_书友最值得收藏!

1.3 Prometheus 2.0

2017年11月,Prometheus發布了2.0版本。在2.0版本中,Prometheus開始使用完全獨立的全新存儲引擎TSDB[1](不再依賴于LevelDB,與之前的版本不兼容)。新的存儲引擎的引入使得Prometheus的數據存儲性能大幅增強,為Prometheus的后續發展奠定了堅實基礎。此外,在該版本的遠程讀寫過程中,請求和響應消息開始使用snappy算法進行壓縮,從而提高了網絡I/O[2]吞吐量。同時遠程存儲使用的連接開始啟用HTTP keep-alive(在1.0版本中該模式是未啟用的),從而減少了應用層遠程連接方面的開銷。


[1]時間序列數據庫(Time Series Database,TSDB)

[2]輸入/輸出(input/output,IO)

除了存儲方面的升級,2.0版本還增加或者升級了其他方面的功能。自動發現功能支持的目標增加到11種,包括Kubernetes、Azure、Consul、ZooKeeper、File、DNS、EC2、GCE、Marathon、OpenStack、Triton等。其中,GCE、OpenStack和Triton為新增的功能。在Web API方面,2.0版本增加了監控目標數據查詢功能、Alertmanager查詢功能以及配置信息查詢功能,并且開始支持遠程讀取。

2.0版本的各個模塊在代碼文件中的分布如代碼清單1-3所示。

代碼清單1-3 Prometheus-2.0主要代碼文件目錄

.
|-- cmd                 # 包含主程序,以及由工具箱發展而來的Promtool模塊
|-- config    # YAML配置信息處理模塊,實現了配置信息的結構定義和編解碼,以及配置文件的加載等
|-- console_libraries   # Web用戶界面所使用的模板定義,包含導航欄、菜單、通用函數等
|-- consoles            # Web用戶界面使用的HTML文件
|-- discovery           # 監控目標自動發現模塊,支持11種目標的自動發現
|-- docs                # 說明文檔和用戶手冊
|-- documentation       # 各種配置文件
|-- notifier            # 通知器模塊
|-- pkg                 # 底層模塊,包含各種底層數據結構和底層函數
|-- prompb              # 各種.proto文件
|-- promql              # 數據查詢語言模塊
|-- relabel             # 只有3個函數,實現標簽集的重新打標功能
|-- retrieval  # 采樣管理器模塊和監控目標管理器模塊,監控目標自動發現模塊被拆分并轉移到
# discovery目錄中 |-- rules # 規則模塊,包含告警規則管理器模塊和轉錄規則管理器模塊 |-- scripts # 包含2個文件,用于檢查許可聲明,以及編譯.proto文件并生成Go代碼 |-- storage # 存儲模塊,本地存儲改為TSDB(以外部依賴包方式引入) |-- template # 底層模塊,用于增強監控數據的處理能力 |-- util # 底層數據結構模塊,包含緩存、文件操作、定時器、字符串處理和HTTP客戶端等 |-- vendor # 實現其他模塊功能所需的外部庫,包含自動發現功能所需的外部庫 `-- web # 該模塊包含Web API和Web用戶界面這2個模塊
主站蜘蛛池模板: 信宜市| 榆中县| 墨玉县| 湘阴县| 永修县| 玛多县| 宜宾市| 梅州市| 黑水县| 辽源市| 宜兴市| 张家川| 马山县| 青浦区| 潢川县| 改则县| 鸡西市| 怀宁县| 沅江市| 双牌县| 金堂县| 棋牌| 涿鹿县| 遂宁市| 广元市| 沾化县| 苏尼特左旗| 庐江县| 抚顺县| 泗阳县| 武宁县| 白沙| 永德县| 顺昌县| 呼和浩特市| 迁西县| 富顺县| 汤原县| 安福县| 融水| 广元市|