Spring Boot健康检查计划

问题描述 投票:1回答:1

有没有办法让Spring Actuator定期进行健康检查?我想,也许,有一个选项可以在我的HealthIndicator的自定义实现中有一些Runnable,但对我来说这个想法看起来不太好。我想查看Cassandra,如果失败,请执行一些紧急操作

spring-boot-actuator
1个回答
0
投票

您可以定期从某些外部监视系统(如Nagios)调用/ health端点,并在响应不是HTTP 200时采取适当的操作。如果您对/ health端点进行了经过身份验证的调用,则响应正文包含完全失败的详细信息(未经身份验证的调用具有只是HTTP响应代码)。

Spring Actuator现在并不打算采取任何行动。它只是由/health端点使用。

但是如果你真的想扩展这个想法并对失败的健康检查采取一些措施,那么看一下spring-boot执行器的源代码。

https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cassandra

它包含每个健康检查的实现。您可以轻松地重用它们并编写自己的实现,定期调用每个HealthIndicator

有关详细信息,请查看org.springframework.boot.actuate.health.HealthEndpoint的外观。

你可以定期做同样的事情。

请注意,这可能不是最好的主意。您将在很大程度上依赖于特定版本执行器的实现细节。在更新Sping Boot的版本后(他们经常发布新版本,并且由于安全修复和新功能而更新是个好主意),您的自定义逻辑可能无法编译,停止工作或工作不正确。

© www.soinside.com 2019 - 2024. All rights reserved.