深入理解Prometheus监控系统

深入理解Prometheus监控系统

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

深入剖析Prometheus监控系统主要模块。

内容简介

本书按照监控数据的采集和加工流程的顺序,深入剖析Prometheus监控系统的主要模块,旨在帮助读者理解Prometheus监控系统的底层工作机制。

本书主要内容包括监控数据来源模块、监控目标发现模块、监控数据采集模块、监控数据存储与读写模块、监控数据查询语言、监控数据计算与告警模块、Web模块,以及警报管理系统等。通过对主要模块的学习,读者可以了解Prometheus监控系统是如何充分利用并发能力和Go语言的关键特性来应对动态变化的云环境的。

作者简介

作者鲍光亚,毕业于山东大学,具有10年以上互联网行业工作经验,曾就职于京东,主要负责监控系统的开发工作,在Prometheus和Zabbix监控系统的使用方面有丰富的经验。

章节目录

版权信息

内容提要

序一

序二

前言

致谢

资源与支持

第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章 监控数据的来源

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章 监控目标的发现

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章 监控数据的存储与读写

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章 监控数据的查询语言

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章 警报管理系统

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 通知日志的作用

深入理解Prometheus监控系统是2024年由人民邮电出版社出版,作者张帆。

得书感谢您对《深入理解Prometheus监控系统》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深入解析Android 5.0系统 电子书
本书详细剖析了最新Android5.0系统框架的原理和具体实现。本书共24章,覆盖了Android5.0系统中重要的模块,对于每个模块都详细介绍了它们的架构、原理及代码实现等各个方面,尽量让读者知其然,又知其所以然,达到学以致用的目的。本书主要内容为AndroidBuild系统核心、Android的Bionic、系统调用的实现、Binder应用层的核心类、JNI、同步和消息机制、进程间的消息传递、
深入理解Android 5源代码 电子书
本书共分20章,循序渐进地分析了Android系统的基本源代码,依次讲解了Android系统介绍,获取并编译Android源代码,分析JavaNativeInterface系统,分析HAL系统,分析IPC通信机制,分析Binder对象和Java接口,分析ServiceManager和MessageQueue,init进程和Zygote进程,System进程和应用程序进程,分析Activity组件,
深入理解Spring Cloud与微服务构建 电子书
适读人群 :本书既适合Spring Cloud初学者入门使用,又适合正在做微服务实践的架构师或打算实施微服务的团队作为参考用书,同时也可作为高等院校计算机相关专业的师生用书和培训学校的教材。 1. 深入浅出讲解Spring Cloud组件、开发工具、框架等知识点。 2. 使读者全面理解微服务的构建原理。 3. 实例丰富,解释清晰,易于读者真正理解原理,并学以致用。 4. 深入讲解Spring Cloud OAuth2,直击市场需求痛点。
深入理解TensorFlow:架构设计与实现原理 电子书
本书以TensorFlow1.2为基础,从基本概念、内部实现和实践等方面深入剖析了TensorFlow。书中首先介绍了TensorFlow设计目标、基本架构、环境准备和基础概念,接着重点介绍了以数据流图为核心的机器学习编程框架的设计原则与核心实现,紧接着还将TensorFlow与深度学习相结合,从理论基础和程序实现这两个方面系统介绍了CNN、GAN和RNN等经典模型,然后深入剖析了TensorFl
计算机系统理解 电子书
本书是北京交通大学教材出版基金资助项目。艾丽华、王志海、于双元编著的《计算机系统理解(高等学校计算机科学与技术教材)》共分5章,第1章介绍计算机系统软、硬件构成,系统层次和性能评测等;第2章介绍硬件数据表示对高级语言程序数据类型的支持及相关概念;第3章针对高级语言程序转化为机器可执行代码过程,介绍程序预处理、编译、解释、库和链接等技术,以及集成开发环境的配置;第4章围绕程序执行,介绍程序存储映像、