·带你深理解Prometheus监控系统的主要模块。 ·从源码层次带你理解Prometheus本质。 ·拆解监控流程,带你深观察其内部工作机制。 ·与两位在监控岗位工作10多年的作者交流监控系统实战经验。
售 价:¥
纸质售价:¥63.00购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内 容 提 要
序 一
序 二
前 言
致 谢
资源与支持
第1章 Prometheus技术演进史
1.1 Prometheus 0.1.0(首个版本)
1.2 Prometheus 1.0
1.3 Prometheus 2.0
1.4 Prometheus 2.37(LTS版本)
第2章 YAML文本与配置文件
2.1 YAML文本解析过程
2.1.1 记号类型
2.1.2 词法分析过程
2.1.3 句法分析过程
2.1.4 将语法树转换为目标对象
2.2 配置文件的加载与刷新
第3章 监控数据的来源——Exporter
3.1 Exporter的典型工作架构
3.2 采集器
3.2.1 采集器的工作机制
3.2.2 监控项描述符
3.2.3 Gauge样本状态结构体
3.2.4 Counter样本状态结构体
3.2.5 Histogram样本状态结构体
3.2.6 Summary样本状态结构体
3.3 汇集器
3.4 编码器
3.5 推送模式
第4章 监控目标的发现——Discovery
4.1 Discovery管理器
4.2 数据供应者
4.3 目标数据的组织结构
4.4 数据供应过程
4.4.1 目标探测与处理
4.4.2 Kubernetes供应者
4.4.3 Consul供应者
4.4.4 PuppetDB供应者
4.4.5 ZooKeeper供应者
4.4.6 文件目标供应者
4.4.7 HTTP供应者
4.4.8 DNS供应者
4.4.9 其他供应者
第5章 监控数据的采集与加工
5.1 采样管理器概述
5.2 监控目标数据加工过程
5.2.1 目标数据加载协程
5.2.2 采样池的目标数据同步
5.2.3 采样协程的创建
5.2.4 采样时间偏置
5.3 监控数据加工过程
5.3.1 HTTP请求与响应消息
5.3.2 响应消息的解析
5.3.3 写入数据库
5.3.4 生成报告
5.4 配置信息加载过程
5.5 采集过程自身监控指标
第6章 监控数据的存储与读写——TSDB
6.1 头部块
6.1.1 头部追加器
6.1.2 追加样本
6.1.3 写入WAL文件
6.1.4 写入头部子块
6.1.5 头部子块的持久化
6.2 压缩器
6.2.1 将头部块转换为主体块的1级压缩
6.2.2 主体块的逐级压缩
6.3 WAL文件与快照文件
6.3.1 WAL文件的加载
6.3.2 快照文件的生成与加载
6.4 事务及其隔离性
第7章 监控数据的查询语言——PromQL
7.1 PromQL解析器
7.1.1 解析器的工作过程
7.1.2 句法分析
7.1.3 词法分析
7.2 PromQL语法树的结构
7.2.1 语法树的节点类型
7.2.2 向量选择器
7.2.3 矩阵选择器
7.2.4 子查询表达式
7.2.5 二元表达式
7.2.6 函数调用表达式
7.2.7 聚合表达式
7.2.8 步调恒定表达式
7.3 PromQL语法树的执行
7.3.1 监控数据查询模型
7.3.2 向量选择器的执行
7.3.3 时间参数及其处理
7.3.4 矩阵选择器的执行
7.3.5 子查询节点的执行
7.3.6 聚合表达式的执行
7.3.7 函数调用节点的执行
7.3.8 二元表达式的执行
7.3.9 查询任务的调度与监控
第8章 监控数据的计算与告警触发
8.1 转录规则
8.2 告警规则
8.2.1 告警规则的定义与执行
8.2.2 警报状态及其转换
8.2.3 警报外发及其生命延续方法
8.2.4 警报样本写入数据库
8.3 规则组及其评价任务调度
8.4 通知器
第9章 HTTP API与PromQL编辑器
9.1 路由选择器
9.2 Web API与联邦
9.2.1 远程写请求及其处理
9.2.2 远程读请求及其处理
9.2.3 本地查询请求及其处理
9.2.4 本地TSDB管理
9.2.5 联邦
9.3 PromQL编辑器
9.3.1 自动补全
9.3.2 语法高亮
9.3.3 语法检查
9.4 PromQL前端解析器
9.4.1 解析器的栈结构
9.4.2 分析表的编码及其加载
9.4.3 词法分析器
9.4.4 句法分析器
第10章 Prometheus的构建与部署
10.1 Makefile文件
10.2 代码静态检查
10.3 构建过程
10.3.1 Web用户界面静态资源文件的构建
10.3.2 Go代码的构建
10.3.3 自动发现插件的构建
10.4 代码测试
10.4.1 Go代码测试
10.4.2 Web用户界面代码测试
10.5 部署
第11章 警报管理系统——Alertmanager
11.1 警报管理系统的分布式集群
11.1.1 集群成员间传输的消息类型
11.1.2 节点的数据表示与新节点的加入
11.1.3 节点间的探测
11.1.4 全量数据交换
11.1.5 消息的散播
11.2 警报存储池与警报状态总账
11.2.1 警报的存储结构
11.2.2 警报的写入
11.2.3 警报的订阅
11.2.4 警报的清理
11.3 警报的分组与组内处理流程
11.3.1 封闭式分组(路由树及其匹配)
11.3.2 开放式分组(自我聚类)
11.3.3 组内警报处理流程
11.4 警报的滤除
11.4.1 抑制器
11.4.2 时钟过滤
11.4.3 消声器
11.5 警报的派发
11.5.1 收件人的数据结构表示
11.5.2 派发等待与去重
11.5.3 警报的试投
11.6 警报的登记
11.6.1 通知日志的存储与读写
11.6.2 通知日志的广播
11.6.3 通知日志的作用
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