我从1.5.10移动到Spring Boot 2.0.0 RC1,我在最新版本中遇到了执行器。如何启用曝光并启用所有执行器端点?
唯一暴露的端点是:
{
"_links": {
"self": {
"href": "http://127.0.0.1:8080/actuator",
"templated": false
},
"health": {
"href": "http://127.0.0.1:8080/actuator/health",
"templated": false
},
"info": {
"href": "http://127.0.0.1:8080/actuator/info",
"templated": false
}
}
}
这是我的application.properties
个文件。有什么想法吗?
#The three first ones seem to be obsolete
endpoints.configprops.enabled=true
endpoints.beans.enabled=true
endpoints.shutdown.enabled=true
management.endpoints.enabled-by-default=true
management.endpoints.sensitive=false
management.endpoints.enabled=true
management.endpoint.configprops.enabled=true
management.endpoint.beans.enabled=true
management.endpoint.shutdown.enabled=true
management.endpoints.web.exposure.include=*
答案 0 :(得分:60)
使用Spring Boot 2.0.0.RC1时,执行器端点必须1)启用并且2)暴露。
默认情况下,除shutdown
之外的所有端点均已启用,并且仅显示health
和info
。
在您的情况下,以下内容应该有效:
management.endpoints.web.expose=*
# if you'd like to expose shutdown:
# management.endpoint.shutdown.enabled=true
请注意,从Spring Boot 2.0.0.RC2开始,这再次发生了变化!
management.endpoints.web.exposure.include=*
# if you'd like to expose shutdown:
# management.endpoint.shutdown.enabled=true
有疑问,the dedicated migration guide始终与最新的更改保持同步。
修改强>
为了便于复制和粘贴,这里是`yaml'版本 - 从Spring Boot 2.0.0开始.RC2:
management:
endpoints:
web:
exposure:
include: "*"
之前:
management:
endpoints:
web:
expose: "*"
答案 1 :(得分:1)
我将补充一点,对于Spring Boot 2,执行器安全性已经改变(对于1.X,执行器的安全性具有单独的配置,当它与用户配置混合时经常导致问题)。对于Spring Boot 2.X,执行器没有单独的安全配置。根据Spring文档:
出于安全考虑,默认情况下禁用除/ health和/ info之外的所有执行器。 management.endpoints.web.expose标志可用于启用执行器。如果Spring Security位于类路径上且没有其他WebSecurityConfigurerAdapter存在,则执行程序由Spring Boot auto-config保护。如果您定义了自定义WebSecurityConfigurerAdapter,则Spring Boot auto-config将退出,您将完全控制执行器访问规则。)