В моем приложении Spring Boot App (2.0.0.M7) application.properties я установил
management.endpoint.metrics.enabled=true
Однако, когда я нажал
localhost:8080/actuator/metrics
Я получаю 404.
Какое решение?
В моем приложении Spring Boot App (2.0.0.M7) application.properties я установил
management.endpoint.metrics.enabled=true
Однако, когда я нажал
localhost:8080/actuator/metrics
Я получаю 404.
Какое решение?
Я хотел бы дополнить ответ OP более подробной информацией, поскольку я немного потрудился, прежде чем, наконец, наткнулся на это решение, и, похоже, существует большая путаница в отношении изменений в поведении привода с Spring Boot 2.
Что не изменилось
Вы должны включить зависимость для пружинно-загрузочного-пускового привода
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
Если вы хотите получить доступ к конечным точкам привода через HTTP, вам также необходимо добавить зависимость к spring-boot-starter-web
Таким образом, ваши зависимости пом будут выглядеть так, как показано ниже
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
Изменения, внесенные в Spring Boot 2
Конечные точки, такие как /health
, /metrics
и т.д., Больше не доступны в корневом контексте по умолчанию. Теперь они доступны по адресу http://{host}:{port}/actuator
. Кроме того, не имеет значения, начинаются ли в вашем приложении все другие конечные точки с какого-либо другого контекста, например, /hello
- actator доступен в /actuator
а не в /hello/actuator
.
Ответ от /actuator
конечной точки /actuator
по умолчанию включен HATEOAS. До Spring Boot 2 это было так, только если HATEOAS находится в пути к классам и явно включен в application.yml
Чтобы сделать конечную точку привода доступной через HTTP, ее необходимо включить и открыть.
По умолчанию:
открываются только конечные точки /health
и /info
, независимо от того, присутствует ли Spring Security и настроен ли он в вашем приложении.
все конечные точки, кроме /shutdown
включены (хотя выставлены только /health
и /info
)
Если вы хотите выставить все конечные точки (не всегда хорошая идея), вы можете сделать это, добавив management.endpoints.web.exposure.include=*
в application.properties
. Не забудьте указать подстановочный знак, если вы используете yml-конфигурации.
endpoints.xyz
, устарели в пользу свойств, начинающихся с management.xyz
Для полной документации см. Официальный документ, а также руководство по миграции
Для меня сработало следующее (в формате YAML), работающее с релизом весенней загрузки 2:
management:
endpoints:
web:
exposure:
include: info, health, metrics
metrics:
export:
atlas:
enabled: false
также конкретную документацию можно найти здесь here
Добавьте следующую строку в ваш файл application.properties
:
management.endpoints.web.exposure.include=metrics
Все это.
Вам необходимо добавить нижеперечисленные реквизиты в ваш файл application.properties
. У меня была такая же проблема, пока я не добавил ниже реквизит.
management.endpoints.beans.enabled=false
management.endpoints.web.exposure.include=*
"*" имеет особое значение в YAML, поэтому обязательно добавляйте кавычки, если вы хотите включить (или исключить) все конечные точки, как показано в следующем примере:
management:
endpoints:
web:
exposure:
include: "*"
Хорошо, я нашел решение. Я добавил еще одну строку в application.properties
management.endpoints.web.expose=*
Тем не менее важно обеспечить фиксацию контуров привода
Читайте здесь: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-monitoring.html
Согласно документации по микрометрам.Spring Boot 2.0.x поддерживает микрометр из коробки через привод Spring Boot.
По умолчанию показатель конечной точки отключен, в соответствии с лакмусовой бумажкой Spring Boot 2s, что любая конечная точка, которая потенциально может предоставить конфиденциальные данные о приложении, должна быть отключена по умолчанию. Это можно включить, установив:
management.endpoints.web.exposure.include: метрики
Переход к /actuator/metrics
отображает список доступных имен счетчиков.
Чтобы получить к ним доступ, используйте что-то вроде этого: http://localhost: 8080/activator/metrics/jvm.memory.used
При обновлении Spring Boot 1.5.15 до 2.1.4 произошла та же проблема
Необходимо изменить исходную зависимость для привода Spring Boot в моем pom.xml
из:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
</dependency>
чтобы:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
обратите внимание на добавление слова starter
в artifactId
.
Следующая конфигурация работает для меня
server.servlet.context-путь =/путешествия management.endpoints.web.exposure.include = *
Затем вам нужно добавить контекстный путь:http://localhost:8080/travel/actuator/metrics/