Spring Boot 的 actuator 模块,很多人会用,但真正出问题时往往无从下手:比如应用明明暴露了 /actuator/prometheus,却拿不到数据;或者自定义了一个监控指标,grafana 里就是显示不出来;又或者加了 actuator 之后,某些接口响应变慢甚至不可用。这门课就是围绕这些真实场景展开的,它不教你背配置,而是把 actuator 和 prometheus 的源码拆开,让你看清楚监控数据从采集、暴露到被 grafana 拉取的完整链路。

这门课解决什么问题

它解决的是“监控接入后,出了故障只能靠猜”的问题。很多开发者对 actuator 的理解停留在“加依赖、改配置、看 /actuator/health”的层面,一旦需要扩展自定义端点,或者要对接非默认的监控系统,就会卡住。课程从 actuator 的源码入手,讲清楚它的端点是如何注册、如何暴露、如何被外部访问的;接着分析 prometheus 的源码,说明它是怎么把指标转换成文本格式的;最后落到 grafana 的扩展实现上,让你知道从 Spring Boot 到监控面板,中间每一步发生了什么。另外,课程专门用一节讲 actuator 在某种场景下导致不可用的源码分析,这是很多生产事故的根源——比如端点路径冲突、安全拦截器干扰等,理解了源码,你才能从根上定位。

适合什么基础,建议先看哪几块

这门课适合已经用过 Spring Boot,知道 actuator 是做什么的,但没深入看过源码的开发者。你不需要是 Spring 源码专家,但最好熟悉基本的注解、自动配置和条件装配机制。如果这些概念还不太熟,建议先补一下 Spring Boot 自动配置原理,再来看这门课会顺畅很多。

资料里的内容大致按“源码分析—扩展实现—故障排查”的顺序组织。我的建议是:先看 actuator 源码深度分析那一块,这是整个课程的地基;然后看 prometheus 源码分析,理解指标格式的生成逻辑;接着再看基于 prometheus 扩展实现 grafana 的部分,这时候你就能把前面两块串起来,知道一个自定义指标是怎么一步步出现在面板上的。最后再去看 actuator 导致不可用的源码分析,因为这时候你已经对内部机制有感觉了,能更快抓住问题点。

学完能独立做什么,资料怎么配合练习

学完之后,你能独立完成几件事:第一,自己写一个 actuator 插件,比如自定义一个端点,用来暴露业务特有的状态数据,而不只是依赖官方那几个端点;第二,在 Spring Boot 里接入 prometheus 和 grafana 时,遇到指标缺失、格式错误、拉取超时等问题,能通过阅读源码快速定位原因,而不是反复改配置碰运气;第三,针对生产环境里 actuator 导致的接口不可用或性能下降,你能从源码层面解释原因并给出调整方案。

这套资料不是拿来当书看的。每看一块源码分析,建议你立刻在本地搭一个最小工程,把源码里讲到的关键类打断点,观察实际运行时的调用链。比如看 actuator 源码时,就自己写一个自定义端点,看看它的注册过程;看 prometheus 源码时,就手动访问 /actuator/prometheus,对比返回的文本和源码里生成的逻辑。等看到不可用场景那一节,你可以故意复现一下课程里提到的配置,验证自己是否真的理解了。只有把源码和实际运行结合起来,这些知识才是你自己的。

课程目录

课程目录6 集
  • 1 springboot不依赖任何jar实现grafana监控 (12:04).mp4
  • 2 actuator源码分析课程介绍 (08:46).mp4
  • 3 actuator源码深度分析 (29:03).mp4
  • 4 promethus源码深度分析 (08:27).mp4
  • 5 springboot基于promethus扩展实现grafa (18:26).mp4
  • 6 actuator在某种场景下导致不可用源码分析 (17:46).mp4