【问题标题】:Why other ends point not exposing except info and health in spring boot actuator为什么除了弹簧靴执行器中的信息和健康之外其他端点不暴露
【发布时间】:2021-05-18 05:58:52
【问题描述】:

我有一个 spring-mvc 应用程序,我正在尝试为性能指标和其他端点添加 spring boot 执行器。除了信息和健康端点之外,我没有得到指标、bean 端点。任何人都可以帮我在我错过配置以获取这些端点的地方吗? Spring 版本:5.2.8.RELEASE Spring Boot 执行器版本:2.4.2 以下是我的代码:

    @Configuration
    @EnableWebMvc
    @Import({
    ConfigurationPropertiesReportEndpointAutoConfiguration.class,
    EndpointAutoConfiguration.class,
    WebEndpointAutoConfiguration.class,
    HealthEndpointAutoConfiguration.class,
    HealthIndicatorAutoConfiguration.class,
    InfoEndpointAutoConfiguration.class,
    InfoContributorAutoConfiguration.class,
    LogFileWebEndpointAutoConfiguration.class,
    LoggersEndpointAutoConfiguration.class,
    BeansEndpointAutoConfiguration.class,
    EnvironmentEndpointAutoConfiguration.class,
    CachesEndpointAutoConfiguration.class,
    AuditEventsEndpointAutoConfiguration.class,
    MetricsAutoConfiguration.class,
    MetricsEndpointAutoConfiguration.class,
    WebMvcMetricsAutoConfiguration.class,
    ManagementWebSecurityAutoConfiguration.class,
    ManagementContextAutoConfiguration.class,
    ServletManagementContextAutoConfiguration.class,
    })
    @EnableConfigurationProperties(CorsEndpointProperties.class)
    public class ActuatorConfiguration2 {
    
    @Bean //taken from WebMvcEndpointManagementContextConfiguration.class
    public WebMvcEndpointHandlerMapping endpointHandlerMapping(WebEndpointsSupplier webEndpointsSupplier,
       ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier 
            controllerEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties 
        corsProperties, WebEndpointProperties webEndpointProperties,Environment environment) {
        List<ExposableEndpoint<?>> allEndpoints = new ArrayList<>();
        Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
        allEndpoints.addAll(webEndpoints);
        allEndpoints.addAll(servletEndpointsSupplier.getEndpoints());
        allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints());
        //EndpointMapping endpointMapping = new EndpointMapping(webEndpointProperties.getBasePath());
        
        String basePath = webEndpointProperties.getBasePath(); 
        EndpointMapping endpointMapping = new EndpointMapping(basePath); 
        boolean shouldRegisterLinksMapping = StringUtils.hasText(basePath) || 
        ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT);
     
        return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes,
                corsProperties.toCorsConfiguration(),
                new EndpointLinksResolver(allEndpoints, webEndpointProperties.getBasePath()), 
        shouldRegisterLinksMapping);
    }

    @Bean
    public DispatcherServletPath dispatcherServletPath(){
        
            return () -> "/";
        }
   }

默认执行器端点 url 和响应:

http://localhost:8090/com.springmvc.actuator.demo3/actuator/

{"_links":{"self":{"href":"http://localhost:8090/com.springmvc.actuator.demo3/actuator","templated":false},"health":{"href":"http://localhost:8090/com.springmvc.actuator.demo3/actuator/health","templated":false},"health-path":{"href":"http://localhost:8090/com.springmvc.actuator.demo3/actuator/health/{*path}","templated":true},"info":{"href":"http://localhost:8090/com.springmvc.actuator.demo3/actuator/info","templated":false}}}

我应该如何获取其他端点,例如:指标、bean、缓存等?

【问题讨论】:

    标签: java spring spring-boot metrics spring-boot-actuator


    【解决方案1】:

    info,health 是 spring boot 执行器的默认端点。

    Exposing endpoints

    您似乎没有在application.properties 上声明端点​​。如果是这样,请通过添加以下内容重试:

    // Enable everything with wildcard
    management.endpoints.web.exposure.include=*
    
    // You can also disable some of them
    management.endpoints.web.exposure.exclude=jolokia,liquibase
    

    【讨论】:

    猜你喜欢
    • 2020-05-20
    • 2018-04-09
    • 2020-06-17
    • 2018-02-14
    • 1970-01-01
    • 2020-07-22
    • 2020-04-11
    • 2020-05-24
    • 2017-09-08
    相关资源
    最近更新 更多