很多人对监控的认知停留在「装个 Prometheus,配个 Grafana 面板」这一层。真正到了生产环境,问题会一个接一个冒出来:指标基数爆炸把内存吃满、告警风暴半夜把手机打爆、Grafana 面板画得漂亮但没人看得懂、采集目标掉了三天没人发现。这门课针对的正是这些缺口——它不是带你认识三个工具,而是带你把这三件东西拼成一套能在企业里跑得住、有人值守、出事能定位的监控系统。

先确认你缺的是哪一块

如果你属于下面几种情况,这门课的内容对你是有直接价值的:

  • 会写 PromQL 的简单查询,但遇到 rate、increase、irate 的选取和 counter 重置就说不清;
  • Prometheus 单机跑得挺好,一旦目标规模上来,就不知道抓取间隔、evaluation_interval、存储保留策略该怎么权衡;
  • Alertmanager 只用过默认配置,分组、抑制、静默三者的关系没理清,导致告警要么漏要么炸;
  • Grafana 面板能拼出来,但变量、模板、告警规则和面板之间的数据口径对不上;
  • 接手了一套别人搭的监控,出故障时不知道该先看哪一层。

反过来,如果你连 Prometheus 是什么、指标抓取的基本模型都没接触过,建议先补基础再来,这门课不会从零讲 HTTP 拉取模型。

这门课真正要解决的三件事

一、指标准确,而不是指标很多

监控做不好,往往不是数据不够,而是数据不对。课程围绕指标类型、标签设计、直方图与摘要的取舍展开,重点在于让你能判断:哪些指标该埋、标签怎么打才不会导致高基数、聚合时哪些维度必须保留。这部分决定了你后面所有的查询和告警是不是建立在可靠的基础上。

二、告警要能被人处理,而不是把人吵醒

Alertmanager 常被当成一个转发器用,这是最大的浪费。课程会讲到路由树怎么按业务和严重级别拆分、group_wait 与 group_interval 如何影响告警到达时间、inhibit_rules 怎么避免同一故障引发连锁告警。目标是让值班的人收到告警时,能立刻知道是哪个系统、什么级别、该不该现在处理。

三、面板是给人用的,不是给截图用的

Grafana 部分不会停留在「怎么加一个 Panel」。它更关注变量与模板的配合、时间范围和刷新策略的选择、以及如何让一个面板同时服务于排障和容量评估。你会看到同一批指标,因为聚合方式和单位设置不同,得出的结论可能完全相反。

配套练习建议这样用

课程里的实战案例不建议只看不练。比较有效的做法是:先按课程配置跑通一遍,确认指标能采到、告警能触发;然后主动改坏一个环节——比如把抓取间隔调大、把某个标签去掉、把一条抑制规则注释掉——观察系统行为怎么变。这三种「反向操作」比顺着做一遍更能暴露你对机制的理解程度。另外,强烈建议把你手头正在维护的一台服务器或一个服务接进去,用真实的指标和真实的告警去验证配置,而不是只用演示数据。

看完你应该能回答这些问题

  • 一条 PromQL 查询返回空结果,从采集、标签、时间范围三个方向,你的排查顺序是什么?
  • 某类告警一天触发几百次但没人处理,你会从 Alertmanager 的哪个配置项入手,为什么?
  • 指标数量增长导致 Prometheus 内存持续升高,你能想到哪几种治理手段,各自的代价是什么?
  • 业务方问「昨天下午接口慢是不是系统问题」,你能用现有面板和查询在多长时间内给出结论?
  • 如果让你重新设计一次告警分级,你会按什么维度分,和现在这套的区别在哪?

这几个问题答不上来,说明缺的不是工具操作,而是对监控链路的整体判断。这门课的价值,就是把这条链路从采集、存储、查询、告警到可视化的每一段,拆开讲清楚它们之间的因果关系。

Prometheus+Alertmanager+Grafana监控系统企业级实战

课程详情

课程标题

Prometheus+Alertmanager+Grafana监控系统企业级实战

课程核心介绍

本课程旨在帮助学员掌握使用Prometheus、Alertmanager和Grafana构建企业级监控系统的技能。

适合人群

  • Linux工程师
  • 运维工程师
  • 开发工程师
  • 系统架构师
  • 运维监控工程师

学习收获

  • 深入了解Prometheus、Alertmanager和Grafana的原理和应用
  • 掌握企业级监控系统的搭建与维护
  • 提升系统监控和故障排查能力

课程亮点

  • 实战导向:通过实际案例,学习如何构建企业级监控系统
  • 系统全面:涵盖Prometheus、Alertmanager和Grafana的核心知识
  • 易于理解:深入浅出,适合不同层次的学员

课程目录

01 前言
  01 个人简介及课程大纲
  02 特别提醒
  03 为什么要使用prometheus监控及度量值、度量指标的说明
  04 常见传统开源监控工具对比
  05 常见容器云监控系统对比
02 简介
  01 prometheus优缺点
  02 prometheus组件及架构
  03 prometheus数据模型
  04 核心指标、摘要及聚合
03 prometheus部署
  01 环境及二进制部署
  02 prometheus容器方式部署
04 prometheus配置
  01 监控prometheus本身
  02 配置命令详解
  03 全局配置详解
  04 配置采集目标
  05 标签重写原理
  06 标签使用案例剖析
05 node_export部署及使用
  01 node_export部署
  02 node_export使用案例
  03 监控docker的容器(理论部分)
  04 抓取的生命周期
06 pushgateway部署及使用
  01 pushgateway介绍
  02 pushgateway部署
  03 pushgateway使用
07 promql使用
  01 选择器及标签匹配器
  02 偏移量修改器及子查询
  03 PromeQL的操作符
  04 PromQL函数
08 基础监控、持久化及可视化
  01 计算CPU的空闲率
  02 计算cpu的负载(饱和度)
  03 计算内存使用率
  04 磁盘使用率
  05 服务状态
  06 查询的持久化
  07 grafana可视化
  08 grafana的基本使用
09 服务发现
  01 基于文件的服务发现
  02 基于K8S API的服务发现
  03 基于consul的服务发现
  04 基于eureka的服务发现
  05 针对服务注册中心是nacos的服务发现
  06 基于DNS的服务发现
10 常见插件部署及使用
  01 mtail的部署与使用
  02 mtail使用补充
  03 blackbox_exporter部署与使用
11 更高维度的监控
  01 监控mysql
  02 监控redis
  03 监控elasticsearch
  04 监控kafka
  05 监控docker
  06 监控rabbitmq
  07 监控jvm
  08 监控网站状态
12 alertmanager部署及使用
  01 alertmanager工作方式
  02 alertmanager部署
  03 alertmanager的基本配置
  04 监控alertmanager
  05 添加警报规则
  06 alertmanager路由的定义
  07 定义接收器和模版
  08 警报的静音
13 告警通知
  01 邮件告警
  02 (企业)微信通知
  03 钉钉通知
14 k8s方式部署及使用
  01 k8s部署alertmanager
  02 部署node_export
  03 k8s部署prometheus
  04 部署grafana
  05 k8s部署kube-state-metrics
  06 kube-state-metrics的使用
15 浅析可靠性、容错性及扩展
  01 可靠性和容错性
16 其他
  01 promtool工具探索
  02 log和endpoints