我正在尝试使用Spring的HazelcastHealthIndicator和执行器检查Hazelcast成员的健康状况,不知道如何实现此目标?
谢谢!
例如:
可以说,该应用程序包含许多组件:Hazelcast,Cassandra,Elasticsearch。因此,仅当所有这些组件都健康时,您才可能希望将应用程序视为“健康”(读取/health
将返回状态200)。
所以有3个org.springframework.boot.actuate.health.HealthIndicator
接口的实现,其中一个是您在问题中提到的Hazelcast运行状况指示器。
如果您调用/health
端点,并且没有有关Hazelcast的信息,则可能存在权限问题(请确保您已阅读relevant documentation)
management:
endpoint:
health:
show-details: always
示例/actuator/health
端点输出,请参阅HazelcastHealthContributorAutoConfiguration
类以供参考。
{
"status": "UP",
"components": {
"db": {
"status": "UP",
"details": {
"database": "H2",
"result": 1,
"validationQuery": "SELECT 1"
}
},
"diskSpace": {
"status": "UP",
"details": {
"total": 255850758144,
"free": 69382373376,
"threshold": 10485760
}
},
"hazelcast": {
"status": "UP",
"details": {
"name": "hazelcast-instance",
"uuid": "be259156-a72c-4b26-a2f2-667e9de7bf5c"
}
},
"ping": {
"status": "UP"
}
}
}