查找 Elasticsearch 集群使用的磁盘总量 space
Find total amount of disk space used by a Elasticsearch cluster
我正在寻找一种方法来获取磁盘 space 使用的磁盘总量
弹性搜索集群。我找到了使用以下 REST API 端点来获取此信息的建议:
GET /_cat/stats
GET /_nodes/stats
我想知道使用 Elasticsearch Java 高级 REST 客户端或旧版本 Elasticsearch 中的传输客户端是否可以获得相同的信息?
是的,您是正确的,可以使用 _nodes/stats
API 获取磁盘统计信息,因为 REST high-level 客户端不提供任何直接的 API 节点统计信息,可以看到它支持的所有API here.
但是您可以使用高级客户端中提供的低级休息客户端,下面是工作示例代码。
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
},
我正在寻找一种方法来获取磁盘 space 使用的磁盘总量 弹性搜索集群。我找到了使用以下 REST API 端点来获取此信息的建议:
GET /_cat/stats
GET /_nodes/stats
我想知道使用 Elasticsearch Java 高级 REST 客户端或旧版本 Elasticsearch 中的传输客户端是否可以获得相同的信息?
是的,您是正确的,可以使用 _nodes/stats
API 获取磁盘统计信息,因为 REST high-level 客户端不提供任何直接的 API 节点统计信息,可以看到它支持的所有API here.
但是您可以使用高级客户端中提供的低级休息客户端,下面是工作示例代码。
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
},