Spring 引导执行器“/health”不工作

Spring boot actuator "/health" is not working

我有一个 运行 Spring 启动应用程序,它按预期提供 URL http://localhost:8081/topics 和 returns 我 JSON 响应。

我添加了执行器依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <scope>test</scope> </dependency>

tutorial

中所建议

但是当我点击 http://localhost:8081/health 时,它没有给出预期的结果。它说

{ "timestamp": 1497952368055, "status": 404, "error": "Not Found", "message": "No message available", "path": "/health" }

Spring 引导版本为 1.5.4.RELEASE。和 Java 1.8 我需要做哪些额外设置?

在您的依赖项中您已声明

<scope>test</scope>

意思是

test

This scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases.

如果您希望它可用于应用程序的正常使用,请删除 <scope>test</scope> 或将其更改为 <scope>compile</scope>

在 Spring Boot 2.0.0 中你必须使用 /actuator/health 并在 application.properties 文件中添加以下行:

management.endpoint.health.show-details=always

执行以下步骤:-

  1. 将执行器依赖范围从test更改为compile

  2. 而不是使用 /health 使用 /actuator/health

  3. 如果您想查看健康状况的详细信息,请在application.properties file中添加management.endpoint.health.show-details=always

Maven 依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Application.properties

spring.profiles.active=local
server.port = 9292
management.endpoints.web.exposure.include=env,health,metrics

参考使用如下link:(一步步解释)

https://www.youtube.com/watch?v=0Dj2tsK2V2g

添加Maven依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Application.properties

management.endpoints.web.exposure.include= "*" 包括执行器上的所有端点 要么 management.endpoints.web.exposure.include= health 如果只需要健康端点