跳转至

深入浅出Prometheus:原理、应用、源码与拓展详解-陈晓宇 杨川胡 陈啸编著

  •  深入浅出Prometheus:原理、应用、源码与拓展详解|200
  • 书名: 深入浅出Prometheus:原理、应用、源码与拓展详解
  • 作者: 陈晓宇 杨川胡 陈啸编著
  • 简介: Prometheus是由SoundCloud开源的监控系统,是Google BorgMon监控系统的开源版本。伴随着容器及Kubernetes技术的兴起,Prometheus越来越受到大家的关注。本书系统讲解了Prometheus的原理、应用、源码和拓展,图文并茂、讲解全面。原理篇主要介绍了Prometheus的整体架构及与其他监控系统的对比和优势,让读者从整体上把握Prometheus的相关概念。应用篇从传统应用监控和Kubernetes监控两方面讲解Prometheus的安装、配置及优秀实践,着重介绍Redis、MySQL server等常用中间件监控,并结合Kubernetes,详细讲解如何通过Prometheus监控容器集群,还对每个操作都进行了非常详尽的记录。源码与拓展篇从整体到局部详细剖析Prometheus的源码架构,并且结合实际生产环境二次定制Prometheus的部分功能,可加深读者对Prometheus的理解,也能很好地帮助读者提升Prometheus开发技能。
  • 出版时间 2019-04-01 00:00:00
  • ISBN: 9787121360954
  • 分类: 计算机-编程设计
  • 出版社: 电子工业出版社

高亮划线

封面

版权信息

内容简介

作者介绍

前言

读者服务

1 第1篇 Prometheus原理

1.2 基础资源监控

1.3 中间件监控

1.4 应用程序监控(APM)

1.5 日志监控

1.6 监控系统实现

1.7 监控系统的发展趋势

1.8 本书主角——Prometheus

1.9 其他开源监控工具

1.10 监控系统的对比

第2章 深入Prometheus设计

  • 📌 Prometheus指标分为Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)和Summary(摘要)这4类,下面对这4类进行讲解。 ^17-1972-2051
    • ⏱ 2023-12-14 20:03:04

2.2 数据采集

  • 📌 Prometheus通过动态发现方式获取监控对象。目前支持以下系统获取监控对象:◎ 容器管理系统,例如Kubernetes、Marathon;◎ 各种云管平台,例如EC2、Azure、OpenStack;◎ 各种服务发现组件,例如DNS、ZooKeeper和Consul等。它们的关系如图2-7所示。[插图]图2-7Prometheus 会从这些组件中获取监控对象,并汇总在这些组件中获取的数据,从而获取所有监控对象。在第一次被加入时,监控对象(下称 target)的状态是unknown。之后,Prometheus会在设定的周期内对target数据进行循环采集,如果采集成功,则target状态变为up;如果采集失败(例如超时),则target状态变为down。 ^18-3165-3866
    • ⏱ 2023-12-15 08:11:30

2.3 数据处理

  • 📌 Prometheus会从 target中获取所有暴露的数据,但某些数据对 Prometheus是无用的,如果直接保存这些数据,则不仅浪费空间,还会降低系统的吞吐量。Prometheus提供了 keep 或 drop 机制,如果设置了 keep 机制,则会保留所有匹配标签的数据;如果设置了drop机制,则会丢弃匹配标签的数据,从而完成数据过滤。 ^19-1093-1265
    • ⏱ 2023-12-15 08:25:12

2.4 数据存储

2.5 数据查询

2.6 告警

2.7 集群

2.8 Prometheus并非监控银弹

  • 📌 Prometheus只针对性能和可用性监控,并不具备日志监控等功能,并不能通过Prometheus解决所有监控问题。 ^24-569-627
    • ⏱ 2023-12-15 19:47:44

第3章 数据存储

3.2 本地存储

3.3 远端存储

3.4 存储汇聚

2 第2篇 Prometheus在传统应用监控中的应用

4.2 数据规范

4.3 exporter简介

4.4 基于Go客户端编写一个exporter

4.5 Node exporter解析

4.6 Redis exporter解析

4.7 MySQL server exporter解析

4.8 深入探索Go客户端

3 第3篇 Prometheus在Kubernetes监控中的应用

5.1 Heapster

5.2 kube-state-metrics

5.3 metrics-server

5.4 Prometheus

第6章 Prometheus的安装配置

6.2 安装Prometheus Operator

6.3 在Prometheus Operator中添加自定义的监控项

6.4 在Prometheus Operator中添加自定义告警

6.5 Prometheus Operator的高级配置

第7章 Prometheus监控Kubernetes之服务配置

7.2 服务发现配置

第8章 Prometheus监控Kubernetes之监控对象

8.1 容器监控

8.2 apiserver监控

8.3 Service监控

8.4 kube-state-metrics监控

8.5 主机监控

第9章 Prometheus监控Kubernetes之数据展现

9.1 在Kubernetes集群中安装Grafana

9.2 配置Grafana

9.3 插件

9.4 Grafana告警

第10章 Prometheus监控Kubernetes之告警

10.1 AlertManager简介

10.2 安装AlertManager

10.3 告警规则

10.4 webhook接收器

4 第4篇 Prometheus源码与拓展

11.1 Prometheus源码的目录结构

11.2 原生Prometheus的不足

11.3 源码改造——更改时区

11.4 源码改造——用blog4go记录系统日志

11.5 Prometheus的初始化

11.6 源码改造——MySQL规则存储

11.7 数据采集

11.8 通知管理

11.9 规则管理

11.10 源码改造——不重复scrape及自带时间戳规则运算

第12章 AlertManager服务组件

12.1 接收告警

12.2 告警调度

12.3 告警匹配

12.4 告警处理

12.5 告警通知

读书笔记

本书评论