vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping protected java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.springframework.boot.actuate.endpoint.web.Link >> org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.links(javax.servlet.http.HttpServletRequest
,\ org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration ,\ org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration 关闭 Web 请求跟踪 自动装配 org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration 顾名思义 org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration 当 org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration 关闭后,其请求信息存储介质 org.springframework.boot.actuate.trace.TraceRepository 没有存在的必要,故可选择关闭。
; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType ; import org.springframework.boot.actuate.endpoint.ExposableEndpoint; import org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver ; import org.springframework.boot.actuate.endpoint.web.EndpointMapping; import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes ; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping
,\ org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration ,\ org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration,\ org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration 配置项 spring.autoconfigure.exclude = org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration 配置项 spring.autoconfigure.exclude = org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration 配置项 spring.autoconfigure.exclude = org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration
. */ package org.springframework.boot.actuate.system; import java.io.File; import org.apache.commons.logging.Log ; import org.apache.commons.logging.LogFactory; import org.springframework.boot.actuate.health.AbstractHealthIndicator ; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator ; import org.springframework.boot.actuate.health.Status; /** * A {@link HealthIndicator} that checks language governing permissions and * limitations under the License. */ package org.springframework.boot.actuate.health
],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke
{ "bean": "endpointHandlerMapping", "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.get { "bean": "endpointHandlerMapping", "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.set > org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint.findByPrincipalAndAfterAndType localhost:8082/configprops (查看我们配置了的以及默认配置的属性,也可以看出我们还可以配置哪些属性) { "endpoints-org.springframework.boot.actuate.endpoint.EndpointProperties auditevents", "sensitive": true, "enabled": true } }, "management.trace-org.springframework.boot.actuate.trace.TraceProperties
/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java @ /org/springframework/boot/actuate/web/mappings/MappingsEndpoint.java @Endpoint(id = "mappings") public /org/springframework/boot/actuate/web/mappings/servlet/ServletsMappingDescriptionProvider.java public /org/springframework/boot/actuate/web/mappings/servlet/FiltersMappingDescriptionProvider.java public /org/springframework/boot/actuate/web/mappings/servlet/DispatcherServletsMappingDescriptionProvider.java
vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.get vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.set > org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint.findByPrincipalAndAfterAndType 只需要通过注org.springframework.boot.actuate.metrics.CounterService和org.springframework.boot.actuate.metrics.GaugeService
vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.get vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.set > org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint.findByPrincipalAndAfterAndType 只需要通过注org.springframework.boot.actuate.metrics.CounterService和org.springframework.boot.actuate.metrics.GaugeService
vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.get vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.set > org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint.findByPrincipalAndAfterAndType 只需要通过注org.springframework.boot.actuate.metrics.CounterService和org.springframework.boot.actuate.metrics.GaugeService
/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticsearchHealthIndicatorProperties.java /org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchClientHealthIndicatorAutoConfiguration.java /org/springframework/boot/actuate/elasticsearch/ElasticsearchHealthIndicator.java public class ElasticsearchHealthIndicator /org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchRestHealthIndicatorAutoConfiguration.java /org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchJestHealthIndicatorAutoConfiguration.java
/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java @Configuration /org/springframework/boot/actuate/trace/http/HttpExchangeTracer.java public class HttpExchangeTracer /org/springframework/boot/actuate/web/trace/servlet/HttpTraceFilter.java public class HttpTraceFilter /org/springframework/boot/actuate/web/trace/reactive/HttpTraceWebFilter.java public class HttpTraceWebFilter /org/springframework/boot/actuate/trace/http/HttpTraceEndpoint.java /** * {@link Endpoint} to expose
| /health.json],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value ],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke
management.endpoint.env-org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointProperties management.endpoint.health-org.springframework.boot.actuate.autoconfigure.health.HealthEndpointProperties management.endpoints.jmx-org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointProperties management.info-org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties management.metrics-org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties management.server-org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties
import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.health.Health ; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.actuate.health.HealthIndicatorRegistry
this.typeName = typeName; this.cause = cause; } 在断点里,我们可以发现: typeName是 org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration cause是 java.lang.ClassNotFoundException: org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration 终于真相大白了,是找不到org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration这个类。 MyHealthIndicatorAutoConfiguration { 准确来说是spring boot2把一些类的package改了: spring boot 1里类名是: org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration spring boot 2里类名是: org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration
DiscoveryCompositeHealthIndicator.java:41) The following method did not exist: org.springframework.boot.actuate.health.CompositeHealthIndicator <init>(Lorg/springframework/boot/actuate/health/HealthAggregator;)V The method's class, org.springframework.boot.actuate.health.CompositeHealthIndicator /org/springframework/boot/actuate/health/CompositeHealthIndicator.class It was loaded from the following classpath of your application so that it contains a single, compatible version of org.springframework.boot.actuate.health.CompositeHealthIndicator
配置绑定映射类 有关本章开放节点的配置都被映射到属性配置类org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties name为management.endpoints.web.exposure.include的配置如下: ..... { "sourceType": "org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties 查看详细健康状态 开启查看详细健康状态比较简单,通过配置参数management.endpoint.health.show-details来进行修改,该参数的值由org.springframework.boot.actuate.health.ShowDetails 元数据文件内,配置的showDetails的默认值为never,也就是不显示详细信息,配置如下所示: ..... { "sourceType": "org.springframework.boot.actuate.autoconfigure.health.HealthEndpointProperties ", "type": "org.springframework.boot.actuate.health.ShowDetails" }, .....
/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticsearchHealthIndicatorProperties.java /org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchClientHealthIndicatorAutoConfiguration.java /org/springframework/boot/actuate/elasticsearch/ElasticsearchHealthIndicator.java public class ElasticsearchHealthIndicator /org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchRestHealthIndicatorAutoConfiguration.java /org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchJestHealthIndicatorAutoConfiguration.java