《Prometheus技術秘笈》是2019年12月人民郵電出版社出版的圖書,作者是百里燊。
基本介紹
- 書名:Prometheus技術秘笈
- 作者:百里燊
- ISBN:9787115521569
- 頁數:361頁
- 定價:89元
- 出版社:人民郵電出版社
- 出版時間:2019年12月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
Prometheus是一款當前迅速崛起的新興監控系統。本書主要以Prometheus 2.5.0版本為基礎進行介紹。全書分為11章,從Prometheus的基礎入手,系統地介紹了Prometheus配置、Prometheus TSDB、scrape模組、storage模組、HTTP API接口、PromQL語句、Rule配置、Discovery、AlertManager以及Client等內容,讀者閱讀本書後,將會全面了解並掌握Prometheus的原理與套用,並在實際場景中進行實踐。
本書適合監控運維人員 、Prometheus二次開發人員 、Golang工程師以及時序資料庫開發人員閱讀。
圖書目錄
第 1章 Prometheus基礎入門 1
1.1 時序資料庫對比 1
1.1.1 InfluxDB簡介 1
1.1.2 Graphite簡介 3
1.1.3 OpenTSDB簡介 5
1.1.4 Open-Falcon簡介 6
1.2 Prometheus架構概述 8
1.3 快速安裝Prometheus 10
1.4 Prometheus源碼環境的搭建 12
1.5 時序數據可視化 14
1.6 本章小結 16
第 2章 Prometheus配置詳解 17
2.1 global配置 17
2.2 scrape_config基礎配置 17
2.2.1 static_configs配置 18
2.2.2 file_sd_configs配置 18
2.2.3 其他服務發現 19
2.2.4 honor_labels配置 19
2.2.5 relabel_configs配置 20
2.3 Rule的相關配置 21
2.4 AlertManager相關配置 23
2.5 遠程存儲相關配置 23
2.6 本章小結 24
第3章 深入Prometheus TSDB 25
3.1 Gorilla簡介 25
3.1.1 timestamp壓縮 26
3.1.2 value值壓縮 27
3.2 時序數據存儲 28
3.2.1 bstream 29
3.2.2 Chunk接口 33
3.2.3 XORChunk實現 33
3.2.4 Pool 40
3.2.5 Meta元數據 42
3.2.6 ChunkWriter 43
3.2.7 ChunkReader 48
3.3 Label組件 52
3.4 索引 54
3.4.1 index檔案格式 55
3.4.2 encbuf與decbuf 60
3.4.3 index寫入詳解 62
3.4.4 index讀取詳解 75
3.5 WAL日誌 82
3.5.1 核心組件 83
3.5.2 WAL初始化 84
3.5.3 WAL日誌寫入詳解 86
3.5.4 WAL日誌讀取詳解 91
3.5.5 Record類型 95
3.6 tombstones檔案 97
3.7 Checkpoint 101
3.8 Block 106
3.8.1 初始化 107
3.8.2 block相關操作 108
3.9 壓縮 110
3.9.1 壓縮計畫 112
3.9.2 壓縮數據 115
3.10 Head 131
3.10.1 memSeries 131
3.10.2 stripeSeries 135
3.10.3 Head結構體 137
3.11 DB 145
3.11.1 初始化流程 146
3.11.2 Querier接口 156
3.11.3 刪除接口 167
3.11.4 寫入操作 168
3.12 本章小結 169
第4章 scrape模組詳解 171
4.1 Target 172
4.2 scraper接口 175
4.3 loop接口 177
4.3.1 Pool 179
4.3.2 scrapeCache 180
4.3.3 寫入時序 183
4.3.4 sampleMutator & reportSampleMutator 186
4.4 scrapePool 189
4.5 Manager 196
4.6 本章小結 199
第5章 storage模組 201
5.1 寫入 201
5.2 查詢 206
5.3 本章小結 209
第6章 Http API接口 210
6.1 PromQL的相關接口 210
6.1.1 Instant Query 211
6.1.2 Range Query 214
6.2 時序元數據查詢 216
6.3 Label Value查詢 218
6.4 Target和Rule查詢 219
6.5 Admin接口 220
6.6 本章小結 221
第7章 PromQL語句詳解 222
7.1 Engine引擎 222
7.2 查詢數據 226
7.3 執行流程 228
7.3.1 VectorSelector節點 229
7.3.2 AggregateExpr節點 232
7.3.3 BinaryExpr節點 239
7.3.4 Call節點 248
7.3.5 ParenExpr & UnaryExpr節點 250
7.4 本章小結 250
第8章 Rule詳解 252
8.1 核心組件 252
8.2 載入Rule 254
8.3 Recording Rule處理流程 257
8.4 Alerting Record處理流程 261
8.5 傳送告警 265
8.6 本章小結 268
第9章 Discovery分析 269
9.1 基於檔案的服務發現 270
9.2 discovery.Manager實現 274
9.3 Prometheus Server的啟動流程 277
9.3.1 監聽關閉事件 279
9.3.2 配置變更監聽 280
9.3.3 啟動TSDB存儲 281
9.3.4 初始化配置監聽 282
9.3.5 啟動核心模組 282
9.3.6 reloader函式定義 283
9.4 本章小結 284
第 10章 深入AlertManager 285
10.1 接收告警 287
10.2 查詢Receiver 289
10.3 Alert Provider存儲 290
10.4 Dispatcher 294
10.5 Pipeline 299
10.5.1 Gossip協定簡介 302
10.5.2 GossipSettleStage 303
10.5.3 InhibitStage 304
10.5.4 SilenceStage 307
10.5.5 DedupStage 314
10.5.6 RetryStage 319
10.5.7 SetNotifiesStage 322
10.6 cluster模組簡析 323
10.7 本章小結 328
第 11章 深入Client 330
11.1 數據類型 330
11.2 核心實現 331
11.2.1 Gauge 333
11.2.2 GaugeVec 335
11.3 Registerer 340
11.4 Handler 346
11.5 其他指標類型 348
11.5.1 Counter 348
11.5.2 Histogram 350
11.5.3 Summary 353
11.6 Exporter 357
11.7 本章小結 361