频道
bg

Spring Boot Actuator

coding三月 25, 20211mins
Spring Boot Java

EndpointsH1

Spring Boot默认包含的Endpoints。默认情况下除了shutdown,所有的Endpoint都是启用的。

InfoH2

应用信息通过InfoEndpoint 暴露,实现了InfoContributor 接口的类的信息会被暴露出来。Spring Boot默认配置了

  • EnvironmentInfoContributor Exposes any key from the Environment under the info key
  • GitInfoContributor Exposes git information if a git.properties file is available
  • BuildInfoContributor Exposes build information if a META-INF/build-info.properties file is available.

EnvironmentInfoContributorH3

java

info.app.encoding=UTF-8
info.app.java.source=11
info.app.java.target=11

GitInfoContributorH3

插件会生成git.properties

java

plugins {
id "com.gorylenko.gradle-git-properties" version "2.2.4"
}

BuildInfoContributorH3

Spring Boot插件会生成build-info.properties

java

springBoot {
buildInfo()
}

暴露EndpointsH1

虽然Endpoints默认几乎都是暴露的,但是主要是通过JMX暴露的,Web的方式只暴露了healthinfo

通过配置设置暴露了endponits

java

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans

访问权限H1

如果集成了Spring Security默认情况下,用户需要被授权

java

@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests((requests) ->
requests.anyRequest().hasRole("ENDPOINT_ADMIN"));
http.httpBasic();
return http.build();
}

评论


新的评论

匹配您的Gravatar头像

Joen Yu

@2022 JoenYu, all rights reserved. Made with love.