阅读量:0
Spring Boot Actuator 是一个用于监控和管理 Spring Boot 应用程序的模块
- 添加依赖:
在项目的 pom.xml
文件中,添加以下内容以引入 Spring Boot Actuator 依赖:
<!-- ...其他依赖... --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>
- 配置 Actuator:
在 application.properties
或 application.yml
文件中,可以配置 Actuator 的相关属性。例如,可以设置端点的上下文路径、端口等。以下是一些常用的配置示例:
# 设置端点的上下文路径 management.endpoints.web.base-path=/manage # 设置端点的端口 management.server.port=8081 # 设置端点的安全认证(使用 Spring Security) management.endpoint.health.show-details=always management.endpoint.info.enabled=true management.endpoint.shutdown.enabled=true management.endpoint.loggers.enabled=true management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true management.metrics.export.simple.enabled=true
- 使用端点进行故障排查:
Actuator 提供了多种端点,可以用于查看应用程序的运行状态、健康状况、指标等信息。以下是一些常用的端点:
/actuator/health
:查看应用程序的健康状况。/actuator/info
:查看应用程序的基本信息。/actuator/metrics
:查看应用程序的各种指标。/actuator/loggers
:查看和修改应用程序的日志级别。/actuator/shutdown
:关闭应用程序(需要配置 Spring Security 以启用此功能)。
- 使用 Java API 进行故障排查:
除了使用 HTTP 请求访问端点外,还可以通过 Java API 来访问这些信息。例如,可以使用 HealthIndicator
接口来获取应用程序的健康状况:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HealthCheckController { @Autowired private HealthIndicator healthIndicator; @GetMapping("/check-health") public Health checkHealth() { return healthIndicator.health(); } }
通过这种方式,可以在代码中直接访问 Actuator 提供的各种信息,从而实现更灵活的故障排查。