《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/8/3 20:09:43 阅读更多 →
3步掌握PUBG-Logitech:开源智能识别压枪工具的完整教程

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

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

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

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

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

2026/8/3 20:09:42 阅读更多 →

最新新闻

Unity编辑器自动化控制:代码启动与停止的完整实践指南

Unity编辑器自动化控制:代码启动与停止的完整实践指南

1. 项目概述:为什么需要代码控制编辑器? 在Unity开发中,我们绝大多数时间都在与编辑器(Editor)打交道。无论是调整场景、配置预制体,还是编写脚本,都离不开这个强大的集成开发环境。然而&#x…

2026/8/3 20:54:09 阅读更多 →
高新技术企业认定之研发费用归集、辅助账、审计雷区常见疑问解答

高新技术企业认定之研发费用归集、辅助账、审计雷区常见疑问解答

1.研发费用归集范围有哪些?核心标准:8类:①人员人工;②直接投入;③折旧费用;④无形资产摊销;⑤设计费;⑥装备调试费与试验费;⑦委托外部研究开发费用;⑧其他费…

2026/8/3 20:54:09 阅读更多 →
掌握drawio连接线技巧:从基础到实战,绘制清晰专业的技术图表

掌握drawio连接线技巧:从基础到实战,绘制清晰专业的技术图表

1. 从“画线”到“表达”:为什么连接线是drawio的灵魂 如果你用过drawio,或者任何一款流程图、架构图工具,你可能会觉得画图的核心是那些形状——方框、圆角矩形、菱形。但真正让一张图从“元素的堆砌”变成“逻辑的流动”的,恰恰…

2026/8/3 20:54:09 阅读更多 →
DFMEA系统分析实战:从功能拆解到失效预防的完整指南

DFMEA系统分析实战:从功能拆解到失效预防的完整指南

1. 项目概述:从“救火”到“防火”的设计思维跃迁 干了十几年产品设计和质量工作,我见过太多团队在项目后期疲于奔命地“救火”——样机测试时某个传感器突然失灵,小批量生产时发现某个接口在高温下通信不稳定,甚至产品上市后因为…

2026/8/3 20:54:09 阅读更多 →
从零实现C++小游戏:掌握游戏循环、面向对象与SFML应用

从零实现C++小游戏:掌握游戏循环、面向对象与SFML应用

1. 项目概述与核心思路 “从0到1实现基于C的小游戏”,这个标题听起来简单,但背后涵盖了一个完整的软件开发周期。对于很多初学者,甚至是有一定基础但没做过完整项目的开发者来说,这是一个绝佳的练手机会。它不像“Hello World”那…

2026/8/3 20:54:09 阅读更多 →
iOS开发者必知:ALAlertBanner的5种高级自定义技巧

iOS开发者必知:ALAlertBanner的5种高级自定义技巧

iOS开发者必知:ALAlertBanner的5种高级自定义技巧 【免费下载链接】ALAlertBanner A simple and clean alert banner for iPhone and iPad. 项目地址: https://gitcode.com/gh_mirrors/al/ALAlertBanner ALAlertBanner是一款为iPhone和iPad设计的简洁警报横幅…

2026/8/3 20:53:08 阅读更多 →

日新闻

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:47 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →