当前位置: 首页 > 面试题库 >

如何在Spring Boot运行状况中添加自定义运行状况检查?

夏法
2023-03-14
问题内容
<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运行状况中添加自定义运行状况检查?


问题答案:

添加自定义健康检查很容易。只需创建一个新的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
    }
}


 类似资料:
  • 我试图通过 但是什么也没发生。似乎它在等待什么。控制台没有回来。不得不用CTRL C杀死它。 我还试图通过 与上述行为相同。

  • 我有一个与这里类似的情况:Spring Cloud Stream和RabbitMQ健康检查 错误信息 环境: Java 8 Grails 3.3.8 弹簧-拉比-1.7.9.释放 弹簧引导致动器-1.5.15.释放 KeyCloak服务器4.6.0.final 知道怎么能让兔子在这里停用吗?

  • 我试图理解docker编写健康检查选项是如何工作的。 运行状况检查:间隔:1 分钟30 秒超时:10 秒重试次数:3 我是否可以说这个配置将每90秒轮询一个容器,然后如果容器在10秒后超时,则群将再次尝试3次,之后它将标记容器终止并创建一个新容器来替换它 此处的文档 https://docs.docker.com/compose/compose-file/compose-file-v3/ 没什么帮

  • 是否存在SQS的Spring引导执行器健康检查终结点?我已经构建了一个SQS使用者,我想检查SQS是否已启动并运行。我没有使用JMSlistener连接到SQS,而是使用Spring云库。 我实现了以下健康检查endpoint。当我删除队列并尝试命中运行状况检查endpoint时,这将返回以下错误。如果存在连接性问题或SQS服务关闭,是否会出现类似的错误,最终导致健康检查endpoint失败? 豆

  • 问题内容: 我在JavaFX 8桌面应用程序中以嵌入式模式使用h2数据库,并且为用户开发了一个备份和还原数据库文件的选项。 在较旧版本的程序中,我使用了SQLite数据库,使用此命令pragma integrity_check来检查数据库文件非常简单。 在h2数据库中使用该命令总是会引发异常。 在h2数据库中有什么替代方法?在使用h2数据库文件之前,是否有显式或更合适的方法来检查它? 谢谢任何帮助

  • 我有现有的Spring MVC web应用程序。现在我只想使用Spring-Boot-Starter-Actutor中提供的健康检查特性。

  • 我发现了这个问题。。 您希望使用最少的步骤为在多个区域中运行的一组计算引擎实例配置网络负载平衡的自动修复。如果VM在3次尝试后无响应,则需要配置VM的重新创建,每次10秒。你应该怎么做? A、 使用引用现有实例组的后端配置创建HTTP负载平衡器。将运行状况检查设置为健康(HTTP) B、 使用引用现有实例组的后端配置创建HTTP负载平衡器。定义平衡模式并将最大RPS设置为10。 C.创建托管实例组