• Prometheus云原生监控:运维与开发实战
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Prometheus云原生监控:运维与开发实战

37.94 4.3折 89 九品

仅1件

北京东城
认证卖家担保交易快速发货售后保障

作者朱政科

出版社机械工业出版社

出版时间2020-10

版次1

装帧其他

货号A9

上书时间2024-11-01

图书-天下的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 朱政科
  • 出版社 机械工业出版社
  • 出版时间 2020-10
  • 版次 1
  • ISBN 9787111667834
  • 定价 89.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 页数 384页
  • 字数 347千字
【内容简介】


 

本书共分为11章,紧密围绕Prometheus的相关概念和技术展开介绍。

 

第1章主要介绍了监控系统的相关概念。本章首先介绍了监控的概念、监控的分类、MDD(指标驱动开发)的理念、Google四大黄金指标、USE方法、RED方法等知识;接着介绍了监控中的探针和内省、拉取和推送等常见手法;最后介绍了常见的监控系统Nagios、Zabbix、Ganglia、Open-Falcon、ZMon,以及进行监控系统选型时应该考虑的维度及误区。

 

第2章介绍了Prometheus的相关概念。从历史、特点、架构、局限性、快速开始这5个方面介绍了Prometheus是什么,它在监控领域有哪些使用场景,以及如何快速安装和启动Prometheus。

 

第3章介绍了在Spring Boot中如何集成Prometheus。本章通过介绍Micrometer的理论,辅以Spring Boot 2.x应用的案例,一步步教读者将Spring Boot 2.x应用数据传输到Prometheus监控系统中,再以可视化监控大盘的形式展现在Grafana仪表盘中。本章还介绍了当系统出现故障时,读者如何将Spring Boot 2.x应用的故障信息以告警的形式发送到邮箱或者钉钉中。本章内容对于广大开发者来说具有一定的实战指导作用。

 

第4章介绍了与PromQL相关的知识。PromQL是Prometheus实战的核心,是Prometheus

 

场景的基础,也是Prometheus的重中之重。本章用很大的篇幅,从时间序列、PromQL数据类型、指标类型、选择器、聚合操作、二元操作符、内置函数、最佳实践、性能优化等方面,通过理论联系实际的方式,全方位介绍了与PromQL相关的概念及其具体用法。

 

第5章介绍了PromQL的高级用法。首先介绍了39个PromQL内置函数,然后围绕HTTP API、记录规则、告警规则、metric_relabel_configs、relabel_configs等多个知识点,以理论联系实际、知识点结合案例的形式,全方位介绍了PromQL的高级用法和最佳实践。

 

第6章介绍了Prometheus的告警模块―Alertmanager。本章围绕Alertmanager告警的架构、工作原理、集群、触发的流程等展开介绍,接着拓展了告警分组、抑制、静默、延迟等众多知识点。读完本章,读者可以轻松理解告警是如何触发的,还可以分析、定位、解决告警轰炸、告警不准确等常见问题。

 

第7章介绍了Prometheus中与Exporter相关的概念。Exporter的来源主要有两个,一个是社区,另一个是用户自定义。本章从数据规范、数据采集方式、案例代码编写等方面一步步指导读者自定义Exporter。为了帮助读者提高编码水平和真正写好Exporter,本章还给出了写好Exporter的建议,并结合Node Exporter、Redis Exporter、MySQL Exporter、RocketMQ Exporter等的原理进行分析讲解。通过对本章的学习,读者可以掌握使用和定制Exporter的方法。

 

第8章介绍了与Spring Boot相关的高级话题,帮助读者了解Prometheus集成Spring Boot的原理、源码和解决方案。本章针对Prometheus监控RESTful、监控业务、通过注解进行监控、监控Dubbo这4个真实需求给出了源码级的技术指导方案。对Prometheus集成Spring Boot过程中可能产生的问题,如空指针、极大值、内存溢出等,本章也做了补充分析与解答。

 

