我正在使用Sping Boot ,并公开actuator和prometheus的指标。我想公开info
、health
、metrics
、prometheus
、shutdown
,仅此而已。但即使我在应用程序属性中指定,我看到的也是连根/actuator
都公开了。
我想禁用根执行器,只有5个成员,我说之前。
有没有办法不只公开/actuator
端点?我也尝试过在应用程序属性中这样做:
management.endpoints.web.exposure.exclude=actuator
这是暴露的执行器列表:
{
"_links":{
"self":{
"href":"http://localhost:9002/actuator",
"templated":false
},
"health-component-instance":{
"href":"http://localhost:9002/actuator/health/{component}/{instance}",
"templated":true
},
"health-component":{
"href":"http://localhost:9002/actuator/health/{component}",
"templated":true
},
"health":{
"href":"http://localhost:9002/actuator/health",
"templated":false
},
"shutdown":{
"href":"http://localhost:9002/actuator/shutdown",
"templated":false
},
"info":{
"href":"http://localhost:9002/actuator/info",
"templated":false
},
"prometheus":{
"href":"http://localhost:9002/actuator/prometheus",
"templated":false
},
"metrics-requiredMetricName":{
"href":"http://localhost:9002/actuator/metrics/{requiredMetricName}",
"templated":true
},
"metrics":{
"href":"http://localhost:9002/actuator/metrics",
"templated":false
}
}
}
2条答案
按热度按时间fwzugrvs1#
此操作没有配置值。您现在最好将管理基本终结点移动到
/
,在这种情况下,发现页面将被禁用,以防止与应用中的其他终结点发生冲突:https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#production-ready-endpoints-hypermedia
当管理上下文路径设置为/时,发现页被禁用,以防止与其他Map发生冲突。
如果您使用的是Spring Security,则可以在您自己的
WebSecurityConfigurerAdapter
中使用类似下面的代码来有效地隐藏发现页面:这将拒绝对发现页面的所有请求,但允许对各个公开端点的请求。
在这个GitHub问题中也有一些关于发现页面的讨论:
https://github.com/spring-projects/spring-boot/issues/10331
mwecs4sa2#
根据Spring文档:
要禁用"发现页",请将以下属性添加到应用程序属性中: