在 GCP 上设置自定义 HTTP 健康检查

setting up custom HTTP Health Checks on GCP

显然我不知道如何为健康检查做自定义 HTTP 端点。也许我错过了什么,或者 GCP 还没有提供。

ElasticSearch 健康检查页面描述了检查 EL 集群的各种方法。

我正在查看 GCP 健康检查界面,它不允许我们添加 URL 端点,也不允许我们为健康检查定义解析器以匹配 "green"集群。

我能做的是连接端口 9200 并使用如下配置: 端口:9200,超时:5s,检查间隔:60s,不健康阈值:2次尝试

但这不是 EL 集群的方式,因为集群可能会响应但具有 yellow/red 状态。

有一种不解析输出的更简单方法,只需添加超时检查,例如:

GET /_cluster/health?wait_for_status=yellow&timeout=50s

注意:将等待 50 秒让集群达到黄色级别(如果在 50 秒之前达到绿色或黄色状态,它将在该点return)。

有什么建议吗?

GCP 健康检查很简单,使用 HTTP 状态代码来确定检查是否通过 (200) - https://cloud.google.com/compute/docs/load-balancing/health-checks

你可以做的是实现一个简单的 HTTP 服务,该服务将查询 ES 的健康检查端点解析输出并决定是否应返回状态代码 200 或其他内容。