Abh*_*nha 4 elasticsearch elastic-stack elasticsearch-7
我有3个节点的elasticsearch集群。如果多个节点出现故障,我可以轻松地手动检查它们。假设集群中的节点增加了,那么手动检查它们将变得困难。那么,即使集群已关闭,我怎样才能获取集群的所有节点(特别是节点名称)呢?
为了获得活动/健康的节点,我点击了 api 端点:
curl -X GET "hostname/ip:port/_cat/nodes?v&pretty"
是否有任何端点可以用来获取elasticsearch集群中的总节点数和不健康/关闭的节点数?
我试图列出使用配置文件discovery.seed.hosts中存在的所有节点elasticsearch.yml。但我不知道该怎么做,也不知道这是正确的方法还是不正确。
我认为没有任何API可以了解离线节点。如果您的整个集群出现故障或单个节点出现故障,则 Elastic 不会提供任何方法来检查节点的运行状况。您需要依赖外部脚本或代码或监视工具来 ping 所有节点并打印状态。
您可以编写一个自定义脚本,该脚本将调用下面的 API,它将返回集群中可用的所有节点。一旦收到响应,您可以过滤掉该节点的 IP 或主机名,无论哪个节点没有响应,您都可以将其视为故障节点。
GET _cat/nodes?format=json&filter_path=ip,name
Run Code Online (Sandbox Code Playgroud)
另一个选项是启用集群监控,这将为您提供整个集群的状态,但它只会显示有关正在运行的节点的信息。
请检查此答案以了解 Kibana 如何在集群监控中显示离线节点。
| 归档时间: |
|
| 查看次数: |
9218 次 |
| 最近记录: |