Prometheus技术秘笈
第 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.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
查看完整
百里燊,硕士研究生毕业,小时候想成为闯荡江湖的侠客,结果着迷于代码,最终沦为辛勤工作的程序员。目前关注各种开源时序数据库,期待与大家共同进步。联系邮箱:shen_baili@163.com
Prometheus是一款当前迅速崛起的新兴监控系统。本书主要以Prometheus 2.5.0版本为基础进行介绍。全书分为11章,从Prometheus的基础入手,系统地介绍了Prometheus配置、Prometheus TSDB、scrape模块、storage模块、HTTP API接口、PromQL语句、Rule配置、Discovery、AlertManager以及Client等内容,读者阅读本书后,将会全面了解并掌握Prometheus的原理与应用,并在实际场景中进行实践。
本书适合监控运维人员 、Prometheus二次开发人员 、Golang工程师以及时序数据库开发人员阅读。
本书适合监控运维人员 、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
^ 收 起
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
^ 收 起
百里燊,硕士研究生毕业,小时候想成为闯荡江湖的侠客,结果着迷于代码,最终沦为辛勤工作的程序员。目前关注各种开源时序数据库,期待与大家共同进步。联系邮箱:shen_baili@163.com
Prometheus是一款当前迅速崛起的新兴监控系统。本书主要以Prometheus 2.5.0版本为基础进行介绍。全书分为11章,从Prometheus的基础入手,系统地介绍了Prometheus配置、Prometheus TSDB、scrape模块、storage模块、HTTP API接口、PromQL语句、Rule配置、Discovery、AlertManager以及Client等内容,读者阅读本书后,将会全面了解并掌握Prometheus的原理与应用,并在实际场景中进行实践。
本书适合监控运维人员 、Prometheus二次开发人员 、Golang工程师以及时序数据库开发人员阅读。
本书适合监控运维人员 、Prometheus二次开发人员 、Golang工程师以及时序数据库开发人员阅读。
比价列表
1人想要1人拥有
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