欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 06_项目集成 Spring Actuator 并实现可视化页面

06_项目集成 Spring Actuator 并实现可视化页面

2025/8/13 13:58:14 来源:https://blog.csdn.net/wgy17734894660/article/details/148613289  浏览:    关键词:06_项目集成 Spring Actuator 并实现可视化页面

📊 06_项目集成 Spring Actuator 并实现可视化页面

🧩 一、引入 Spring Actuator 依赖

pom.xml 文件中添加以下依赖:

<!-- Spring Boot Actuator -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

⚙️ 二、Spring Actuator 配置

2.1 配置端点访问前缀

Spring Boot 默认的 Actuator 端点访问地址是:

http://localhost:8080/actuator

若希望自定义访问路径(如改为 /Myactuator),需在 application.yml 中添加如下配置:

management:endpoints:web:base-path: /Myactuator

配置后访问地址变为:

http://localhost:8080/Myactuator

2.2 暴露所有端点

默认情况下,Actuator 只暴露部分端点(如 healthinfo)。为了访问所有可用端点,可添加如下配置:

management:endpoints:web:base-path: /actuatorexposure:include: "*"

说明:include: "*" 表示暴露所有端点;如需按需暴露,可填写具体端点名,如:include: health,info,metrics

2.3 启用指定端点

如需开放指定端点如 health 端点:

management:endpoint:health:enabled: true

2.4 开放 health 端点的详细信息

默认情况下,请求 127.0.0.1:8080/actuator/health 的响应信息如下:

{"status":"UP"}

如需展示详细信息,需进行如下配置:

management:endpoint:health:show-details: always

2.5 启用 info 端点(info 端点和其他端点启用方式略有不同)

management:info:env:enabled: true

拓展:展示项目信息

info:app:name: "视频AI审核系统"version: "v1.0.0"description: "视频AI审核系统"

🔍 三、Actuator 常见端点说明

端点名称说明
/actuator/health应用健康状态
/actuator/info应用配置信息(通过 info.* 配置)
/actuator/metrics应用指标信息(CPU、内存、线程等)
/actuator/env当前环境属性配置
/actuator/beansSpring 容器中的 Bean 列表
/actuator/mappings所有请求映射路径
/actuator/threaddump当前线程快照
/actuator/loggers日志级别控制接口

🖥️ 四、可视化页面集成

4.1 使用 Spring Boot Monitor 实现可视化界面

Spring Boot Monitor 可以对 Spring Boot 应用做监控,对 Spring Boot Actuator 的指标做显示。工具来源于 Spring Boot Admin,只能整合在 Spring Boot 应用内使用。

引入依赖

<dependency><groupId>cn.pomit</groupId><artifactId>spring-boot-monitor</artifactId><version>0.0.4</version>
</dependency>

4.2 访问方式

应用启动后,访问以下地址即可查看监控可视化界面:

http://localhost:8080/monitor

可查看应用的基本信息、内存、线程、GC、健康状态等指标。

五、安全配置

由于 Actuator 和 Monitor 会暴露较多系统信息,必须进行访问控制。

5.1 引入安全配置依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>

5.2 配置登录账号密码

spring:security:user:name: adminpassword: adminroles: ADMIN

5.3 添加请求校验配置类

@Configuration
@EnableWebSecurity
public class SecurityConfig {@Beanpublic SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {http.authorizeHttpRequests(auth -> auth// 登录后可以访问 monitor 页面.requestMatchers(new AntPathRequestMatcher("/monitor/**")).hasRole("ADMIN")// 登录后可以访问 actuator 接口.requestMatchers(new AntPathRequestMatcher("/actuator/**")).hasRole("ADMIN")// 其他请求全部放行.anyRequest().permitAll()).httpBasic(Customizer.withDefaults());return http.build();}
}

注意:Spring Security 默认会在角色前添加 ROLE_ 前缀,因此 hasRole("ADMIN") 实际匹配的是 ROLE_ADMIN

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词