第9章介绍了与Prometheus集群相关的实战内容。本章围绕Prometheus集群实战的架构问题,讨论了多种集群解决方案(简单HA、简单HA+远程存储、简单HA+远程存储+联邦集群)的理念、方法及优化手段,探究如何构建具有更高扩展性和可靠性的集群。本章是实战章节,在采集指标、推广Prometheus在企业中的部署等细节问题上都给出了指导。本章还通过搭建一个基于M3DB的简单HA+远程存储Prometheus K8S集群的真实案例,用步骤引导以及配置文件样例的形式,带领读者实际部署Prometheus集群。

 

第10章介绍了Prometheus的存储原理。Prometheus不仅是一个监控系统,还是一款优秀的时序数据库。本章主要围绕Prometheus 3.0版本的TSDB本地存储,对存储文件的格式、存储的原理、chunk、索引、block、WAL日志、tombstones、Checkpoint等相关知识点进行介绍,让读者清晰地了解Prometheus存储的运行机制。 

 

第11章介绍了Prometheus的相关技术。本章首先介绍了Prometheus的伴侣―Thanos和M3DB,并对使用这些技术的过程中可能出现的一些问题给出了指导和建议;然后介绍了继承Prometheus理念的Loki,详细介绍了Loki、ELK等相关日志技术的原理和架构方案;最后,介绍了Operator模式和Prometheus Operator模式,以及在实战中针对压测、查找中间件(如Redis问题)等场景应该如何灵活运用Prometheus。

 


【作者简介】

朱政科

 

资深架构师,中间件技术专家,对数据库连接池和Prometheus等监控技术有深入研究。

 

有10余年IT行业从业经验,现就职于国内某大型世界百强企业。

 

曾在阿里等一线互联网公司长期从事中间件的研发及团队管理工作。

 

先后主导和参与了多个重要的与物联网、人工智能等相关的大型项目。

 

著有《HikariCP数据库连接池实战》。

 


【目录】

赞誉

 

前言

 

第1章 监控之美  1

 

1.1 监控:把握应用的脉搏  2

 

1.2 监控架构分类  6

 

1.3 MDD思想:从指标到洞察力  10

 

1.3.1 MDD理念综述  10

 

1.3.2 指导实践的3大监控方法论  12

 

1.4 监控系统选型分析及误区探讨  13

 

1.4.1 黑盒监控和白盒监控  14

 

1.4.2 监控检查的两种模式―拉取和推送  14

 

1.4.3 5种常见的监控系统  15

 

1.4.4 监控系统的选型分析及误区探讨  24

 

1.5 本章小结  32

 

第2章 Prometheus入门  33

 

2.1 Prometheus发展简史  34

 

2.2 Prometheus的主要特点  35

 

2.3 Prometheus架构剖析  37

 

2.4 Prometheus的3大局限性  43

 

2.5 快速安装并启动Prometheus  43

 

2.6 本章小结  49

 

第3章 Spring Boot可视化监控实战  50

 

3.1 用Micrometer仪表化JVM应用  50

 

3.2 在Spring Boot 2.x中集成Prometheus的方法  53

 

3.2.1 引入Maven依赖  54

 

3.2.2 application.properties配置  56

 

3.2.3 通过MeterBinder接口采集和注册指标  57

 

3.2.4 以埋点的方式更新指标数据  58

 

3.2.5 效果展示  59

 

3.3 针对Spring Boot 2.x采集并可视化相关数据  61

 

3.4 第三方专业可视化工具―Grafana  62

 

3.5 Grafana高级模板  67

 

3.6 邮件告警的生成与扩展  77

 

3.6.1 通过Alertmanager生成邮件告警  77

 

3.6.2 邮件告警扩展:cc和bcc  79

 

3.7 构建钉钉告警系统  80

 

3.7.1 安装MacOS Docker  80

 

3.7.2 安装Docker镜像  81

 

3.7.3 钉钉接入设置  83

 

3.7.4 钉钉告警功能验证  84

 

3.8 本章小结  86

 

第4章 PromQL让数据会说话  87

 

4.1 初识PromQL  87

 

4.1.1 PromQL的4种数据类型  89

 

4.1.2 时间序列  90

 

4.1.3 指标  91

 

4.2 PromQL中的4大选择器  94

 

4.2.1 匹配器  95

 

4.2.2 瞬时向量选择器  98

 

4.2.3 区间向量选择器  99

 

4.2.4 偏移量修改器  100

 

4.3 Prometheus的4大指标类型  101

 

4.3.1 计数器  101

 

4.3.2 仪表盘  103

 

4.3.3 直方图  104

 

4.3.4 摘要  107

 

4.4 13种聚合操作  109

 

4.5 Prometheus的3种二元操作符  117

 

4.5.1 算术运算符  118

 

4.5.2 集合/逻辑运算符  119

 

4.5.3 比较运算符  120

 

4.5.4 优先级  122

 

4.6 向量匹配  122

 

4.6.1 一对一匹配  122

 

4.6.2 一对多和多对一匹配  123

 

4.6.3 多对多匹配  124

 

4.7 本章小结  124

 

第5章 PromQL高级实战  125

 

5.1 Prometheus内置函数  125

 

5.1.1 动态标签函数  126

 

5.1.2 数学运算函数  128

 

5.1.3 类型转换函数  133

 

5.1.4 时间和日期函数  133

 

5.1.5 多对多逻辑运算符函数  137

 

5.1.6 排序函数  138

 

5.1.7 Counter函数  139

 

5.1.8 Gauge函数  141

 

5.1.9 Histogram函数  144

 

5.1.10 时间聚合函数  145

 

5.2 HTTP API  146

 

5.2.1 API响应格式  148

 

5.2.2 表达式查询  149

 

5.2.3 元数据管理  150

 

5.2.4 其他拓展  151

 

5.3 两种可定期执行的规则  155

 

5.3.1 记录规则  155

 

5.3.2 告警规则  159

 

5.4 指标的抓取与存储  160

 

5.4.1 用relabel_conf?igs抓取指标  160

 

5.4.2 用metric_relabel_conf?igs存储指标  163

 

5.5 通过调优解决PromQL耗尽资源问题  166

 

5.6 本章小结  166

 

第6章 Prometheus告警机制深度解析  167

 

6.1 Alertmanager架构解析  167

 

6.2 AMTool的安装与用法  169

 

6.3 配置文件的编写与解读  171

 

6.4 告警规则的定义  177

 

6.5 关于告警的高级应用与问题处理  180

 

6.5.1 Prometheus告警失灵  180

 

6.5.2 出现告警轰炸的问题  182

 

6.6 构建高可用告警集群  184

 

6.7 本章小结  186

 

第7章 Prometheus独孤九剑:通过定制Exporter监控一切  187

 

7.1 Exporter概述  187

 

7.2 Exporter的数据规范  189

 

7.3 Exporter数据采集方式  191

 

7.4 一个最简单的Exporter示例  192

 

7.5 自己动手编写一个Exporter  195

 

7.6 高质量Exporter的编写原则与方法  198

 

7.6.1 分配合理的端口号  198

 

7.6.2 设计落地页  201

 

7.6.3 将软件版本信息提供给Prometheus的正确方法  201

 

7.6.4 必备指标的梳理  202

 

7.6.5 编写高质量Exporter的其他注意事项  209

 

7.7 Node Exporter源码解析  210

 

7.8 Exporter高级应用:开启TSL连接和Basic Auth认证  214

 

7.8.1 准备证书  214

 

7.8.2 支持TLS的配置方法  214

 

7.8.3 支持Basic Auth的配置方法  215

 

7.9 本章小结  216

 

第8章 Spring Boot高级监控实战  217

 

8.1 Controller监控实战  217

 

8.2 业务代码监控实战  218

 

8.3 通过注解进行监控的设置与实战  221

 

8.4 Dubbo监控实战  223

 

8.5 SPI机制原理解析  225

 

8.6 SPI高级实战:基于Dubbo的分布式日志链路TraceID追踪  228

 

8.7 集成Spring Boot时的常见问题及其解决方案  231

 

8.8 关于Micrometer的两个常见问题及其解决方案  234

 

8.8.1 极大值BUG问题  235

 

8.8.2 Actuator内存溢出问题  237

 

8.9 micrometer-spring-legacy源码解析  242

 

8.9.1 spring.factories  244

 

8.9.2 CompositeMeterRegistryAuto-Conf?iguration  246

 

8.9.3 XX-MeterRegistry的注册  248

 

8.9.4 WebMvcMetricsFilter过滤器  249

 

8.9.5 其他  250

 

8.10 本章小结  251

 

第9章 Prometheus集群实战  252

 

9.1 校时  252

 

9.2 Prometheus的3种常见HA架构

 

 方案  255

 

9.2.1 简单HA  256

 

9.2.2 简单HA+远程存储  256

 

9.2.3 简单HA+远程存储+联邦集群  257

 

9.2.4 联邦集群配置方式  261

 

9.2.5 功能分区配置方式  262

 

9.2.6 K8S单点故障引发的POD漂移问题  263

 

9.3 Prometheus集群架构采集优化方案  263

 

9.4 在企业中从零推广Prometheus架构  266

 

9.4.1 研发团队  266

 

9.4.2 运维团队  267

 

9.4.3 借助K8S一起推进上线  268

 

9.5 搭建基于M3DB的简单HA+远程存储Prometheus K8S集群  268

 

9.5.1 架构说明  268

 

9.5.2 K8S内部Prometheus  270

 

9.5.3 K8S外部Prometheus  270

 

9.5.4 M3DB  276

 

9.6 多租户、可横向扩展的Prometheus即服务―?Cortex  277

 

9.7 本章小结  280

 

第10章 Prometheus存储原理与问题分析  281

 

10.1 本地存储文件结构解析  282

 

10.2 存储原理解析  286

 

10.3 存储配置方法  287

 

10.4 本地存储容量规划原则与方法  290

 

10.5 RAM容量规划原则与方法  291

 

10.6 本地存储及时性和时序性问题分析  293

 

10.7 本章小结  294

 

第11章 Prometheus其他相关技术分析与实战  296

 

11.1 Thanos架构与监控实战  296

 

11.1.1 Thanos架构解析  297

 

11.1.2 Thanos在Prometheus监控中的作用与实战  299

 

11.1.3 Thanos存在的问题  302

 

11.2 M3DB技术详解  303

 

11.3 Loki的特性、架构与应用  306

 

11.3.1 Loki特性  307

 

11.3.2 Loki架构简介  308

 

11.3.3 Loki使用方法  310

 

11.4 ELK的5种主流架构及其优劣分析  311

 

11.4.1 为什么要用ELK  312

 

11.4.2 基础架构  313

 

11.4.3 改良架构  314

 

11.4.4 二次改良架构  315

 

11.4.5 基于Tribe Node概念的架构  316

 

11.4.6 带有冷热分离功能的架构  316

 

11.5 Fluentd和Fluent Bit项目简介  317

 

11.6 Operator模式现状与未来展望  319

 

11.7 关于灵活运用Prometheus的几点建议  321

 

11.8 本章小结  323

 

附录A Prometheus相关端口列表  324

 

附录B PromQL速查手册  350

 

附录C Prometheus 2.x(从2.0.0到2.20.0)的重大版本变迁  354

 

附录D Prometheus自监控指标  363

 

附录E SLA服务可用性基础参考指标  366

 


点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP