Prometheus技術秘笈

百裡燊

  • 出版商: 人民郵電
  • 出版日期: 2019-12-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • ISBN: 7115521565
  • ISBN-13: 9787115521569
  • 相關分類: Docker
  • 立即出貨 (庫存 < 4)

  • Prometheus技術秘笈-preview-1
  • Prometheus技術秘笈-preview-2
Prometheus技術秘笈-preview-1

買這商品的人也買了...

商品描述

Prometheus是一款當前迅速崛起的新興監控系統。本書主要以Prometheus 2.5.0版本為基礎進行介紹。全書分為11章,從Prometheus的基礎入手,系統地介紹了Prometheus配置、Prometheus TSDB、scrape模塊、storage模塊、HTTP API接口、PromQL語句、Rule配置、Discovery、AlertManager以及Client等內容,讀者閱讀本書後,將會全面瞭解並掌握Prometheus的原理與應用,並在實際場景中進行實踐。

本書適合監控運維人員 、Prometheus二次開發人員 、Golang工程師以及時序數據庫開發人員閱讀。

作者簡介

百里燊,碩士研究生畢業,小時候想成為闖蕩江湖的俠客,結果著迷於代碼,最終淪為辛勤工作的程序員。目前關注各種開源時序數據庫,期待與大家共同進步。聯繫郵箱:shen_baili@163.com

目錄大綱

 

第1章Prometheus基礎入門\t1
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