查找Elasticsearch集群使用的磁盘空间总量



我正在寻找一种方法来获取Elasticsearch集群。我发现了使用以下REST API端点来获取这些信息的建议:

GET /_cat/stats
GET /_nodes/stats

我想知道使用Elasticsearch Java高级REST客户端或旧版本的Elasticsearch中的传输客户端是否可以获得相同的信息?

是的,您可以正确地使用_nodes/statsAPI获取磁盘统计信息,因为REST高级客户端没有为节点统计提供任何直接的API,您可以在这里看到它支持的所有API。

但您可以使用高级客户端中提供的低级rest客户端,下面是工作示例代码。

private void getDiskStats(RestHighLevelClient restHighLevelClient) throws IOException {
RestClient lowLevelClient = restHighLevelClient.getLowLevelClient();
Request request = new Request(
"GET",
"/_nodes/stats");
Response response = lowLevelClient.performRequest(request);
if (response.getStatusLine().getStatusCode() == 200) {
System.out.println("resp: n"+ EntityUtils.toString(response.getEntity()));
}
}

你可以看到我正在控制台上打印上面API的O/p,并验证它是否包含以下格式的磁盘使用状态:

"most_usage_estimate": {
"path": "/home/opster/runtime/elastic/elasticsearch-7.8.1/data/nodes/0",
"total_in_bytes": 124959473664,
"available_in_bytes": 6933352448,
"used_disk_percent": 94.45151916481107
},

相关内容

  • 没有找到相关文章

最新更新