当前位置: 首页 > 知识库问答 >
问题:

使用Spring boot应用程序的自定义健康指示器实现健康检查rest API

童冠玉
2023-03-14

我正在使用运行在非8080端口上的Spring Boot web应用程序。我需要编写一个rest API来检查应用程序以及底层数据库的健康状况。

关于同样的,我已经看了这篇文章:如何在Spring启动健康中添加自定义健康检查?,但没有找到任何具体的实现。

实际上我想做以下工作:

>

  • 所有下游API的健康检查

    DB是否工作正常

    那么任何人都可以帮我吗?谢谢。

  • 共有1个答案

    苏鹏鹍
    2023-03-14

    Spring boot actuator可以为您自动创建公共健康检查(也为您的数据库)和REST API。

    要开始使用,请添加以下依赖项:

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

    Spring靴将暴露一些致动器endpoint,如下所示:

    /actuator
    

    与您最相关的可能是:

    /actuator/health
    

    要向此endpoint添加自定义健康检查,您可以按照链接帖子的答案中提供的指南进行操作。

    有关更多详细信息,请参阅 https://www.baeldung.com/spring-boot-actuators。

     类似资料:
    • SOFABoot 为 Spring Boot 的健康检查能力增加了 Readiness Check 的能力。如果你需要使用 SOFA 中间件,那么建议使用 SOFABoot 的健康检查能力的扩展,来更优雅的上线应用实例 引入健康检查扩展 要引入 SOFABoot 的健康检查能力的扩展,只需要引入以下的 Starter 即可: <dependency> <groupId>com.alipay

    • 这将为应用程序添加几个有用的endpoint。其中之一是/健康。当您启动应用程序并导航到/healthendpoint时,您将看到它已经返回了一些数据。 如何在春靴健康中添加自定义健康检查?

    • 我需要改变频率来检查springboot执行器中的DB运行状况。默认DB运行状况检查查询每毫秒执行一次。我想让这个查询每1分钟后执行一次,而不是毫秒。有什么方法可以自定义它吗?

    • 我有一个基于SpringBoot的web应用程序,它公开了一个Consor健康指示器bean 在进一步检查后,我发现了负责获取所有可用指标的下面片段(HealthEndpoint Configuration.java): 在这里设置一个断点,我看到ConsultHealthIndicator bean确实没有列在applicationContext的输出中。getBeansOfType(Healt

    • 我有一个ECS集群,它有多个节点(任务定义),由应用程序负载平衡器前置。在负载平衡器和容器级别(在任务定义内)配置健康检查有意义吗? 负载平衡器对每个注册的目标运行配置的健康检查,以便注销故障节点。在容器级别设置健康检查可以完成相同的事情:ECS将注销任何未通过健康检查的容器(根据您的配置)。ECS将始终实例化更多任务定义实例,以满足您所需的计数。 对我来说,如果任务定义只有一个容器,那么只在负载

    • 我有一个基于SpringBoot的web应用程序,它公开了一个Consult health indicator bean。 该bean由SpringBoot的autoconfiguration正确创建和初始化,但是,尽管关联的配置属性“Management.health.consul.Enabled”设置为true,但指示器并未显示在执行器健康endpoint中: 经过进一步检查,我发现了负责获取