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

如何在春靴健康中添加自定义健康检查?

慕容渊
2023-03-14
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

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

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

如何在春靴健康中添加自定义健康检查?

共有1个答案

闻人举
2023-03-14

添加自定义健康检查很容易。只需创建一个新的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在您的应用程序上)。重新启动应用程序并将浏览器定位到/healthendpoint,您将看到新添加的健康检查。

{
    "status":"UP",
    "CustomHealthCheck": {
        "status":"UP"
    },
    "diskSpace": {
        "status":"UP",
        "free":56443746,
        "threshold":1345660
    }
}
 类似资料:
  • 我使用这篇Baeldung文章为Spring 2.0.4应用程序添加了执行器支持。在第4.4节中,它谈到 你们中有谁知道关于创建这种聚合的教程、示例或其他文档吗? 更多信息我在我的应用程序中有一个服务,它依赖于几个子组件。只有当所有这些子组件都关闭时,服务本身才被认为关闭。只要有一个站起来,那么服务就站起来了。目前使用的是正常的机制,如果其中一个子组件宕机,则将服务器标记为宕机。 似乎我想使用,但

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

  • 健康检测是对应用进行check,判定应用是否在正常运行。 健康检测有三种方案 只对tcp端口进行检测 只通过http的方式check需要提供path地址 以上两种结合

  • 在设置ELB健康检查的对话框中,它会声明: 如果实例未通过健康检查,它将自动从负载均衡器中删除。自定义健康检查以满足您的特定需要。 当健康检查失败时,将从ELB后面删除实例。我的问题是围绕“健康门槛”设置。当你悬停在帮助上时,它会说: 在声明EC2实例健康之前连续运行状况检查成功的次数。 如果实例声明为健康的,它是否被拉回负载平衡组?

  • 健康检查配置概述。 filter.http.HealthCheck filter.http.HealthCheck proto { "pass_through_mode": "{...}", "endpoint": "...", "cache_time": "{...}" } pass_through_mode (BoolValue, REQUIRED) 指定过滤器是否在传递模式下运

  • 健康检查架构概述。如果为集群配置了健康检查,则会发出相应的统计信息。详见请参考统计相关文档。 HealthCheck HealthCheck.Payload HealthCheck.HttpHealthCheck HealthCheck.TcpHealthCheck HealthCheck.RedisHealthCheck HealthCheck HealthCheck proto { "ti