Spring Boot - 将/ health端点的位置更改为/ ping / me

时间:2016-02-17 19:09:18

标签: spring spring-boot spring-boot-actuator health-monitoring

我将<input type="file" id="ctrl" webkitdirectory directory multiple/> 属性设置为multiple。但是我无法使用http://localhost:9000/ping/me访问端点 它仅适用于http://localhost:9000/health。我错过了什么? 这是app属性文件中的代码。

endpoints.health.path

我得到的回应是:

/ping/me

2 个答案:

答案 0 :(得分:11)

Actuator在Spring Boot 2.0.0中与技术无关,因此它现在与MVC无关。因此,如果您使用Spring Boot 2.0.x,则只需添加以下配置属性:

# custom actuator base path: use root mapping `/` instead of default `/actuator/`
management.endpoints.web.base-path=

# override endpoint name for health check: `/health` => `/ping/me`
management.endpoints.web.path-mapping.health=/ping/me

如果您不覆盖management.endpoints.web.base-path,我们会在/actuator/ping/me提供您的健康检查。

endpoints.*这样的属性在Spring Boot 2.0.0中被弃用。

答案 1 :(得分:5)

请参阅下面的Spring Boot 2。* https://stackoverflow.com/a/50364513/2193477

MvcEndpoints负责阅读endpoints.{name}.path个配置,并以afterPropertiesSet方式显示:

for (Endpoint<?> endpoint : delegates) {
            if (isGenericEndpoint(endpoint.getClass()) && endpoint.isEnabled()) {
                EndpointMvcAdapter adapter = new EndpointMvcAdapter(endpoint);
                String path = this.applicationContext.getEnvironment()
                        .getProperty("endpoints." + endpoint.getId() + ".path");
                if (path != null) {
                    adapter.setPath(path);
                }
                this.endpoints.add(adapter);
            }
}

拒绝设置endpoints.health.path,因为isGenericEndpoint(...)正在为false返回HealthEndpoint。也许这是一个错误或其他什么。

更新:显然这是一个错误,并在1.3.3.RELEASE版本中得到修复。因此,您可以在此版本中使用/ping/me作为运行状况监视路径。