从 etcd api 获取集群健康

Get cluster-health from etcd api

从命令行,我可以运行以下命令来获取etcd集群的集群健康状况,如下所示:

etcdctl cluster-health
member ac92bd2949b92e96 is healthy: got healthy result from https://172.31.26.170:2379
member bebdb18e18d35331 is healthy: got healthy result from https://172.31.21.117:2379
member c1c4d5cb0d474453 is healthy: got healthy result from https://172.31.18.126:2379

但是,我似乎找不到 API specification 中记录的相同功能。如何以编程方式从 REST 确定集群是否健康 API?

从 Github 那里得到了答案,我想我会把它传下去-

没有单个 API 调用 returns 集群中所有节点的集群运行状况。为此,您需要:

  1. 调用 members API 以获取集群中所有成员的列表。

  2. 调用 admin API 以获取每个端点的运行状况。

etcdctl cluster-health 在 V3 中已弃用,您可以使用以下命令代替:

etcdctl --cluster=true endpoint health