注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學深入理解Prometheus監(jiān)控系統(tǒng)

深入理解Prometheus監(jiān)控系統(tǒng)

深入理解Prometheus監(jiān)控系統(tǒng)

定 價:¥79.80

作 者: 鮑光亞 張帆
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115642677 出版時間: 2024-07-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書按照監(jiān)控數(shù)據(jù)的采集和加工流程的順序,深入剖析 Prometheus 監(jiān)控系統(tǒng)的主要模塊,旨在幫助讀者理解 Prometheus 監(jiān)控系統(tǒng)的底層工作機制。本書主要內(nèi)容包括監(jiān)控數(shù)據(jù)來源模塊、監(jiān)控目標發(fā)現(xiàn)模塊、監(jiān)控數(shù)據(jù)采集模塊、監(jiān)控數(shù)據(jù)存儲與讀寫模塊、監(jiān)控數(shù)據(jù)查詢語言、監(jiān)控數(shù)據(jù)計算與告警模塊、Web模塊,以及警報管理系統(tǒng)等。通過對主要模塊的學習,讀者可以了解 Prometheus 監(jiān)控系統(tǒng)是如何充分利用并發(fā)能力和 Go 語言的關鍵特性來應對動態(tài)變化的云環(huán)境的。本書適合已經(jīng)對 Prometheus 有初步了解的讀者,也適合想要進一步探究其內(nèi)部工作機制的運維工程師、軟件設計人員及軟件開發(fā)工程師閱讀。

作者簡介

  鮑光亞,畢業(yè)于山東大學,具有10年以上互聯(lián)網(wǎng)行業(yè)工作經(jīng)驗,曾就職于京東,主要負責監(jiān)控系統(tǒng)的開發(fā)工作,在Prometheus和Zabbix監(jiān)控系統(tǒng)的使用方面有豐富的經(jīng)驗,著有《深入理解Zabbix監(jiān)控系統(tǒng)》一書。 張帆,畢業(yè)于北京航空航天大學。?2007~2011年在中國工商銀行軟件開發(fā)中心負責測試環(huán)境的監(jiān)控和管理,2011年以來在金融行業(yè)負責監(jiān)控系統(tǒng)相關工作,在Prometheus和Zabbix監(jiān)控系統(tǒng)的使用方面有豐富的經(jīng)驗。

圖書目錄

第 1章 Prometheus技術演進史 1
1.1 Prometheus 0.1.0(首個版本) 1
1.2 Prometheus 1.0 3
1.3 Prometheus 2.0 4
1.4 Prometheus 2.37(LTS版本) 5
第 2章 YAML文本與配置文件 7
2.1 YAML文本解析過程 7
2.1.1 記號類型 8
2.1.2 詞法分析過程 12
2.1.3 句法分析過程 17
2.1.4 將語法樹轉(zhuǎn)換為目標對象 24
2.2 配置文件的加載與刷新 26
第3章 監(jiān)控數(shù)據(jù)的來源——Exporter 28
3.1 Exporter的典型工作架構(gòu) 28
3.2 采集器 30
3.2.1 采集器的工作機制 30
3.2.2 監(jiān)控項描述符 32
3.2.3 Gauge樣本狀態(tài)結(jié)構(gòu)體 33
3.2.4 Counter樣本狀態(tài)結(jié)構(gòu)體 34
3.2.5 Histogram樣本狀態(tài)結(jié)構(gòu)體 35
3.2.6 Summary樣本狀態(tài)結(jié)構(gòu)體 36
3.3 匯集器 37
3.4 編碼器 39
3.5 推送模式 41
第4章 監(jiān)控目標的發(fā)現(xiàn)——Discovery 42
4.1 Discovery管理器 42
4.2 數(shù)據(jù)供應者 43
4.3 目標數(shù)據(jù)的組織結(jié)構(gòu) 45
4.4 數(shù)據(jù)供應過程 47
4.4.1 目標探測與處理 47
4.4.2 Kubernetes供應者 48
4.4.3 Consul供應者 51
4.4.4 PuppetDB供應者 52
4.4.5 ZooKeeper供應者 53
4.4.6 文件目標供應者 53
4.4.7 HTTP供應者 54
4.4.8 DNS供應者 54
4.4.9 其他供應者 55
第5章 監(jiān)控數(shù)據(jù)的采集與加工 56
5.1 采樣管理器概述 56
5.2 監(jiān)控目標數(shù)據(jù)加工過程 59
5.2.1 目標數(shù)據(jù)加載協(xié)程 59
5.2.2 采樣池的目標數(shù)據(jù)同步 60
5.2.3 采樣協(xié)程的創(chuàng)建 63
5.2.4 采樣時間偏置 63
5.3 監(jiān)控數(shù)據(jù)加工過程 64
5.3.1 HTTP請求與響應消息 65
5.3.2 響應消息的解析 66
5.3.3 寫入數(shù)據(jù)庫 75
5.3.4 生成報告 76
5.4 配置信息加載過程 77
5.5 采集過程自身監(jiān)控指標 78
第6章 監(jiān)控數(shù)據(jù)的存儲與讀寫 ——TSDB 81
6.1 頭部塊 81
6.1.1 頭部追加器 81
6.1.2 追加樣本 83
6.1.3 寫入WAL文件 84
6.1.4 寫入頭部子塊 86
6.1.5 頭部子塊的持久化 87
6.2 壓縮器 88
6.2.1 將頭部塊轉(zhuǎn)換為主體塊的1級壓縮 88
6.2.2 主體塊的逐級壓縮 92
6.3 WAL文件與快照文件 94
6.3.1 WAL文件的加載 94
6.3.2 快照文件的生成與加載 95
6.4 事務及其隔離性 97
第7章 監(jiān)控數(shù)據(jù)的查詢語言——PromQL 100
7.1 PromQL解析器 100
7.1.1 解析器的工作過程 101
7.1.2 句法分析 103
7.1.3 詞法分析 104
7.2 PromQL語法樹的結(jié)構(gòu) 105
7.2.1 語法樹的節(jié)點類型 105
7.2.2 向量選擇器 108
7.2.3 矩陣選擇器 109
7.2.4 子查詢表達式 110
7.2.5 二元表達式 111
7.2.6 函數(shù)調(diào)用表達式 113
7.2.7 聚合表達式 115
7.2.8 步調(diào)恒定表達式 115
7.3 PromQL語法樹的執(zhí)行 116
7.3.1 監(jiān)控數(shù)據(jù)查詢模型 116
7.3.2 向量選擇器的執(zhí)行 119
7.3.3 時間參數(shù)及其處理 121
7.3.4 矩陣選擇器的執(zhí)行 124
7.3.5 子查詢節(jié)點的執(zhí)行 125
7.3.6 聚合表達式的執(zhí)行 127
7.3.7 函數(shù)調(diào)用節(jié)點的執(zhí)行 128
7.3.8 二元表達式的執(zhí)行 130
7.3.9 查詢?nèi)蝿盏恼{(diào)度與監(jiān)控 131
第8章 監(jiān)控數(shù)據(jù)的計算與告警觸發(fā) 133
8.1 轉(zhuǎn)錄規(guī)則 133
8.2 告警規(guī)則 135
8.2.1 告警規(guī)則的定義與執(zhí)行 135
8.2.2 警報狀態(tài)及其轉(zhuǎn)換 136
8.2.3 警報外發(fā)及其生命延續(xù)方法 137
8.2.4 警報樣本寫入數(shù)據(jù)庫 138
8.3 規(guī)則組及其評價任務調(diào)度 140
8.4 通知器 143
第9章 HTTP API與PromQL編輯器 146
9.1 路由選擇器 146
9.2 Web API與聯(lián)邦 150
9.2.1 遠程寫請求及其處理 150
9.2.2 遠程讀請求及其處理 151
9.2.3 本地查詢請求及其處理 154
9.2.4 本地TSDB管理 155
9.2.5 聯(lián)邦 155
9.3 PromQL編輯器 157
9.3.1 自動補全 157
9.3.2 語法高亮 160
9.3.3 語法檢查 161
9.4 PromQL前端解析器 162
9.4.1 解析器的棧結(jié)構(gòu) 162
9.4.2 分析表的編碼及其加載 162
9.4.3 詞法分析器 163
9.4.4 句法分析器 165
第 10章 Prometheus的構(gòu)建與部署 171
10.1 Makefile文件 171
10.2 代碼靜態(tài)檢查 173
10.3 構(gòu)建過程 175
10.3.1 Web用戶界面靜態(tài)資源文件的構(gòu)建 176
10.3.2 Go代碼的構(gòu)建 178
10.3.3 自動發(fā)現(xiàn)插件的構(gòu)建 179
10.4 代碼測試 180
10.4.1 Go代碼測試 180
10.4.2 Web用戶界面代碼測試 181
10.5 部署 181
第 11章 警報管理系統(tǒng)——Alertmanager 183
11.1 警報管理系統(tǒng)的分布式集群 183
11.1.1 集群成員間傳輸?shù)南㈩愋?183
11.1.2 節(jié)點的數(shù)據(jù)表示與新節(jié)點的加入 185
11.1.3 節(jié)點間的探測 187
11.1.4 全量數(shù)據(jù)交換 189
11.1.5 消息的散播 192
11.2 警報存儲池與警報狀態(tài)總賬 198
11.2.1 警報的存儲結(jié)構(gòu) 198
11.2.2 警報的寫入 200
11.2.3 警報的訂閱 201
11.2.4 警報的清理 202
11.3 警報的分組與組內(nèi)處理流程 202
11.3.1 封閉式分組(路由樹及其匹配) 203
11.3.2 開放式分組(自我聚類) 204
11.3.3 組內(nèi)警報處理流程 206
11.4 警報的濾除 207
11.4.1 抑制器 208
11.4.2 時鐘過濾 209
11.4.3 消聲器 210
11.5 警報的派發(fā) 212
11.5.1 收件人的數(shù)據(jù)結(jié)構(gòu)表示 212
11.5.2 派發(fā)等待與去重 213
11.5.3 警報的試投 213
11.6 警報的登記 216
11.6.1 通知日志的存儲與讀寫 216
11.6.2 通知日志的廣播 218
11.6.3 通知日志的作用 218

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號