#spring-boot #endpoint #actuator
#spring-boot #конечная точка #привод
Вопрос:
У меня есть пользовательское приложение starter (библиотека), которое имеет зависимость от привода и prometheus
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.5.2</version>
</dependency>
в application.properties
management.endpoints.web.exposure.include=health, info, metrics, prometheus
Я использую этот стартер в других своих приложениях, и я хочу также передать это изложение конечных точек из стартера. Зависимости привода и Prometheus работают в приложениях, но не отображают выбранные конечные точки в пускателе. Ofc я могу добавить также строку с management.endpoints.web.exposure.include=health, info, metrics, prometheus
в свои приложения, но с несколькими приложениями, использующими этот стартер, я хочу передать это один раз для всех и изменить конечные точки только в starter, если это необходимо.
У вас есть идея, как выставить в моем приложении те конечные точки, которые установлены в starter?
Spring Boot v2.3.2 / Maven 3.6.3
Ответ №1:
Вы можете передать это как аргументы командной строки или как переменные среды в свой jar при запуске приложения.
Таким образом, вы можете передавать его в требуемое приложение по мере необходимости без обновления application.properties.
Это также защитит от раскрытия конечных точек привода, когда это не требуется, поскольку конечные точки привода раскрывают конфиденциальную информацию о приложении.
например. java -Dmanagement.endpoints.web.exposure.include=health, info, metrics, prometheus -jar myapp.jar
Комментарии:
1. Спасибо, Махеш, за твой ответ. К сожалению, это решение не может быть применено к структуре наших приложений.