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應用程序。