前言
写作目的
随着Kubernetes在信息技术领域的广泛应用以及运维工作对监控系统的依赖程度的增加,Prometheus监控系统逐渐成为信息技术架构中不可缺少的功能组件。本书全面而深入地剖析Prometheus监控系统的各个组成部分,帮助读者理解Prometheus监控系统各个模块的底层工作机制。
内容结构
本书共11章,总体上按照监控数据的采集和加工流程顺序讲解各个模块的底层工作机制。
第1章选取Prometheus发展过程中的4个具有里程碑意义的版本,讲解各主要模块的功能发展、演变过程。
第2章讲解Prometheus各个模块中广泛用到的YAML文本以及Prometheus配置文件的加载与刷新过程。
第3章讲解监控数据来源模块Exporter的典型工作架构以及原始监控数据是如何加工和对外输出的。
第4章讲解监控目标的自动发现机制,即Prometheus如何探测并发现多种多样的监控目标。
第5章讲解监控数据的采集与加工,即Prometheus服务器如何向大量监控目标请求监控数据,以及如何将监控数据转换为需要的数据结构并写入数据库。
第6章讲解Prometheus的本地数据库TSDB,包括监控数据写入头部块以及头部子块的具体过程、头部块和主体块的逐级压缩过程,以及WAL文件和事务隔离机制等。
第7章讲解Prometheus本地数据库的查询语言PromQL,包括PromQL解析器、语法树的结构和语法树的执行等。
第8章讲解监控数据的计算与告警触发,包括转录规则和告警规则的执行以及警报消息的通知等。
第9章讲解Prometheus提供的Web服务,包括Web API的各项功能和Web用户界面中PromQL编辑器的功能等。
第10章讲解Prometheus的构建与部署,以及与部署相关的问题。
第11章讲解分布式系统Alertmanager,包括分布式集群工作原理以及警报管理系统对警报消息的整个处理流程(从警报接收到分组、滤除、派发和登记)等。