Actuator Java是一個(gè)用于監(jiān)控和管理Java應(yīng)用程序的庫
在您的項(xiàng)目中,您需要將Actuator Java庫添加到構(gòu)建系統(tǒng)中。以下是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的各種屬性。以下是一些常見的配置選項(xiàng):
# 開啟所有端點(diǎn)
management.endpoints.enabled-by-default=true
# 設(shè)置端點(diǎn)的基本路徑
management.endpoints.web.base-path=/actuator
# 設(shè)置端點(diǎn)的上下文路徑
management.endpoints.web.path-mapping.health=healthcheck
# 禁用特定端點(diǎn)
management.endpoint.shutdown.enabled=false
# 設(shè)置端點(diǎn)的端口
management.server.port=8081
# 設(shè)置端點(diǎn)的地址
management.server.address=127.0.0.1
Actuator提供了多個(gè)內(nèi)置端點(diǎn),可以用于監(jiān)控和管理應(yīng)用程序。以下是一些常見的端點(diǎn):
/actuator/health
: 顯示應(yīng)用程序的健康狀況信息。/actuator/info
: 顯示應(yīng)用程序的基本信息。/actuator/metrics
: 顯示應(yīng)用程序的度量信息。/actuator/env
: 顯示應(yīng)用程序的環(huán)境信息。/actuator/configprops
: 顯示應(yīng)用程序的配置屬性。/actuator/loggers
: 顯示和修改應(yīng)用程序的日志記錄器配置。/actuator/threaddump
: 獲取應(yīng)用程序的線程轉(zhuǎn)儲。/actuator/shutdown
: 關(guān)閉應(yīng)用程序(默認(rèn)情況下禁用)。要訪問這些端點(diǎn),只需在Web瀏覽器中輸入相應(yīng)的URL,或者使用命令行工具(如curl)進(jìn)行請求。
為了保護(hù)Actuator端點(diǎn),您需要配置安全性。您可以使用Spring Security來實(shí)現(xiàn)這一點(diǎn)。以下是一個(gè)簡單的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();
}
}
這個(gè)配置允許任何人訪問/actuator/health
和/actuator/info
端點(diǎn),而其他端點(diǎn)需要進(jìn)行身份驗(yàn)證。
通過以上步驟,您已經(jīng)成功地配置并使用了Actuator Java來監(jiān)控和管理您的Java應(yīng)用程序。