《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 使用监控体系 阅读笔记
《SpringBoot 3入门与应用实战》第 15 章 生产级特性 使用监控体系 阅读笔记一 参考资料二 笔记总结15.5 使用监控体系Spring Boot Admin 的核心作用是管理和简单监控 Spring Boot 应用的状态所以其最大的局限性就是只能监控 Spring Boot 应用在真实的项目开发和生产环境中我们更希望使用专业的监控体系来全方位监控我们开发的系统。本章的最后我们就来介绍当下比较成熟且流行的监控体系PrometheusGrafana。15.5.1 监控系统 PrometheusPrometheus 是一个成熟的主流的监控预警系统同时 Prometheus 还是一个时间序列数据库​所谓时序数据库是指数据库中的所有数据都带有“时刻”的概念即一条数据的保存时间天然集成到数据本身。由于监控数据中包含时刻信息因此 Prometheus 可以完成指定时间区间的监控指标数据趋势统计。Prometheus主要具备以下特点独特的多维数据模型其中包含由指标名称和键值对标识的时间序列数据。专用的指标查询语言 PromQL这种查询语言可以进行指标数据的灵活查询。Prometheus 不依赖分布式存储自身就是时序数据库不需要额外安装第三方数据库。Prometheus 默认使用 HTTP通过 pull拉模式采集时间序列。Prometheus 可以借助服务注册与发现机制动态发现需要监控的目标可以用来监控 K8S 集群。支持整合多种可视化平台例如下面要介绍的 Grafana下面我们简单快速地安装 Prometheus利用 1Panel 可以在 Linux 服务器中快速安装 Prometheus。1Panel 安装 Prometheus 教程15.5.2 Actuator 输出到 Prometheus接下来我们需要给 Spring Boot 应用引入 Prometheus 的支持由于默认情况下 Actuator 返回的都是 JSON 格式的数据而 Prometheus 需要接收 key-value 形式的数据因此需要导入一个 Micrometer 适配 Prometheus 的依赖。当整合该依赖后重启应用再次访问 /actuator 接口可以发现多了一个 /actuator/prometheus 端点我们访问这个端点可以得到一组非常多的指标数据粗略概括一下可以发现Prometheus 需要的指标格式为指标名称{限制条件}指标值。随后再找到 Prometheus 的配置文件在 scrape_configs 节点中添加当前 Spring Boot 应用的监控端点即可。为了验证监控指标是否收集到 Prometheus我们可以切换到 Query 页面输入 tomcat_sessions_active_current_sessions 指标名称并单击右侧的 “Execute” 按钮可以发现下方的 Table 选项卡中展示了当前嵌入式 Tomcat 中的会话数量为0随后再输入 process_cpu_usage 指标名称并点击 “Execute” 按钮可以发现这次获得的值是一个浮点数切换到 Graph 选项卡可以得到一个当前主机 CPU 使用占比的折线图。15.5.3 可视化监控平台 Grafana虽然 Prometheus 可以完成指标数据的展示但是这种需要输入指标名称来获取数据值的方式未免有些复杂和烦琐我们更希望通过一个可视化平台来直观地查看尽可能多的监控指标数据。Grafana 是一个开源的数据可视化平台通过 Grafana 接入 Prometheus 就可以更好地展示监控指标数据的具体值和变动趋势。安装 Grafana 同样可以使用 1Panel。1Panel 安装 Grafana 教程默认的登录用户名和密码均为admin第一次使用admin登录后Grafana会推荐更改密码简单修改后提交即可进入Grafana的主页面。Grafana 只是一个数据可视化平台而数据源来自 Prometheus所以接下来我们要把 Prometheus 配置到 Grafana 中。接下来要根据 Prometheus 中已经收集的监控指标数据来绘制可视化仪表盘 (Dashboard)。如果我们对这些指标完全掌控那么可以尝试自行绘制但即便如此绘制的过程也很烦琐因此可以使用 Grafana 的 Dashboard 市场中现有的成品直接导入。可以直观地看出当前监控的Spring Boot应用已经运行的时间、内存占用情况、CPU运行情况、JVM堆内存情况等。细心的读者可能会发现监控面板中左上角的 Application 值为 None这其实是指代当前监控 Spring Boot 的名称我们只需要在application.yml 中添加一个配置management.metrics.tags.applicationmonitoring-demo。配置完毕后重新启动工程等待大约 15 秒后刷新 Grafana 面板可以发现刚才配置的 Spring Boot 名称成功显示到 Application 中。15.5.4 利用 Grafana 实现监控告警Prometheus 和 Grafana 都内置了监控告警的功能。Prometheus 自带的 Alertmanager 组件可以实现监控告警不过使用 Alertmanager 需要了解告警规则的编写相对而言操作复杂度会高一些Grafana 自带的监控功能支持可视化配置告警规则上手难度相对低也更容易理解。初次添加后该监控规则的判定结果为 Normal代表当前状态正常无须告警。告警状态变为 Pending意为不确定当前是否应该告警这个状态下会遵循我们配置的最大等待时间如果在等待后判定结果仍然符合告警规则则告警状态会变为 Firing代表已经推送告警信息。15.6 小结Spring Boot 能快速流行和被广泛使用完备和高可扩展性的监控体系是非常有分量的筹码之一。作为 Spring Boot 中整合生产级监控指标管理的场景启动器Spring Boot Actuator 默认提供了非常多的监控端点和监控指标且大部分支持HTTP和 JMX 协议的访问不过出于对安全的考虑Spring Boot Actuator 默认禁用了绝大部分 HTTP 端点我们在实际项目上线时需要做好HTTP 监控端点的防护后再开启。通过 HTTP 访问监控端点配合 Spring Boot Admin 可以更好地管理和浏览 Spring Boot 应用的运行状态和相关管理。Spring Boot Actuator 可以配合 Prometheus 和 Grafana 完成完善的监控和告警体系。

