深入理解PROMETHEUS监控系统
新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。
¥
48.87
6.1折
¥
79.8
全新
库存14件
作者鲍光亚 张帆
出版社人民邮电出版社
ISBN9787115642677
出版时间2024-07
装帧平装
开本16开
定价79.8元
货号1203321094
上书时间2024-10-23
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
鲍光亚,毕业于山东大学,具有10年以上互联网行业工作经验,曾就职于京东,主要负责监控系统的开发工作,在Prometheus和Zabbix监控系统的使用方面有丰富的经验,著有《深入理解Zabbix监控系统》一书。
张帆,毕业于北京航空航天大学。?2007~2011年在中国工商银行软件开发中心负责测试环境的监控和管理,2011年以来在金融行业负责监控系统相关工作,在Prometheus和Zabbix监控系统的使用方面有丰富的经验。
目录
第 1章 Prometheus技术演进史1
1.1 Prometheus 0.1.0(少有版本)1
1.2 Prometheus 1.03
1.3 Prometheus 2.04
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 将语法树转换为目标对象24
2.2 配置文件的加载与刷新26
第3章 监控数据的来源——Exporter28
3.1 Exporter的典型工作架构28
3.2 采集器30
3.2.1 采集器的工作机制30
3.2.2 监控项描述符32
3.2.3 Gauge样本状态结构体33
3.2.4 Counter样本状态结构体34
3.2.5 Histogram样本状态结构体35
3.2.6 Summary样本状态结构体36
3.3 汇集器37
3.4 编码器39
3.5 推送模式41
第4章 监控目标的发现——Discovery42
4.1 Discovery管理器42
4.2 数据供应者43
4.3 目标数据的组织结构45
4.4 数据供应过程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章 监控数据的采集与加工56
5.1 采样管理器概述56
5.2 监控目标数据加工过程59
5.2.1 目标数据加载协程59
5.2.2 采样池的目标数据同步60
5.2.3 采样协程的创建63
5.2.4 采样时间偏置63
5.3 监控数据加工过程64
5.3.1 HTTP请求与响应消息65
5.3.2 响应消息的解析66
5.3.3 写入数据库75
5.3.4 生成报告76
5.4 配置信息加载过程77
5.5 采集过程自身监控指标78
第6章 监控数据的存储与读写 ——TSDB81
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 将头部块转换为主体块的1级压缩88
6.2.2 主体块的逐级压缩92
6.3 WAL文件与快照文件94
6.3.1 WAL文件的加载94
6.3.2 快照文件的生成与加载95
6.4 事务及其隔离性97
第7章 监控数据的查询语言——PromQL100
7.1 PromQL解析器100
7.1.1 解析器的工作过程101
7.1.2 句法分析103
7.1.3 词法分析104
7.2 PromQL语法树的结构105
7.2.1 语法树的节点类型105
7.2.2 向量选择器108
7.2.3 矩阵选择器109
7.2.4 子查询表达式110
7.2.5 二元表达式111
7.2.6 函数调用表达式113
7.2.7 聚合表达式115
7.2.8 步调恒定表达式115
7.3 PromQL语法树的执行116
7.3.1 监控数据查询模型116
7.3.2 向量选择器的执行119
7.3.3 时间参数及其处理121
7.3.4 矩阵选择器的执行124
7.3.5 子查询节点的执行125
7.3.6 聚合表达式的执行127
7.3.7 函数调用节点的执行128
7.3.8 二元表达式的执行130
7.3.9 查询任务的调度与监控131
第8章 监控数据的计算与告警触发133
8.1 转录规则133
8.2 告警规则135
8.2.1 告警规则的定义与执行135
8.2.2 警报状态及其转换136
8.2.3 警报外发及其生命延续方法137
8.2.4 警报样本写入数据库138
8.3 规则组及其评价任务调度140
8.4 通知器143
第9章 HTTP API与PromQL编辑器146
9.1 路由选择器146
9.2 Web API与联邦150
9.2.1 远程写请求及其处理150
9.2.2 远程读请求及其处理151
9.2.3 本地查询请求及其处理154
9.2.4 本地TSDB管理155
9.2.5 联邦155
9.3 PromQL编辑器157
9.3.1 自动补全157
9.3.2 语法高亮160
9.3.3 语法检查161
9.4 PromQL前端解析器162
9.4.1 解析器的栈结构162
9.4.2 分析表的编码及其加载162
9.4.3 词法分析器163
9.4.4 句法分析器165
第 10章 Prometheus的构建与部署171
10.1 Makefile文件171
10.2 代码静态检查173
10.3 构建过程175
10.3.1 Web用户界面静态资源文件的构建176
10.3.2 Go代码的构建178
10.3.3 自动发现插件的构建179
10.4 代码测试180
10.4.1 Go代码测试180
10.4.2 Web用户界面代码测试181
10.5 部署181
第 11章 警报管理系统——Alertmanager183
11.1 警报管理系统的分布式集群183
11.1.1 集群成员间传输的消息类型183
11.1.2 节点的数据表示与新节点的加入185
11.1.3 节点间的探测187
11.1.4 全量数据交换189
11.1.5 消息的散播192
11.2 警报存储池与警报状态总账198
11.2.1 警报的存储结构198
11.2.2 警报的写入200
11.2.3 警报的订阅201
11.2.4 警报的清理202
11.3 警报的分组与组内处理流程202
11.3.1 封闭式分组(路由树及其匹配)203
11.3.2 开放式分组(自我聚类)204
11.3.3 组内警报处理流程206
11.4 警报的滤除207
11.4.1 抑制器208
11.4.2 时钟过滤209
11.4.3 消声器210
11.5 警报的派发212
11.5.1 收件人的数据结构表示212
11.5.2 派发等待与去重213
11.5.3 警报的试投213
11.6 警报的登记216
11.6.1 通知日志的存储与读写216
11.6.2 通知日志的广播218
11.6.3 通知日志的作用218
内容摘要
本书按照监控数据的采集和加工流程的顺序,深入剖析 Prometheus 监控系统的主要模块,旨在帮助读者理解 Prometheus 监控系统的底层工作机制。本书主要内容包括监控数据来源模块、监控目标发现模块、监控数据采集模块、监控数据存储与读写模块、监控数据查询语言、监控数据计算与告警模块、Web模块,以及警报管理系统等。通过对主要模块的学习,读者可以了解 Prometheus 监控系统是如何充分利用并发能力和 Go 语言的关键特性来应对动态变化的云环境的。
本书适合已经对 Prometheus 有初步了解的读者,也适合想要进一步探究其内部工作机制的运维工程师、软件设计人员及软件开发工程师阅读。
主编推荐
·带你深入理解Prometheus监控系统的主要模块。
·从源码层次带你理解Prometheus本质。
·拆解监控流程,带你深入观察其内部工作机制。
·与两位在监控岗位工作10多年的作者交流监控系统实战经验。
— 没有更多了 —
以下为对购买帮助不大的评价