从 etcd api 获取集群运行状况

问题描述 投票:0回答:2

从命令行,我可以运行以下命令来获取

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 规范 中记录的相同功能。如何通过 REST API 以编程方式确定集群是否健康?

etcd etcdv2
2个回答
3
投票

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

etcdctl --cluster=true endpoint health


0
投票

编辑(4/17/24):此答案适用于 etcd API v2。 etcd API v3 不再支持这些端点。

从 Github 得到答案,我想我会把它传递出去 -

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

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

  2. 调用

    /health
    端点以获取每个端点的运行状况。

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