相关新闻

职场进阶必备!OpenClaw 2.9.0智能桌面自动化工具落地实操指南

职场进阶必备!OpenClaw 2.9.0智能桌面自动化工具落地实操指南

🔥前言:Win11 环境运行 OpenClaw 必读说明 OpenClaw(因其图标酷似小龙虾,在社区中常被昵称为“小龙虾”)是一款备受关注的本地优先 AI 智能体项目。它基于开源协议开发,能够通过自然语言指令驱动计算机完成…

2026/10/16 8:35:08 阅读更多 →
3步掌握PUBG-Logitech:开源智能识别压枪工具的完整教程

3步掌握PUBG-Logitech:开源智能识别压枪工具的完整教程

3步掌握PUBG-Logitech:开源智能识别压枪工具的完整教程 【免费下载链接】PUBG-Logitech PUBG罗技鼠标宏自动识别压枪 项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-Logitech PUBG-Logitech是一款基于图像识别技术的开源罗技鼠标宏压枪工具,…

2026/10/15 13:03:15 阅读更多 →
YOLOv11改进 | 主干/Backbone篇 | 目标检测网络FasterNeT轻量化网络助力yolov11改进(提高FPS和检测效率)

YOLOv11改进 | 主干/Backbone篇 | 目标检测网络FasterNeT轻量化网络助力yolov11改进(提高FPS和检测效率)

一、本文介绍 本文给大家带来的改进机制是FasterNet网络,将其用来替换我们的特征提取网络,其旨在提高计算速度而不牺牲准确性,特别是在视觉任务中。它通过一种称为部分卷积(PConv)的新技术来减少冗余计算和内存访问。这种方法使得FasterNet在多种设备上运行速度比其他网络…

2026/9/30 11:59:11 阅读更多 →

最新新闻

设计与手作融合:从矢量设计到木质热转印装饰牌全流程

设计与手作融合:从矢量设计到木质热转印装饰牌全流程

第一次听说“artcraft”这个词时,我第一反应是:又是哪个展览或者文创品牌的宣传语吧?后来发现不是。它是一个我非常喜欢的创作状态——把“艺术设计”和“手工工艺”这两条看似平行的路,硬生生拧成一股绳的过程。做设计的人常常觉…

2026/10/17 4:25:08 阅读更多 →
ArtCraft:手工艺品从“手感”到“参数化数据库”的数字化管理

ArtCraft:手工艺品从“手感”到“参数化数据库”的数字化管理

年初给自己定了一个新项目,代号就叫 ArtCraft。说白了这个项目做的事情是:把“手工艺术品的构思、材料、工艺参数、制作过程”这些东西,从我的脑子和一堆乱糟糟的草稿纸里,搬进一个结构化、可复现、能随时调用的数字系统。去年有一…

2026/10/17 4:25:08 阅读更多 →
用Advanced IP Scanner快速定位Ubuntu主机IP

用Advanced IP Scanner快速定位Ubuntu主机IP

先讲一个我实际踩过的场景:某天新装了一台带桌面版的Ubuntu用于实验环境,装完顺手就把显示器拔了,放到角落只留一根网线。回头想起来要远程连进去跑脚本,打开终端准备SSH,卡在第一步——这台机器的IP到底是多少&#x…

2026/10/17 4:25:08 阅读更多 →
内存计算框架核心解析:原理、调优与实战避坑指南

内存计算框架核心解析:原理、调优与实战避坑指南

内存计算框架这个词,我在这个行业里听了不下十年,但每次跟朋友聊起来,发现还是有不少人把它理解成“把数据放到内存里算”这么简单。真到生产环境里,内存计算远远不是“放内存”三个字能概括的。前阵子我帮一个合作伙伴优化了一个…

2026/10/17 4:25:08 阅读更多 →
如何绘制不烂的架构图:diagram-design 规范全解析

如何绘制不烂的架构图:diagram-design 规范全解析

我接手某团队文档库的时候,diagrams 目录底下躺着十几版“最终架构图”,最新那几张里,方框大小全凭当初手抖的程度,箭头从右上角绕到左下角,红蓝绿混成一锅,路过的每个人都会顺手改两笔,结果谁也…

2026/10/17 4:25:08 阅读更多 →
HBase RowKey设计核心原则与实战模式:告别读写热点

HBase RowKey设计核心原则与实战模式:告别读写热点

关于HBase的RowKey设计,业内一直流传一句话:RowKey设计得好不好,直接决定了HBase集群是“跑车”还是“牛车”。接触HBase的开发者,前期可能更关注怎么建表、怎么写入、怎么用过滤器查询,但真正让一个业务系统在海量数据…

2026/10/17 4:24:08 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →