深入理解PROMETHEUS监控系统9787115642677
正版图书,可开发票,请放心购买。
¥
50.05
6.3折
¥
79.8
全新
仅1件
作者鲍光亚 张帆 著
出版社人民邮电出版社
ISBN9787115642677
出版时间2024-07
装帧平装
开本16开
定价79.8元
货号17321787
上书时间2024-11-08
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
鲍光亚,毕业于山东大学,具有10年以上互联网行业工作经验,曾就职于京东,主要负责监控系统的开发工作,在Prometheus和Zabbix监控系统的使用方面有丰富的经验,著有《深入理解Zabbix监控系统》一书。 张帆,毕业于北京航空航天大学。?2007~2011年在中国工商银行软件开发中心负责测试环境的监控和管理,2011年以来在金融行业负责监控系统相关工作,在Prometheus和Zabbix监控系统的使用方面有丰富的经验。
目录
第 1章 Prometheus技术演进史 1 1.1 Prometheus 0.1.0(首个版本) 1 1.2 Prometheus 1.0 3 1.3 Prometheus 2.0 4 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章 监控数据的来源——Exporter 28 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章 监控目标的发现——Discovery 42 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章 监控数据的存储与读写 ——TSDB 81 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章 监控数据的查询语言——PromQL 100 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章 警报管理系统——Alertmanager 183 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多年的作者交流监控系统实战经验。
精彩内容
本书按照监控数据的采集和加工流程的顺序,深入剖析 Prometheus 监控系统的主要模块,旨在帮助读者理解 Prometheus 监控系统的底层工作机制。本书主要内容包括监控数据来源模块、监控目标发现模块、监控数据采集模块、监控数据存储与读写模块、监控数据查询语言、监控数据计算与告警模块、Web模块,以及警报管理系统等。通过对主要模块的学习,读者可以了解 Prometheus 监控系统是如何充分利用并发能力和 Go 语言的关键特性来应对动态变化的云环境的。 本书适合已经对 Prometheus 有初步了解的读者,也适合想要进一步探究其内部工作机制的运维工程师、软件设计人员及软件开发工程师阅读。
— 没有更多了 —
以下为对购买帮助不大的评价