如何在 Spring Boot Health 中添加自定义健康检查?

新手上路,请多包涵
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

这将为您的应用程序添加几个有用的端点。其中之一是 /health。当您启动应用程序并导航到 /health 端点时,您将看到它已经返回了一些数据。

 {
    "status":"UP",
    "diskSpace": {
        "status":"UP",
        "free":56443746,
        "threshold":1345660
    }
}

如何在 Spring Boot Health 中添加自定义健康检查?

原文由 shabinjo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 508
1 个回答

添加自定义健康检查很容易。只需创建一个新的 Java 类,从 AbstractHealthIndicator 扩展它并实现 doHealthCheck 方法。该方法通过一些有用的方法获取一个构建器。如果您的健康状况良好,请致电 builder.up(),否则请致电 builder.down()。您如何检查健康状况完全取决于您。也许你想 ping 一些服务器或检查一些文件。

 @Component
public class CustomHealthCheck extends AbstractHealthIndicator {
    @Override
    protected void doHealthCheck(Health.Builder bldr) throws Exception {
        // TODO implement some check
        boolean running = true;
        if (running) {
          bldr.up();
        } else {
          bldr.down();
        }
    }
}

这足以激活新的健康检查(确保 @ComponentScan 在您的应用程序上)。重新启动您的应用程序并将浏览器定位到 /health 端点,您将看到新添加的健康检查。

 {
    "status":"UP",
    "CustomHealthCheck": {
        "status":"UP"
    },
    "diskSpace": {
        "status":"UP",
        "free":56443746,
        "threshold":1345660
    }
}

原文由 shabinjo 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题