玩转 Spring Boot 集成篇(Actuator、Spring Boot Admin)

Spring Actuator 与 Spring boot Admin 一.Springboot监控中心概述 1.什么是Springboot监控中心 针对于微服务的服务状态、Http请求资源监控 简述:针对微服务服务器监控,服务器内存变化(堆内存变化、线程变化、日志管理等),检测服务配置连接地址是否可用(比如MySQL等的连接可能是懒加载形式的,加载的时候没有报错,当访问的时候才会报错,实现的原理采用模拟访问)、统计现在有多少bean(是Spring容器中的bean... 阅读详情

系统上线后,如果离开了监控,就没法辨别一个系统是不是在正常提供服务,就好似系统在线上疯狂裸奔。

关于监控的轮子以及实现思想,曾经也多次分享过。

《如何做监控?Google SRE 解密》

《在监控落地的路上,助你一臂之力》

《这些技术轮子,让监控落地成为现实!》

《监控实战Prometheus+Grafana》

感兴趣的可以浏览历史关于监控的文章,本文将重点分享 Spring Boot 的监控模块。

1. Spring Boot 集成 Actuator

Actuator 是 Spring Boot 中一个用来实现系统健康检测的模块。

Actuator 提供一个 Restful 的 API 接口,可以将系统运行过程中的磁盘空间、线程数以及程序连接的数据库情况通过 JSON 返回,可以结合预警、监控模块进行实时系统监控。

1.1. 引入依赖

<!-- 系统健康检测模块依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

加入依赖之后,会下载依赖包,所以需要让子弹飞一会儿,等抽根烟的功夫,再运行程序。

1.2. 体验功能

直接运行 Spring Boot main 函数,程序运行后,控制台输出如下:

31ff3a2762251fa862818b31fe09d71c.png

若想自定义个性化 banner、修改内嵌容器以及修改默认端口,见入门篇,不过不影响本篇学习。此刻,重点关注 Exposing 1 endpoint(s) beneath base path '/actuator' 这句,说明监控模块已经集成进来了。

浏览器访问http://localhost:8888/actuator观之,查看默认提供的 endpoint。

7576843ddc4d2359d88e25313c7ebed0.png

通过上面提供的 /health 接口,可以判断应用服务是否健康。访问 http://localhost:8888/actuator/health 如下:

29d6b1f2a3121d1947c98b1d2f720c37.png

当然,Actuator 提供的功能远远不止这些,只是出于安全考虑,其余的 endpoint 默认被禁用了,如何开启呢?只需在 application.properties 文件中加入如下配置即可开启 HTTP 监控。

# 开启所有的端点
management.endpoints.web.exposure.include=*

再次访问,监控项会多很多,例如 env、metrics 等,感兴趣的可以逐个访问体验。

至此,Actuator 的监控就开启完毕。不过回头捋捋,面对如此庞大的监控功能,却只简单做了如下两步配置,便轻松开启,可谓快哉。

  • 引入 spring-boot-starter-actuator 依赖

  • 修改 application.properties 配置,开启所有的监控端点功能

对于 Actuator 的监控,本次了解到这里,接下来看看 Spring Boot Admin 监控。

2. 集成 Spring Boot Admin

Spring Boot Admin 用于监控基于 Spring Boot 开发的应用,它是在 Spring Boot Actuator 的基础上提供更简洁的可视化 WEB UI.

2.1. 创建监控服务端

创建一个 monitor 项目,用于采集应用的监控信息。

2.1.1. 引入依赖

在 monitor 项目的 pom.xml 文件中引入 spring-boot-admin-starter-server 依赖。

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.6.2</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.1.2. 编写监控服务端

package com.example.monitor;


import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@EnableAdminServer
@SpringBootApplication
public class MonitorApplication {


    public static void main(String[] args) {
        SpringApplication.run(MonitorApplication.class, args);
    }
}

此时使用 @EnableAdminServer 注解启动 Admin 监控服务。

2.1.3. 启动监控服务端

运行 MonitorApplication,控制台输出如下。

dec147cf5dfdf4c3cc4d91022720e9c8.png

2.2. 客户端应用

2.2.1. 引入依赖

<!-- 引入监控客户端依赖-->
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.6.2</version>
</dependency>

2.2.2. 添加配置

在 application.properties文件中加入如下配置。

# 应用程序名称
spring.application.name=App_Demo
# 开启所有的端点
management.endpoints.web.exposure.include=*
# 配置监控Server的服务地址
spring.boot.admin.client.url=http://localhost:8080

2.2.3. 运行客户端应用

a25d8f2259fcb07de2ce854d71a030cc.png

2.3. 体验监控

浏览器访问 http://localhost:8080,效果如下。

3e98b530a522aa4ce11b391f24477a5c.png

6edebf884e957ebc232db21eeec71ec7.png

3. 例行回顾

本文是 Spring Boot 项目集成监控篇的讲解,主要分享了如下部分:

3ca2e6a682c2b67b5123913f4bc29578.png

玩转 Spring Boot 集成监控篇,就写到这里,希望大家能够喜欢。

一起聊技术、谈业务、喷架构,少走弯路,不踩大坑,会持续输出更多精彩分享,欢迎关注,敬请期待!

历史系列文章:

玩转 Spring Boot 入门篇

玩转 Spring Boot 集成篇(MySQL、Druid、HikariCP)

玩转 Spring Boot 集成篇(MyBatis、JPA、事务支持)

玩转 Spring Boot 集成篇(Redis)

2665a5953f7274e42ebcd73142824fee.png

第19篇:SpringBoot监控管理:Actuator、Admin与生产环境监控体系 本文介绍了SpringBoot监控体系在生产环境中的重要性,重点讲解了Spring Boot Actuator的集成与配置。通过Actuator可以暴露应用健康检查、指标监控等端点,实现应用自检功能。文章展示了如何添加Actuator依赖、配置安全访问路径,并详细解析了Health端点的实现方式,包括自定义健康检查组件和K8s就绪探针。监控体系能够帮助开发者在故障发生前预警,实现数据驱动的决策和全链路追踪,是生产环境不可或缺的"眼睛"和"耳朵"。 阅读详情

相关推荐

Spring Boot进阶 - Actuator监控

如果你需要创建自定义的端点,可以定义一个实现// 返回自定义的数据 return "This is data from a custom endpoint";} }// 返回自定义的数据 return "This is data from a custom endpoint";} }// 返回自定义的数据 return "This is data from a custom endpoint";} }

闫小甲的专栏 1258

SpringBoot Actuator和Spring boot Admin工具

SpringBootAdmin

ywanju的博客 2131

Spring Boot Admin监控的使用

学会SpringBoot Admin 一篇就够了,巨细!!!!巨实用!!!!!

qq_41238794的博客 2689

Spring Boot整合Actuator、Admin对应用程序进行监控

本文详细介绍了SpringBoot应用监控的两种实现方式:通过Actuator提供监控端点,以及整合SpringBoot Admin搭建可视化监控平台。首先讲解了Actuator的基本配置,包括端点暴露、健康检查等核心功能。然后重点介绍了SpringBoot Admin的搭建过程,包含服务端和客户端的配置步骤,以及如何整合SpringSecurity实现安全访问控制。最后补充了服务下线邮件提醒功能的实现方法,为应用监控提供了完整的解决方案。文章还提供了相关项目的Git仓库地址,方便读者参考实践。

沐雨橙风ιε的博客 3368

Spring Boot Admin安全攻防实战:从Actuator端点渗透到微服务集群加固

Spring Boot Actuator作为应用监控的核心组件,为微服务提供了丰富的运行时信息端点。其工作原理是通过HTTP暴露应用的内部状态,包括健康检查、环境变量、日志和度量指标等。这一设计在提升运维效率的同时,也带来了显著的安全风险:不当暴露的端点可能成为攻击者获取敏感信息甚至实现横向移动的入口。在微服务架构中,Spring Boot Admin作为集中式监控面板,会聚合多个服务的Actuator端点,一旦其自身存在未授权访问或弱认证问题,攻击者便能通过它获取整个服务集群的“地图”,直接定位并攻击各个

aodanchui1057的博客 428

Spring Boot Actuator与Admin整合源码深度解析

简介:Spring Boot Actuator和Spring Boot Admin是提升Spring Boot应用可观测性的核心组件。Actuator提供丰富的监控端点,如健康检查、指标收集和环境信息暴露;Admin则基于这些数据构建可视化管理界面,实现多服务集中监控。本文详细梳理了两者的整合流程,涵盖依赖配置、端点暴露、安全管理、客户端注册及自定义扩展,并通过源码分析揭示HealthEndpoint等核心机制的实现原理。结合实战操作,帮助开发者掌握从集成到定制的完整技能,提升微服务系统的运维能力。

weixin_28809949的博客 1039

Spring Boot Actuator&Admin

干嘛的:主要运用在微服务架构,所以我建议你先学微服务,否则可能get不到它的用处,只有大型的分布式系统才会用到指标监控… Why:?对于一个大型的几十个、几百个微服务构成的微服务架构系统,在线上时通常会遇到下面一些问题,比如:So: 在这种大型分布式应用的环境下,我们如何能够快速发现问题、快速解决问题, 必须要有监控平台、(链路追踪、日志)SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等 Actuator

我的技术博客 3348

TI DSP从COFF切换到EABI输出格式的5个关键修改点(TMS320F280025实测)

本文基于TMS320F280025实测,详细解析了TI DSP从COFF切换到EABI输出格式的5个关键修改点。核心差异在于EABI遵循ELF标准,涉及链接器优化、RAM数据共享、工具链升级、double数据类型位宽变化及链接器命令文件重构。迁移时需使用.retain指令防止关键数据被优化,利用NOINIT段保护共享RAM,并更新hex2000等工具,以确保BootLoader与应用程序稳定运行。

weixin_29189381的博客 266

Spring Boot Actuator & Admin 实战

Spring Boot Actuator 是 Spring Boot 的一个子项目,为应用提供了生产级别的功能。它提供了一系列的端点(endpoints),允许我们通过HTTP或JMX来监控应用的健康状况、指标、日志等。/actuator/health: 应用健康状态,通常由HealthIndicator实现。/actuator/info: 应用信息,可以来自Maven项目信息、自定义信息等。/actuator/metrics: 应用指标,如内存使用、HTTP请求计数等。

qq_33807380的博客 1049

车载监控系统升级指南:如何用XS9950A替换TP9950实现高清视频解码(附配置代码)

本文提供了从TP9950升级至XS9950A车载视频解码芯片的完整实战指南。详细解析了硬件设计调整、PCB布局要点,并重点分享了通过I2C配置寄存器实现高清HDCCTV视频解码与同轴音频集成的软件驱动代码与调试技巧,助力工程师平滑完成系统升级。

weixin_29268637的博客 364

反射机制——通过反射调用service中方法

需求:现在有一群service接口,有同一个方法名称,内部逻辑除了调用不同的调用自身的方法外其他基本都一致,那现在就需要一个独立的方法来勾勒出这个方法 1.SpringContextUtil package com.XXX.report.util; import org.apache.log4j.Logger; import org.springframework.beans.BeansE...

东天里的冬天 8521

Spring Boot Actuator与Spring Boot Admin详解

原版文档: 文档:Spring Boot Actuator.note 链接:http://note.youdao.com/noteshare?id=fca965ad3f7ae3f79260d09056f0af6d&sub=827C15DFB1A440E0B6C6C1A947AE3132 一、什么是 Actuator 二、集成 Actuator 三、Endpoints 介绍 四、端点配置 默认暴露 暴露配置 路径映射 管理端口调整 端点响应缓存 五、端点保护 六、重要端点解析 /health 端点 /

weixin_44281922的博客 2793

TI电量计BQ40Z50R2循环学习实战:从量产文件生成到关键标志位解析

本文详细解析了TI电量计BQ40Z50R2的循环学习实战流程,从量产文件生成到关键标志位解析。通过实战案例和易错分析,帮助工程师避开常见陷阱,提升电量计配置效率。重点介绍了循环学习前的准备工作、量产文件生成步骤及关键标志位的深度解读,适用于电池管理系统开发人员。

weixin_30505225的博客 439

【SpringBoot框架篇】13.使用springboot admin对springboot应用进行监控

应用集成adminSpring Boot Admin 对springboot应用进行监控

皓亮君的博客 9177

IntelliJ IDEA 2025.1 + Gradle 镜像配置避坑指南:解决依赖下载慢的终极方案

本文针对IntelliJ IDEA 2025.1开发环境中Gradle依赖下载缓慢的问题,提供了详细的镜像配置避坑指南。通过解析Gradle依赖解析机制,重点指导如何正确配置阿里云等国内镜像仓库,并分享验证配置生效、排查常见错误及高级优化技巧,旨在彻底解决依赖下载难题,提升开发效率。

weixin_28835551的博客 532

29、智能问答系统:原理、挑战与实现

本文深入探讨了智能问答系统的原理、挑战与实现方法。从智能问答系统的定义、重要性、问题类型和构建步骤,到实现中的歧义问题、数据集创建及基于规则的系统实现,全面解析了这一自然语言处理领域的重要应用。同时,文章还介绍了智能问答系统的应用场景、发展趋势以及面临的挑战与应对策略,为读者提供了一个全面而深入的理解框架。

redis7keeper的博客 163

spring-boot-actuator监控,及spring-boot-admin可视化监控数据

spring-boot集成actuator服务监控组件,基于spring-boot2.4.0

xhga 1717

贪婪投影三角化算法

贪婪投影三角化算法是一种利用点云数据进行曲面重建的方法。其基本思想是通过迭代地连接点云中的邻近点来生成三角形,从而构建出整个表面。这种方法被称为“贪婪”,因为它在每一步仅考虑当前最优的策略,而不考虑全局的最优性。

twnkie的博客 1567

微服务系列:服务监控 Spring Boot Actuator 和 Spring Boot Admin

服务监控就是监视当前系统应用状态、内存、线程、堆栈、日志等等相关信息,主要目的在服务出现问题或者快要出现问题时能够准确快速地发现以减小影响范围。 服务监控在微服务改造过程中的重要性不言而喻,没有强大的监控能力,改造成微服务架构后,就无法掌控各个不同服务的情况,在遇到调用失败时,如果不能快速发现系统的问题,对于业务来说就是一场灾难。

zhang33565417的博客 2415

STM32CubeMX之SDIO+FatFS读写SD卡

“SD卡/TF卡的读写是嵌入式系统中常用的功能。而SD卡的本质是一种flash存储器,通过单片机可以直接读写,但若要被电脑识别,则需要文件系统的支持。本篇文章主要介绍通过单片机的SDIO...

zhang062061的专栏 1897

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Spring Boot Admin【Finchley 版】

(一) Spring Boot Admin介绍 Spring Boot Actuator提供了对单个Spring Boot的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期。 但是Actuator的监控也有一些问题:第一,所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口;第二,如果Spring Boot应用集群...

u013739073的专栏 2259

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring boot actuator与Spring boot admin对接,2.0版本

gradle构建工程spring-boot-admin-serverbuild.gradle compile group: 'de.codecentric', name: 'spring-boot-admin-starter-server', version: '2.0.0' compile group: 'org.springframework.boot', name: 'spri...

必杀语的博客 3376

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java Spring Boot Admin 使用教程

Java Spring Boot Admin 使用教程 项目介绍 Java Spring Boot Admin 是一个社区开源项目,旨在为 Spring Boot 应用程序提供管理和监控功能。它通过暴露 Spring Boot 的 Actuator 端点,提供详细的健康信息、内存信息、JVM 系统和环境属性、垃圾回收等监控功能。该项目由 codecentric 维护,基于 Apache 2.0 许...

gitblog_00259的博客 1314

一起来学SpringBoot | 第十五篇:actuator与spring-boot-admin 可以说的秘密

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 一起来学SpringBoot | 第十四篇:强大的 actuator 服务监控与管理 中介绍了actuator 的作用,细心的朋友可能会发现通过http...

唐亚峰 3579

SpringBoot 第十五篇:actuator 与 spring-boot-admin 深度解析

本文全面解析了SpringBootActuator和SpringBootAdmin的应用监控方案。Actuator作为SpringBoot的生产级监控模块,提供健康检查、指标收集等标准化端点,支持自定义扩展和安全配置。SpringBootAdmin在其基础上构建可视化界面,支持集群部署和多种通知方式。文章详细介绍了核心功能实现、安全加固、性能优化及第三方系统集成方案,并提供了生产环境的最佳实践指南。通过两者的结合使用,开发者可以构建完整的企业级应用监控体系,满足从基础监控到复杂业务指标的全方位需求。

油墨香^-^的博客 1227

Spring Boot Admin介绍

Spring Boot Admin是什么? Spring Boot Admin用来管理和监控Spring Boot应用程序。 spring-boot-starter-actuator是Spring Boot提供的一个包,可以对系统健康情况进行监控,Spring Boot Admin是在spring-boot-starter-actuator基础上,开发的一套功能强大的监控系统。 如何使用...

山楂树的博客 3480
上一篇: 玩转 Spring Boot 集成篇(Redis)
下一篇: 玩转 Spring Boot 集成篇(RabbitMQ)
一猿小讲
博客等级 码龄15年 294粉丝 156原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值