使用 java rest 高级客户端的 Elasticsearch 节点 IP 地址和其他详细信息
Elasticsearch Node IP address and other details using java rest high level client
我们如何使用 java 高级 rest 客户端获取 elasticseacrh 的节点详细信息。
我们可以使用 GET /_cat/nodes 在 KIbana 中获取节点详细信息。
我想知道如何使用高级 rest 客户端获取相同的详细信息,我需要节点的 IP 地址以及是否是主节点。
看起来 JHLRC 没有 API 来获取 _cat/nodes
API,但可以使用 JHLRC 中提供的 low-level 客户端轻松获取如下代码所示
private void getNodesAPI(RestHighLevelClient restHighLevelClient) throws IOException {
RestClient lowLevelClient = restHighLevelClient.getLowLevelClient();
Request request = new Request(
"GET",
"/_cat/nodes?v");
Response response = lowLevelClient.performRequest(request);
if (response.getStatusLine().getStatusCode() == 200) {
System.out.println("resp: \n"+ EntityUtils.toString(response.getEntity()));
}
}
运行 以上代码在本地运行,下面是控制台上的 O/P
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1 48 99 21 2.59 1.93 1.92 * opster
我们如何使用 java 高级 rest 客户端获取 elasticseacrh 的节点详细信息。 我们可以使用 GET /_cat/nodes 在 KIbana 中获取节点详细信息。 我想知道如何使用高级 rest 客户端获取相同的详细信息,我需要节点的 IP 地址以及是否是主节点。
看起来 JHLRC 没有 API 来获取 _cat/nodes
API,但可以使用 JHLRC 中提供的 low-level 客户端轻松获取如下代码所示
private void getNodesAPI(RestHighLevelClient restHighLevelClient) throws IOException {
RestClient lowLevelClient = restHighLevelClient.getLowLevelClient();
Request request = new Request(
"GET",
"/_cat/nodes?v");
Response response = lowLevelClient.performRequest(request);
if (response.getStatusLine().getStatusCode() == 200) {
System.out.println("resp: \n"+ EntityUtils.toString(response.getEntity()));
}
}
运行 以上代码在本地运行,下面是控制台上的 O/P
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1 48 99 21 2.59 1.93 1.92 * opster