我正在使用springboot,并且正在使用执行器和prometheus公开指标。我想公开“信息”,“健康”,“指标”,“普罗米修斯”,“关机”,仅此而已。但是,即使我在应用程序属性中指定了内容,我看到的是即使根目录“ / 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
}
}
}
答案 0 :(得分:1)
没有配置值。您现在可以做的最好的就是将管理基础端点移动到<a href="#" onclick="window.open('https://www.google.com/', '_system');return false;">link</a>
,在这种情况下,发现页面被禁用以防止与应用程序中的其他端点冲突:
将管理上下文路径设置为/时,将禁用发现页面,以防止与其他映射发生冲突的可能性。
如果您使用的是Spring Security,则可以在自己的/
中使用类似的方法有效地隐藏发现页面:
WebSecurityConfigurerAdapter
这将拒绝对发现页面的所有请求,但允许请求到达各个公开的端点。
在此GitHub问题中也对发现页面进行了一些讨论:
答案 1 :(得分:0)
management.endpoints.web.exposure.include 属性也可以采用逗号分隔的端点列表。
所以,让我们只公开 /info、/health、/metrics/ 和 /prometheus 和 /shutdown:
management.endpoints.web.exposure.include = info, health, metrics, prometheus, shutdown
由于其敏感特性,/shutdown 端点默认处于禁用状态。
让我们启用它:
management.endpoint.shutdown.enabled = true