展开全部

主编推荐语

从运维和开发两个维度,深入剖析Prometheus的系统架构、工作原理以及在各种云原生场景下的监控解决方案。

内容简介

本书主要围绕当前业界最流行的监控系统Prometheus展开,除了帮助读者快速了解Prometheus的概念、用途、环境搭建等系统性、宏观的认识,更多的让读者感受到Prometheus独孤九剑破众多技术壁垒的精彩。支持监控微服务、系统级监控、数据库监控、中间件监控、大数据监控等。

第1章主要介绍监控系统的相关概念。第2章介绍Prometheus的相关概念。第3章介绍SpringBoot如何集成Prometheus的实战案例。第4章介绍Prometheus中PromQL的相关概念。第5章继续介绍PromQL的更多高级用法。第6章介绍Prometheus的告警模块Alertmanager。第7章介绍Prometheus的exporter相关概念。第8章介绍Prometheus集成SpringBoot实战场景中的高级话题。第9章介绍Prometheus的集群实战。第10章介绍Prometheus的存储原理。第11章介绍Prometheus的其他相关技术。

目录

  • 版权信息
  • 赞誉
  • 前言
  • 为什么要写这本书
  • 读者对象
  • 如何阅读本书
  • 勘误和支持
  • 致谢
  • 第1章 监控之美
  • 1.1 监控:把握应用的脉搏
  • 1.2 监控架构分类
  • 1.3 MDD思想:从指标到洞察力
  • 1.3.1 MDD理念综述
  • 1.3.2 指导实践的3大监控方法论
  • 1.4 监控系统选型分析及误区探讨
  • 1.4.1 黑盒监控和白盒监控
  • 1.4.2 监控检查的两种模式——拉取和推送
  • 1.4.3 5种常见的监控系统
  • 1.4.4 监控系统的选型分析及误区探讨
  • 1.5 本章小结
  • 第2章 Prometheus入门
  • 2.1 Prometheus发展简史
  • 2.2 Prometheus的主要特点
  • 2.3 Prometheus架构剖析
  • 2.4 Prometheus的3大局限性
  • 2.5 快速安装并启动Prometheus
  • 2.6 本章小结
  • 第3章 Spring Boot可视化监控实战
  • 3.1 用Micrometer仪表化JVM应用
  • 3.2 在Spring Boot 2.x中集成Prometheus的方法
  • 3.2.1 引入Maven依赖
  • 3.2.2 application.properties配置
  • 3.2.3 通过MeterBinder接口采集和注册指标
  • 3.2.4 以埋点的方式更新指标数据
  • 3.2.5 效果展示
  • 3.3 针对Spring Boot 2.x采集并可视化相关数据
  • 3.4 第三方专业可视化工具——Grafana
  • 3.5 Grafana高级模板
  • 3.6 邮件告警的生成与扩展
  • 3.6.1 通过Alertmanager生成邮件告警
  • 3.6.2 邮件告警扩展:cc和bcc
  • 3.7 构建钉钉告警系统
  • 3.7.1 安装MacOS Docker
  • 3.7.2 安装Docker镜像
  • 3.7.3 钉钉接入设置
  • 3.7.4 钉钉告警功能验证
  • 3.8 本章小结
  • 第4章 PromQL让数据会说话
  • 4.1 初识PromQL
  • 4.1.1 PromQL的4种数据类型
  • 4.1.2 时间序列
  • 4.1.3 指标
  • 4.2 PromQL中的4大选择器
  • 4.2.1 匹配器
  • 4.2.2 瞬时向量选择器
  • 4.2.3 区间向量选择器
  • 4.2.4 偏移量修改器
  • 4.3 Prometheus的4大指标类型
  • 4.3.1 计数器
  • 4.3.2 仪表盘
  • 4.3.3 直方图
  • 4.3.4 摘要
  • 4.4 13种聚合操作
  • 4.5 Prometheus的3种二元操作符
  • 4.5.1 算术运算符
  • 4.5.2 集合/逻辑运算符
  • 4.5.3 比较运算符
  • 4.5.4 优先级
  • 4.6 向量匹配
  • 4.6.1 一对一匹配
  • 4.6.2 一对多和多对一匹配
  • 4.6.3 多对多匹配
  • 4.7 本章小结
  • 第5章 PromQL高级实战
  • 5.1 Prometheus内置函数
  • 5.1.1 动态标签函数
  • 5.1.2 数学运算函数
  • 5.1.3 类型转换函数
  • 5.1.4 时间和日期函数
  • 5.1.5 多对多逻辑运算符函数
  • 5.1.6 排序函数
  • 5.1.7 Counter函数
  • 5.1.8 Gauge函数
  • 5.1.9 Histogram函数
  • 5.1.10 时间聚合函数
  • 5.2 HTTP API
  • 5.2.1 API响应格式
  • 5.2.2 表达式查询
  • 5.2.3 元数据管理
  • 5.2.4 其他拓展
  • 5.3 两种可定期执行的规则
  • 5.3.1 记录规则
  • 5.3.2 告警规则
  • 5.4 指标的抓取与存储
  • 5.4.1 用relabel_configs抓取指标
  • 5.4.2 用metric_relabel_configs存储指标
  • 5.5 通过调优解决PromQL耗尽资源问题
  • 5.6 本章小结
  • 第6章 Prometheus告警机制深度解析
  • 6.1 Alertmanager架构解析
  • 6.2 AMTool的安装与用法
  • 6.3 配置文件的编写与解读
  • 6.4 告警规则的定义
  • 6.5 关于告警的高级应用与问题处理
  • 6.5.1 Prometheus告警失灵
  • 6.5.2 出现告警轰炸的问题
  • 6.6 构建高可用告警集群
  • 6.7 本章小结
  • 第7章 Prometheus独孤九剑:通过定制Exporter监控一切
  • 7.1 Exporter概述
  • 7.2 Exporter的数据规范
  • 7.3 Exporter数据采集方式
  • 7.4 一个最简单的Exporter示例
  • 7.5 自己动手编写一个Exporter
  • 7.6 高质量Exporter的编写原则与方法
  • 7.6.1 分配合理的端口号
  • 7.6.2 设计落地页
  • 7.6.3 将软件版本信息提供给Prometheus的正确方法
  • 7.6.4 必备指标的梳理
  • 7.6.5 编写高质量Exporter的其他注意事项
  • 7.7 Node Exporter源码解析
  • 7.8 Exporter高级应用:开启TSL连接和Basic Auth认证
  • 7.8.1 准备证书
  • 7.8.2 支持TLS的配置方法
  • 7.8.3 支持Basic Auth的配置方法
  • 7.9 本章小结
  • 第8章 Spring Boot高级监控实战
  • 8.1 Controller监控实战
  • 8.2 业务代码监控实战
  • 8.3 通过注解进行监控的设置与实战
  • 8.4 Dubbo监控实战
  • 8.5 SPI机制原理解析
  • 8.6 SPI高级实战:基于Dubbo的分布式日志链路TraceID追踪
  • 8.7 集成Spring Boot时的常见问题及其解决方案
  • 8.8 关于Micrometer的两个常见问题及其解决方案
  • 8.8.1 极大值BUG问题
  • 8.8.2 Actuator内存溢出问题
  • 8.9 micrometer-spring-legacy源码解析
  • 8.9.1 spring.factories
  • 8.9.2 CompositeMeterRegistryAutoConfiguration
  • 8.9.3 XX-MeterRegistry的注册
  • 8.9.4 WebMvcMetricsFilter过滤器
  • 8.9.5 其他
  • 8.10 本章小结
  • 第9章 Prometheus集群实战
  • 9.1 校时
  • 9.2 Prometheus的3种常见HA架构方案
  • 9.2.1 简单HA
  • 9.2.2 简单HA+远程存储
  • 9.2.3 简单HA+远程存储+联邦集群
  • 9.2.4 联邦集群配置方式
  • 9.2.5 功能分区配置方式
  • 9.2.6 K8S单点故障引发的POD漂移问题
  • 9.3 Prometheus集群架构采集优化方案
  • 9.4 在企业中从零推广Prometheus架构
  • 9.4.1 研发团队
  • 9.4.2 运维团队
  • 9.4.3 借助K8S一起推进上线
  • 9.5 搭建基于M3DB的简单HA+远程存储Prometheus K8S集群
  • 9.5.1 架构说明
  • 9.5.2 K8S内部Prometheus
  • 9.5.3 K8S外部Prometheus
  • 9.5.4 M3DB
  • 9.6 多租户、可横向扩展的Prometheus即服务——Cortex
  • 9.7 本章小结
  • 第10章 Prometheus存储原理与问题分析
  • 10.1 本地存储文件结构解析
  • 10.2 存储原理解析
  • 10.3 存储配置方法
  • 10.4 本地存储容量规划原则与方法
  • 10.5 RAM容量规划原则与方法
  • 10.6 本地存储及时性和时序性问题分析
  • 10.7 本章小结
  • 第11章 Prometheus其他相关技术分析与实战
  • 11.1 Thanos架构与监控实战
  • 11.1.1 Thanos架构解析
  • 11.1.2 Thanos在Prometheus监控中的作用与实战
  • 11.1.3 Thanos存在的问题
  • 11.2 M3DB技术详解
  • 11.3 Loki的特性、架构与应用
  • 11.3.1 Loki特性
  • 11.3.2 Loki架构简介
  • 11.3.3 Loki使用方法
  • 11.4 ELK的5种主流架构及其优劣分析
  • 11.4.1 为什么要用ELK
  • 11.4.2 基础架构
  • 11.4.3 改良架构
  • 11.4.4 二次改良架构
  • 11.4.5 基于Tribe Node概念的架构
  • 11.4.6 带有冷热分离功能的架构
  • 11.5 Fluentd和Fluent Bit项目简介
  • 11.6 Operator模式现状与未来展望
  • 11.7 关于灵活运用Prometheus的几点建议
  • 11.8 本章小结
  • 附录A Prometheus相关端口列表
  • 附录B PromQL速查手册
  • 附录C Prometheus 2.x(从2.0.0到2.20.0)的重大版本变迁
  • 附录D Prometheus自监控指标
  • 附录E SLA服务可用性基础参考指标
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0

    这是一本很好的运营监控类书,读本书后完善了自己的监控认知,并获得以下几点收获:1、监控检查的模式分为两种:推送和拉取;2、从指标到洞察,监控四大黄金准则:延迟、流量、错误、饱和度。3、监控三要素:可聚合数据监控、离散日志监控、调用链监控。

      转发
      评论
      用户头像
      给这本书评了
      4.0

      这本书介绍的内容较有深度,从开发方面介绍了 Spring boot 项目和 Prometheus 的结合,运维方面介绍了大型互联网架构中 Prometheus 群集的方案,并解析了 node exporter 原理和 Prometheus 存储结构,分享了部分生产中经历的问题和注意点,提供了有效的建议,适合有一定生产经验的运维和开发工程师阅读。

        转发
        评论

      出版方

      机械工业出版社有限公司

      机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。