当前位置: 首页> 房产> 家装 > 网站开发需要多少钱推荐_长沙网络公司推广_投放广告怎么投放_百度网站管理员工具

网站开发需要多少钱推荐_长沙网络公司推广_投放广告怎么投放_百度网站管理员工具

时间:2025/7/12 4:35:26来源:https://blog.csdn.net/zp357252539/article/details/147420227 浏览次数:0次
网站开发需要多少钱推荐_长沙网络公司推广_投放广告怎么投放_百度网站管理员工具

Spring Boot Actuator 详细使用说明(完整代码与配置)

在这里插入图片描述


1. 依赖引入

pom.xml 中添加 Actuator 依赖:

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

2. 核心配置与安全设置
2.1 允许暴露的端点配置(application.yml
management:endpoints:web:exposure:include: "health,info,metrics,prometheus,env,loggers,shutdown"  # 按需选择端点
2.2 安全配置(结合 Spring Security)
// SecurityConfig.java
@Configuration
@EnableWebSecurity
public class SecurityConfig {@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception {http.authorizeHttpRequests().requestMatchers("/actuator/health", "/actuator/info").permitAll() // 允许公开访问.requestMatchers("/actuator/**").hasRole("ACTUATOR") // 其他端点需角色验证.and().httpBasic() // 启用 Basic Auth.and().formLogin(); // 启用表单登录return http.build();}@Beanpublic UserDetailsService userDetailsService() {UserDetails user = User.withDefaultPasswordEncoder().username("admin").password("password").roles("ACTUATOR") // 赋予访问 Actuator 的角色.build();return new InMemoryUserDetailsManager(user);}
}

3. 常用端点详解与代码示例
3.1 /actuator/health - 健康检查

自定义健康指标:

// CustomHealthIndicator.java
@Component
public class CustomHealthIndicator implements HealthIndicator {@Overridepublic Health health() {try {// 模拟数据库连接检查boolean isConnected = checkDatabaseConnection();if (isConnected) {return Health.up().build();}} catch (Exception e) {return Health.down().withDetail("Error", e.getMessage()).build();}return Health.outOfService().build();}private boolean checkDatabaseConnection() {// 实际实现数据库连接检查逻辑return true;}
}
3.2 /actuator/info - 应用信息

配置元数据(application.yml):

info:app:name: "MySpringApp"version: "1.0.0"build: "2023-10-01"
3.3 /actuator/metrics - 性能指标

自定义指标(计数器+计时器):

// CustomMetrics.java
@Component
public class CustomMetrics {private final MeterRegistry registry;public CustomMetrics(MeterRegistry registry) {this.registry = registry;}@PostConstructpublic void init() {// 计数器:记录用户注册次数Counter userRegistrationCounter = registry.counter("user.registration.count");userRegistrationCounter.increment();// 计时器:记录某个方法的执行时间Timer methodTimer = registry.timer("my_method.timer");methodTimer.record(() -> {// 需要计时的代码逻辑});}
}
3.4 /actuator/loggers - 日志管理

动态调整日志级别(通过 Postman 或 curl):

curl -X POST \http://localhost:8080/actuator/loggers/com.example \-H 'Content-Type: application/json' \-d '{"configuredLevel": "DEBUG"}'
3.5 /actuator/shutdown - 应用关闭

启用关闭端点(application.yml):

management:endpoints:enabled-by-default: trueshutdown:enabled: true
3.6 /actuator/prometheus - Prometheus 集成

配置(application.yml):

management:metrics:export:prometheus:enabled: true

4. 自定义端点示例
// CustomEndpoint.java
@Component
@Endpoint(id = "custom")
public class CustomEndpoint {@ReadOperationpublic Map<String, String> getCustomData() {return Map.of("message", "Hello from Actuator!");}@WriteOperationpublic void setCustomData(@Selector String key, String value) {// 处理写操作逻辑}
}

5. 完整配置与测试
5.1 完整 application.yml 示例
server:port: 8080spring:application:name: my-spring-appmanagement:endpoints:web:exposure:include: "health,info,metrics,prometheus,env,loggers,shutdown,custom"endpoint:health:show-details: ALWAYS # 显示详细健康检查信息shutdown:enabled: truemetrics:export:prometheus:enabled: true
5.2 测试端点
# 查看健康状态
curl http://localhost:8080/actuator/health# 获取自定义端点数据
curl http://localhost:8080/actuator/custom# 触发应用关闭(需认证)
curl -X POST -u admin:password http://localhost:8080/actuator/shutdown

6. 功能总结表格
端点功能配置关键项安全要求示例代码
/actuator/health应用健康状态检查management.endpoint.health.show-details=ALWAYS公开/受限CustomHealthIndicator.java
/actuator/info应用元数据展示info.app.* 配置公开application.yml
/actuator/metrics性能指标监控(内存、CPU、HTTP请求等)management.metrics.export.prometheus.enabled=true受限CustomMetrics.java
/actuator/loggers动态调整日志级别-受限curl 命令示例
/actuator/shutdown优雅关闭应用management.endpoint.shutdown.enabled=true受限application.yml
/actuator/prometheusPrometheus 指标导出management.metrics.export.prometheus.enabled=true受限Prometheus 配置
/actuator/custom自定义端点(示例返回固定文本)自定义 @Endpoint 注解组件受限CustomEndpoint.java

7. 注意事项
  1. 安全性:生产环境必须配置 Spring Security,敏感端点(如 env)应设置权限。
  2. 性能影响:高频指标采集可能增加系统负载,可通过 management.metrics.use-registry=none 禁用默认指标。
  3. 监控集成:结合 Prometheus + Grafana 可实现可视化监控,需部署 Prometheus 服务器并配置抓取任务。

通过以上配置和代码示例,可以快速集成 Actuator 的核心功能,并根据需求扩展自定义逻辑。

关键字:网站开发需要多少钱推荐_长沙网络公司推广_投放广告怎么投放_百度网站管理员工具

版权声明:

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

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

责任编辑: