如果你正在负责一套线上服务的稳定性,或者准备从传统运维转到云原生方向,Prometheus 这套监控组合几乎绕不开。但市面上讲这套东西的资料很分裂:官方文档够权威,但散;短视频教程够快,但停在"跑起来一个 demo";能讲到告警规则怎么设计、Grafana 大盘怎么给不同角色看的,往往又藏在零散的博客里。这门课的价值,主要看它有没有把这三块拼成一个能落地的整体。

它解决的是什么工作场景

监控这件事,真实的工作场景通常不是"我要学 Prometheus",而是几种具体的麻烦:服务出问题时没人第一时间知道,靠用户投诉才发现;告警一天几百条,真正要紧的淹没在里面;老板或业务方要一张能看懂的系统健康图,你只能临时截图拼凑。这门课围绕 Prometheus 采集、Alertmanager 告警分发、Grafana 可视化三条线展开,对应的正是这三个场景。它适合已经在用 Linux、对指标和日志有基本概念的人,用来把零散的监控手段收拢成一套体系。

学完能独立做什么

判断一门体系课值不值,我一般看学完之后能不能独立交付一件完整的事。按这门课的主题,合理的预期是:能自己部署并维护 Prometheus 服务端,配置采集目标,为主流中间件和自建应用接入指标;能写出有区分度的告警规则,用 Alertmanager 做分组、抑制和路由,把不同级别的告警发到该去的地方;能在 Grafana 上搭出面向开发和面向值班同学的两类大盘。这些能力拼起来,就是一套小到中型企业能直接用的监控方案。反过来,如果你期待的是学完就能扛住超大规模指标存储和联邦集群的调优,那这门课定位不在那儿,得另外补。

资料适合什么基础

  • 需要你熟悉 Linux 命令行,能看懂 systemd、端口、进程这些基本概念,否则部署环节会卡。
  • 最好接触过至少一种被监控的对象,比如 Nginx、MySQL 或一个自己写的服务,这样配置采集目标时才有真实对象可练。
  • 不需要提前精通 PromQL,但要有心理准备:查询语言和告警规则表达式是这门课最需要动手练的部分,光看不动手容易假懂。
  • 对容器和 Kubernetes 完全没概念的人,前面基础部分能跟上,后面涉及服务发现的章节会吃力一些。

怎么用这份资料效率更高

建议不要按顺序一口气刷完。先跟着把 Prometheus 和 Grafana 跑通,看到自己服务的指标出现在图上是第一步;然后停下来,拿一个你手上真实的故障场景去写告警规则,比如磁盘快满、接口错误率升高。写规则的过程会逼你去查 PromQL,这比被动看讲解记得牢。Alertmanager 的路由和抑制配置是最容易配错的部分,建议单独找个时间,用几个假告警把分组和静默都试一遍。最后再回到大盘设计,想清楚每张图是给谁看的,而不是把所有指标都堆上去。

选购前需要知道的两点

一是这套技术栈版本迭代不慢,看课时留意讲解对应的版本,遇到配置写法和自己环境对不上,优先查官方文档而不是怀疑自己。二是监控本质上是跟着业务走的,课程能给你方法和一套可复用的架子,但具体的告警阈值、指标取舍,最终得结合你自己系统的实际情况来定。把这门课当成搭建体系的起点,而不是一劳永逸的答案,它的性价比才成立。

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