final NodesInfoRequest nodesInfoRequest = new NodesInfoRequest(nodeIds); nodesInfoRequest.timeout(request.param("timeout")); nodesInfoRequest.all(); } else { nodesInfoRequest.clear(); nodesInfoRequest.settings(metrics.contains("settings")); nodesInfoRequest.os(metrics.contains("os")); nodesInfoRequest.process(metrics.contains("process")); nodesInfoRequest.jvm(metrics.contains("jvm")); nodesInfoRequest.threadPool(metrics.contains("thread_pool")); nodesInfoRequest.transport(metrics.contains("transport")); nodesInfoRequest.http(metrics.contains("http")); nodesInfoRequest.plugins(metrics.contains("plugins")); nodesInfoRequest.ingest(metrics.contains("ingest")); nodesInfoRequest.indices(metrics.contains("indices"));
@Override protected NodeInfo nodeOperation(NodeInfoRequest nodeRequest) { NodesInfoRequest request = nodeRequest.request; return nodeService.info(request.settings(), request.os(), request.process(), request.jvm(), request.threadPool(), request.transport(), request.http(), request.plugins(), request.ingest(), request.indices()); }
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); request = new NodesInfoRequest(); request.readFrom(in); }
@Override protected void masterOperation(PutPipelineRequest request, ClusterState state, ActionListener<AcknowledgedResponse> listener) throws Exception { NodesInfoRequest nodesInfoRequest = new NodesInfoRequest(); nodesInfoRequest.clear(); nodesInfoRequest.ingest(true); nodesInfoAction.execute(nodesInfoRequest, new ActionListener<NodesInfoResponse>() { @Override public void onResponse(NodesInfoResponse nodeInfos) { try { Map<DiscoveryNode, IngestInfo> ingestInfos = new HashMap<>(); for (NodeInfo nodeInfo : nodeInfos.getNodes()) { ingestInfos.put(nodeInfo.getNode(), nodeInfo.getIngest()); } ingestService.putPipeline(ingestInfos, request, listener); } catch (Exception e) { onFailure(e); } } @Override public void onFailure(Exception e) { listener.onFailure(e); } }); }
private static void issueWarnings(Client tc) { NodesInfoResponse nir = tc.admin().cluster().nodesInfo(new NodesInfoRequest()).actionGet(); Version maxVersion = nir.getNodes().stream().max((n1,n2) -> n1.getVersion().compareTo(n2.getVersion())).get().getVersion(); Version minVersion = nir.getNodes().stream().min((n1,n2) -> n1.getVersion().compareTo(n2.getVersion())).get().getVersion(); if(!maxVersion.equals(minVersion)) { System.out.println("WARNING: Your cluster consists of different node versions. It is not recommended to run sgadmin against a mixed cluster. This may fail."); System.out.println(" Minimum node version is "+minVersion.toString()); System.out.println(" Maximum node version is "+maxVersion.toString()); } else { System.out.println("Elasticsearch Version: "+minVersion.toString()); } if(nir.getNodes().size() > 0) { List<PluginInfo> pluginInfos = nir.getNodes().get(0).getPlugins().getPluginInfos(); String sgVersion = pluginInfos.stream().filter(p->p.getClassname().equals("com.floragunn.searchguard.SearchGuardPlugin")).map(p->p.getVersion()).findFirst().orElse("<unknown>"); System.out.println("Search Guard Version: "+sgVersion); } } }
@Override public void processResponse(final ClusterStateResponse clusterStateResponse) { NodesInfoRequest nodesInfoRequest = new NodesInfoRequest(); nodesInfoRequest.clear().jvm(true).os(true).process(true); client.admin().cluster().nodesInfo(nodesInfoRequest, new RestActionListener<NodesInfoResponse>(channel) { @Override public void processResponse(final NodesInfoResponse nodesInfoResponse) { NodesStatsRequest nodesStatsRequest = new NodesStatsRequest(); nodesStatsRequest.clear().jvm(true).os(true).fs(true).indices(true).process(true).script(true); client.admin().cluster().nodesStats(nodesStatsRequest, new RestResponseListener<NodesStatsResponse>(channel) { @Override public RestResponse buildResponse(NodesStatsResponse nodesStatsResponse) throws Exception { return RestTable.buildResponse(buildTable(request, clusterStateResponse, nodesInfoResponse, nodesStatsResponse), channel); } }); } }); } });
listener.onResponse(remoteConnectionStats); } else { NodesInfoRequest request = new NodesInfoRequest(); request.clear(); request.http(true); Transport.Connection connection = connectionManager.getConnection(anyNode.get()); transportService.sendRequest(connection, NodesInfoAction.NAME, request, TransportRequestOptions.EMPTY,
@Override public void processResponse(final ClusterStateResponse clusterStateResponse) { NodesInfoRequest nodesInfoRequest = new NodesInfoRequest(); nodesInfoRequest.clear().process(true).threadPool(true); client.admin().cluster().nodesInfo(nodesInfoRequest, new RestActionListener<NodesInfoResponse>(channel) { @Override public void processResponse(final NodesInfoResponse nodesInfoResponse) { NodesStatsRequest nodesStatsRequest = new NodesStatsRequest(); nodesStatsRequest.clear().threadPool(true); client.admin().cluster().nodesStats(nodesStatsRequest, new RestResponseListener<NodesStatsResponse>(channel) { @Override public RestResponse buildResponse(NodesStatsResponse nodesStatsResponse) throws Exception { return RestTable.buildResponse(buildTable(request, clusterStateResponse, nodesInfoResponse, nodesStatsResponse), channel); } }); } }); } });
@Override public void processResponse(final ClusterStateResponse clusterStateResponse) throws Exception { NodesInfoRequest nodesInfoRequest = new NodesInfoRequest(); nodesInfoRequest.clear().plugins(true); client.admin().cluster().nodesInfo(nodesInfoRequest, new RestResponseListener<NodesInfoResponse>(channel) { @Override public RestResponse buildResponse(final NodesInfoResponse nodesInfoResponse) throws Exception { return RestTable.buildResponse(buildTable(request, clusterStateResponse, nodesInfoResponse), channel); } }); } });
/** * Returns information about a cluster. * @return a map of key value pairs containing cluster information */ public static Map<String, String> getSearchClusterInfo() { Map<String, String> md = new HashMap<String, String>(); NodesInfoResponse res = getClient().admin().cluster().nodesInfo(new NodesInfoRequest().all()).actionGet(); md.put("cluser.name", res.getClusterName().toString()); for (NodeInfo nodeInfo : res) { md.put("node.name", nodeInfo.getNode().getName()); md.put("node.address", nodeInfo.getNode().getAddress().toString()); md.put("node.data", Boolean.toString(nodeInfo.getNode().isDataNode())); md.put("node.client", Boolean.toString(nodeInfo.getNode().isClientNode())); md.put("node.version", nodeInfo.getNode().getVersion().toString()); } return md; }
/** * Sets to return all the data. */ public NodesInfoRequestBuilder all() { request.all(); return this; }
listener.onResponse(remoteConnectionStats); } else { NodesInfoRequest request = new NodesInfoRequest(); request.clear(); request.http(true);
/** * Clears all info flags. */ public NodesInfoRequestBuilder clear() { request.clear(); return this; }
/** * Should the node HTTP info be returned. */ public NodesInfoRequestBuilder setHttp(boolean http) { request.http(http); return this; }
/** * Should the node OS info be returned. */ public NodesInfoRequestBuilder setOs(boolean os) { request.os(os); return this; }
/** * Should the node settings be returned. */ public NodesInfoRequestBuilder setSettings(boolean settings) { request.settings(settings); return this; }
/** * Should the node JVM info be returned. */ public NodesInfoRequestBuilder setJvm(boolean jvm) { request.jvm(jvm); return this; }
/** * Should the node Transport info be returned. */ public NodesInfoRequestBuilder setTransport(boolean transport) { request.transport(transport); return this; }
/** * Should the node thread pool info be returned. */ public NodesInfoRequestBuilder setThreadPool(boolean threadPool) { request.threadPool(threadPool); return this; }
/** * Should the node OS process be returned. */ public NodesInfoRequestBuilder setProcess(boolean process) { request.process(process); return this; }