Actuator Java是一个用于监控和管理Java应用程序的库
在您的项目中,您需要将Actuator Java库添加到构建系统中。以下是Maven和Gradle的示例:
Maven:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.5.4</version>
</dependency>
Gradle:
implementation 'org.springframework.boot:spring-boot-starter-actuator:2.5.4'
在application.properties
或application.yml
文件中,您可以配置Actuator的各种属性。以下是一些常见的配置选项:
# 开启所有端点
management.endpoints.enabled-by-default=true
# 设置端点的基本路径
management.endpoints.web.base-path=/actuator
# 设置端点的上下文路径
management.endpoints.web.path-mapping.health=healthcheck
# 禁用特定端点
management.endpoint.shutdown.enabled=false
# 设置端点的端口
management.server.port=8081
# 设置端点的地址
management.server.address=127.0.0.1
Actuator提供了多个内置端点,可以用于监控和管理应用程序。以下是一些常见的端点:
/actuator/health
: 显示应用程序的健康状况信息。/actuator/info
: 显示应用程序的基本信息。/actuator/metrics
: 显示应用程序的度量信息。/actuator/env
: 显示应用程序的环境信息。/actuator/configprops
: 显示应用程序的配置属性。/actuator/loggers
: 显示和修改应用程序的日志记录器配置。/actuator/threaddump
: 获取应用程序的线程转储。/actuator/shutdown
: 关闭应用程序(默认情况下禁用)。要访问这些端点,只需在Web浏览器中输入相应的URL,或者使用命令行工具(如curl)进行请求。
为了保护Actuator端点,您需要配置安全性。您可以使用Spring Security来实现这一点。以下是一个简单的Spring Security配置示例:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.requestMatchers(EndpointRequest.to("health", "info")).permitAll()
.requestMatchers(EndpointRequest.toAnyEndpoint()).authenticated()
.and()
.httpBasic();
}
}
这个配置允许任何人访问/actuator/health
和/actuator/info
端点,而其他端点需要进行身份验证。
通过以上步骤,您已经成功地配置并使用了Actuator Java来监控和管理您的Java应用程序。