SpringBoot отключить Actuator root - PullRequest
0 голосов
/ 07 ноября 2018

Я использую Springboot и выставляю метрики с помощью привода и прометея. Я хочу раскрыть "информация", "здоровье", "метрики", "прометей", "выключение" и ничего более. Но даже если я укажу в свойствах приложения, я вижу, что даже корень "/ привод" выставлен.

Я хотел бы отключить корневой привод и иметь только 5 членов, как я уже говорил ранее.

Есть ли способ не отображать только конечную точку / привода? Я также пытался в свойствах приложения сделать так:

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
}
}
}

1 Ответ

0 голосов
/ 07 ноября 2018

Для этого нет значения конфигурации. Лучшее, что вы можете сделать прямо сейчас, - это переместить базовую конечную точку управления на /, и в этом случае страница обнаружения отключается, чтобы предотвратить столкновение с другими конечными точками в вашем приложении:

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#production-ready-endpoints-hypermedia

Когда путь к контексту управления установлен на /, страница обнаружения отключается, чтобы предотвратить возможность конфликта с другими сопоставлениями.

Если вы используете Spring Security, вы можете эффективно скрыть страницу обнаружения, используя что-то вроде этого внутри своей WebSecurityConfigurerAdapter:

@Override
protected void configure(HttpSecurity http) throws Exception
{
   http
      .authorizeRequests()
         .mvcMatchers("/actuator").denyAll()
         .mvcMatchers("/actuator/").denyAll()
}

Это будет отклонять все запросы к странице обнаружения, но разрешать запросы на отдельные открытые конечные точки.

В этом выпуске GitHub также обсуждается страница обнаружения:

https://github.com/spring-projects/spring-boot/issues/10331

...