描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111649649
如何时刻了解私有云、公有云等数据中心及其上的应用整体运行情况?是所有数字化转型企业都非常关注的。Prometheus的出现,帮助我们揭开云的神秘面纱,云及在云上的应用运行情况变得透明,完美的仪表盘和即时告警机制分担了运维人员的压力。本书全面系统地介绍Prometheus的原理架构以及应用场景,并结合了作者多年的经验进行了深入的解读,是全方位学习Prometheus的一本好书。
Prometheus是云监控领域的瑞士军刀,本书系统地介绍Prometheus的基本理论与应用,包含作者多年的实战经验。本书主要内容分为三部分,共14章。
*部分(1-2章)介绍监控系统的技术发展与基础原理以及Prometheus的核心组件及架构;
第二部分(3-8章)介绍Prometheus的Exporter导出器、服务发现、PromQL数据查询、告警处理、可视化Grafana、Pushgateway等;
第三部分(9-14章)介绍Prometheus与其他系统结合的综合案例,如与OpenStack、Docker、Kubernetes、日志系统等结合,*后介绍了Prometheus监控系统的生产部署和统一监控系统平台的构建。
前 言
第一部分 概述
第1章 云计算时代的监控系统 2
1.1 云计算时代的应用系统 2
1.1.1企业“IT云化”实现数字化转型 3
1.1.2 云计算时代的IT架构特点 3
1.1.3 云计算时代的IT管理变革 4
1.2 云计算监控的目标和挑战 5
1.2.1 云计算监控目标 5
1.2.2 云计算监控挑战 7
1.3 云计算监控的范围和架构 8
1.3.1 监控管理的范围 8
1.3.2 监控系统的基本架构 9
1.4 百花齐放的开源监控软件工具 10
1.4.1 监控系统成熟度 11
1.4.2 Zabbix 11
1.4.3 OpenTSDB 12
1.5 Prometheus监控系统 13
1.5.1 应运而生,茁壮成长 13
1.5.2 功能完善、监控所有层级指标 15
1.5.3开放、高效、易用的完整解决方案 16
1.6 本章小结 18
第2章Prometheus基本概念及部署 19
2.1 Prometheus架构 19
2.2 Prometheus快速部署 20
2.2.1 使用二进制文件快速部署 21
2.2.2 使用Docker快速安装 25
2.2.3 Prometheus Web UI 26
2.3 Prometheus相关概念 29
2.3.1 数据模型 29
2.3.2 Metric的四种类型 30
2.3.3 Jobs 和 Instances 32
2.4 Prometheus核心组件 34
2.5 本章小结 35
第二部分 Prometheus技术基础
第3章 Exporter 38
3.1 概述 38
3.1.1 Exporter类型 38
3.1.2 文本数据格式 39
3.1.3 获取Exporter 40
3.2 主机监控 42
3.2.1 Linux主机监控 42
3.2.2 Windows主机监控 52
3.3 数据库监控 53
3.3.1 MySQL Server exporter 54
3.3.2 Redis exporter 60
3.4 Nginx监控 62
3.5 Prometheus之黑盒监控 64
3.5.1 软件安装与部署 65
3.5.2 配置文件 67
3.6 本章小结 71
第4章 服务发现 73
4.1 基于文件的服务发现 74
4.2 基于Consul的服务发现 78
4.2.1 Consul体验应用信息 80
4.2.2 软件下载与部署 80
4.2.3 服务注册发现 83
4.2.4 与Prometheus集成 85
4.3 基于DNS的服务发现 87
4.3.1自建DNS服务SRV记录设置 87
4.3.2阿里云域名解析SRV记录设置 88
4.4 Relabelling 89
4.5 本章小结 93
第5章 PromQL 94
5.1 时序数据库 94
5.2 PromQL简介 96
5.2.1 数据模型与数据类型 96
5.2.2 时间序列选择器 97
5.3 PromQL聚合操作 100
5.4 PromQL运算符 102
5.4.1 算术运算符 102
5.4.2 关系运算符 103
5.4.3 向量匹配 105
5.4.4 逻辑运算符 107
5.4.5 运算符优先级 108
5.5 PromQL函数 108
5.5.1 数学函数 108
5.5.2 时间函数 109
5.5.3 标签操作函数 110
5.5.4 Counter指标增长率 111
5.5.5 Gauge指标趋势变化预测 111
5.6 PromQL查询分析 112
5.6.1 指标分析 112
5.6.2 PromQL操作分析 113
5.7 本章小结 113
第6章 告警处理 115
6.1 概述 115
6.2 Alertmanager部署 116
6.2.1 Alertmanager机制 116
6.2.2 使用二进制文件方式安装 117
6.2.3 使用Docker安装 120
6.3 Alertmanager配置 120
6.3.1 global 120
6.3.2 templates 122
6.3.3 route 122
6.3.4 receivers 124
6.3.5 inhibit_rules 125
6.4 Prometheus告警规则 126
6.4.1 与Alertmanager关联 126
6.4.2 告警规则 127
6.4.3 使用模板 132
6.5 告警接收器 133
6.5.1 Email接收告警 133
6.5.2 企业微信接收告警 136
6.5.3基于Webhook的钉钉接收告警 142
6.5.4 告警通知模板 146
6.6 告警临时静默 147
6.7 本章小结 148
第7章 可视化 149
7.1 概述 149
7.2 Grafana安装 150
7.2.1 在CentOS上安装 151
7.2.2 在Windows上安装 154
7.2.3 使用Docker安装 155
7.3 Grafana基本概念 156
7.4 Prometheus数据源 158
7.4.1 数据源添加 158
7.4.2 页面UI说明 160
7.5 仪表盘导入 161
7.5.1 Node Exporter仪表盘 161
7.5.2 Windows Node仪表盘 164
7.5.3 MySQL仪表盘 166
7.5.4 Redis仪表盘 168
7.5.5 Nginx仪表盘 168
7.5.6 Blackbox Exporter仪表盘 169
7.6 定制监控图表 171
7.6.1 定制仪表盘 171
7.6.2 定制面板 175
7.7 本章小结 183
第8章 Pushgateway 184
8.1 概述 184
8.2 Pushgateway集成 185
8.2.1 软件下载与部署 186
8.2.2 Pushgateway UP状态 187
8.3 Pushgateway数据管理 187
8.3.1向Pushgateway发送和查看监控指标 187
8.3.2删除Pushgateway中的监控标准 189
8.3.3基于推送的Prometheus监控 189
8.4 本章小结 192
第三部分 监控综合实践
第9章 OpenStack云计算监控 194
9.1 OpenStack监控架构 194
9.2 OpenStack Exporter 196
9.2.1 OpenStack Exporter部署 197
9.2.2 OpenStack监控可视化 199
9.3 OpenStack Helm监控 200
9.3.1基于OpenStack Helm部署Prometheus 200
9.3.2基于OpenStack Helm部署Grafana 203
9.4 本章小结 204
第10章 Docker容器监控 205
10.1 Docker容器架构与监控 205
10.1.1 Docker容器架构 205
10
从互联网、移动计算到云计算、大数据、人工智能,十多年来,信息技术的日新月异催生了不断涌现的互联网新业态,也推动了传统行业投身于数字化转型的创新浪潮。云计算是IT信息技术发展和服务模式创新的集中体现,是信息化发展的重大变革和必然趋势。特别是在开源云计算技术蓬勃发展的过程中,Kubernetes、容器、微服务、区块链、智能运维、大数据等技术和理念的融合应用,已经成为影响云计算发展格局的关键。不少企业已经在生产环境中大规模使用容器技术支撑微服务化的应用,获得了灵活、快速、弹性、高效所带来的收益。
云时代监控将面临四大挑战:
持续变更下的监控。
自下而上、自上而下以及在云环境中的监控都遇到难题。
监控微服务架构。
处理大容量的分布式(日志)数据。
因此,监控系统将成为云平台的重要工具。优秀的监控系统不仅需要兼容各种设备和环境,还需要具备高性能、高可靠、易运维等特性,Prometheus正是优秀的代表。伴随着容器等相关技术的兴起,Prometheus正逐步成为容器监控的标准,对于传统应用和设备也有很好的兼容性。Prometheus由Go语言编写而成,采用Pull方式获取监控信息,并提供了多维度的数据模型和灵活的查询接口。Prometheus不仅可以通过静态文件配置监控对象,还支持自动发现机制,能够通过Kubernetes、Consul、DNS等多种方式动态获取监控对象。借助Go语言的高并发特性,单机Prometheus可以采集数百个节点的监控数据,每秒可采集数百万个指标。
本书从运维(Ops)角度对Prometheus监控的各项功能进行详细介绍,对Prometheus的系统架构、Exporter、服务发现、PromQL数据查询、告警处理、Grafana可视化等进行了深入浅出的探讨。
本书主要分三部分:第一部分是概述,重点阐述云计算时代监控系统的特点及其面临的挑战,Prometheus监控的基本概念、组成、部署。第二部分是Prometheus技术基础,重点介绍Prometheus生态系统涉及的Exporter、服务发现、PromQL数据查询、告警处理、Grafana可视化、Pushgateway等监控组件,详细讲解各组件的相关概念、实现原理、具体使用等。第三部分是监控综合实践,从常用的监控需求出发,讲解OpenStack云计算监控、Docker容器监控、Kubernetes监控、微服务及业务监控、日志监控的设计与实现,最后讲解Prometheus在生产环境中部署的实践。
全书第1、9、10、12~14章由陈金窗和郑少斌编写,第2~8章由刘政委编写,第11章由张其栋编写,最后由陈金窗、刘政委共同进行修订。
下面介绍各章的主要内容。
第一部分包括第1~2章。
第1章从云计算时代的应用特点入手,分析云计算环境下监控面临的挑战,提出需要怎样的监控。接着简要介绍监控系统的基本架构及工具,最后重点介绍Prometheus的诞生及其解决方案的特点。
第2章讲解Prometheus的基本概念及部署,包括Prometheus技术架构、部署方式,最后介绍相关的基本概念。
第二部分包括第3~8章。
第3章对Exporter的类型、文本数据格式进行说明,讨论如何从官方的Exporter列表获取常用的Exporter,比如用于监控基础设施中服务器性能的node_exporter、wmi_exporter,用于监控数据库的mysqld_exporter和redis_exporter等。
第4章讲解如何使用服务发现来发现主机和服务,并将它们暴露给Prometheus。介绍Prometheus发现机制中基于文件、基于Consul和基于DNS的服务发现,使其能完美地解决当下云原生态场景下的各类服务监控项目。
第5章首先对时序数据库进行介绍,然后对PromQL进行详细说明,包括PromQL数据类型、时序选择器、聚合操作、各类运算符和函数。最后通过简单的示例对PromQL查询操作进行汇总分析。
第6章对Alertmanager组件的安装、配置进行详细说明,再介绍Prometheus告警规则的定义,最后使用Email、企业微信和基于Webhook的钉钉实现告警通知的接收。
第7章介绍Grafana可视化展示,阐述其中的基本概念,结合读者自己的应用环境生成理想的漂亮图表,最终完全熟练掌握它的各个管理组件。
第8章介绍Prometheus的核心组件Pushgateway,重点介绍Pushgateway实例部署以及场景应用。
第三部分包括第9~14章。
第9章首先介绍OpenStack云管平台及其监控架构,然后介绍两种Prometheus与OpenStack整合的监控解决方案——OpenStack Exporter和OpenStack Helm监控方式。
第10章介绍Docker相关的监控方法,特别讲解了Google 开源的容器度量收集工具cAdvisor的部署、使用、集成方案。最后对Docker容器的监控指标、cAdvisor架构进行深入的分析。
第11章介绍Prometheus如何监控Kubernetes,详细介绍Kubernetes部署Prometheus的两种方式,最后介绍服务配置、监控对象以及数据展现和告警。
第12章介绍Prometheus如何对微服务运行状态进行监控,重点讲解基于Spring Cloud构建微服务的技术体系,之后讲解业务运营指标以及如何构建运营指标体系,并结合Spring Boot介绍监控埋点、自定义监控指标以及具体应用。
第13章介绍如何使用日志条目来创建度量指标,然后由Prometheus来抓取数据并在Grafana中展示。
第14章介绍在生产环境中应用Prometheus应该考虑的问题以及解决的方法,包括支持高可用规模
在技术快速演进的背景下,云计算、大数据与人工智能加速了数字化进程,新的业务也要求IT系统具有高效的弹性伸缩、灵活的服务架构、稳健的自服务能力。从大数据的角度看,云计算时代全面监控为运维以及运营提供指标集约,也为企业全面数据化提供了着手点,为数据驱动的智能决策提供了有价值的基础数据。Prometheus顺应云计算时代而生,因高效、灵活、开源已得到广泛使用。本书从实践入手,由浅入深,是学好、用好Prometheus监控系统的良好伴侣。
—— 刘凯毅,中物联规划院大数据研究所所长
监控是云计算时代数据驱动运营的重要抓手,根据我研发中国电信云眼系列监控评测产品的经验,深知Prometheus是云监控领域的“瑞士军刀”,目前不仅MySQL、Kafka、Redis、ElasticSearch等主流软件组件提供了Prometheus Exporter,而且Prometheus更适合未来基于微服务的复杂分布式系统的监控。这本书系统地阐述了Prometheus的技术架构和核心组件,并结合作者多年的一线运维经验,展示了基于Prometheus的OpenStack监控、Kubernetes监控、日志监控等生产级案例,是DevOps领域必备的利器。
—— 梁伟博士,中国电信研究院2025实验室主任
我接触Prometheus起自做统一告警平台OneAlert期间,发现大量企业使用Prometheus进行大规模IT监控管理。常感叹因相关资料,特别是实践资料缺乏,只有部分领先互联网企业尝鲜,明珠蒙尘。这本书深入浅出地阐述了Prometheus的基础技术,并融合了云计算平台、容器、微服务和Grafana技术实践,全面翔实,难能可贵,也是业内少见。当下微服务、容器Kubernetes大行其道,IT应用呈现云化、微型化、敏捷化、规模化特征,Prometheus为迎接此类挑战而生,本书恰逢时机。
——陈伯龙,微博资深算法工程师,曾创统一告警平台OneAlert,著有《云计算与OpenStack》
云计算颠覆了传统IT架构,其建设和维护过程对运维团队来说也是新的挑战。如何时刻了解私有云这种软件定义的数据中心的整体运行情况值得我们深入思考。此时,一款优秀的监控平台Prometheus应运而生,它提供了完整的解决方案,帮助我们揭开云的神秘面纱,让云上应用的运行情况变得透明,其完美的仪表盘和即时告警机制分担了运维人员的压力。更多精彩内容在这本书中。
—— 黄文青,中青旅控股股份有限公司技术研发部高级数据经理
对于互联网创业型科技公司,为客户提供整套私有云计算服务时,监控软件可用于向客户直观地展示重要项目成果。Prometheus具有技术沉淀的优越生态圈,能很好地与容器平台、云平台配合。本书给需要了解Prometheus监控技术的读者带来很大的帮助。
——宁建强,北京乐讯科技有限公司总经理
Prometheus作为CNCF的项目,在容器化快速发展机遇下快速成长,成为进行容器化项目监控的*工具。这本书全方位地介绍了Prometheus的原理架构以及应用场景,并结合作者多年的使用经验进行深入的案例解读,是一本学习Prometheus的好书。
——沈灿,Mobvista工程师, 《Ansible自动化运维:技术与*实践》合著者
评论
还没有评论。