区分昂贵和廉价的健康检查

时间:2015-07-07 11:42:59

标签: spring-boot spring-boot-actuator

我们通常会在高可用性应用程序中非常频繁地ping /health,以确定何时需要进行故障转移。如果使用的运行状况指示器不会对数据库或Web服务等外部依赖项进行昂贵的调用,则Spring Boot Actuator可以很好地完成此操作。但是,我们喜欢编写健康指标的简便性以及它如何插入/health端点。

有没有办法配置Spring Boot Actuator,以便在某些情况下只执行一部分指标?如果是这样,怎么样?

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用management.health.<service>.enabled属性控制启用哪些健康指标。例如,要关闭数据库运行状况检查:

management.health.db.enabled: false

完整的属性列表here。在撰写本文时,他们是:

management.health.db.enabled
management.health.diskspace.enabled
management.health.mongo.enabled
management.health.rabbit.enabled
management.health.redis.enabled
management.health.solr.enabled

答案 1 :(得分:0)

我现在处于类似情况。我刚刚实现了一个自定义Endpoint来执行昂贵的运行状况检查。

如果您需要舒适的HTTP端点,您还可以实现AbstractEndpointMvcAdapter,它执行与Spring HealthMvcEndpoint类似的HTTP状态代码映射。