Search::Elasticsearch::Client::7_0::Direct::Nodes - A client for running node-level requests


version 8.00


This module provides methods to make node-level requests, such as retrieving node info and stats.

It does Search::Elasticsearch::Role::Client::Direct.



    $response = $e->nodes->info(
        node_id => $node_id | \@node_ids       # optional
        metric  => $metric  | \@metrics        # optional

The info() method returns static information about the nodes in the cluster, such as the configured maximum number of file handles, the maximum configured heap size or the threadpool settings.

Allowed metrics are: http, jvm, network, os, plugin, process, settings, thread_pool, timeout, transport

Query string parameters: error_trace, flat_settings, human

See the node_info docs for more information.


    $response = $e->nodes->stats(
        node_id      => $node_id    | \@node_ids       # optional
        metric       => $metric     | \@metrics        # optional
        index_metric => $ind_metric | \@ind_metrics    # optional

The stats() method returns statistics about the nodes in the cluster, such as the number of currently open file handles, the current heap memory usage or the current number of threads in use.

Stats can be returned for all nodes, or limited to particular nodes with the node_id parameter. By default all metrics are returned, but these can be limited to those specified in the metric parameter.

Allowed metrics are: _all, breaker, fs, http, include_segment_file_sizes, indices, jvm, network, os, process, thread_pool, timeout, transport

If the indices metric (or _all) is specified, then indices_stats information is returned on a per-node basis. Which indices stats are returned can be controlled with the index_metric parameter:

    $response = $e->nodes->stats(
        node_id       => 'node_1',
        metric        => ['indices','fs']
        index_metric  => ['docs','fielddata']

Allowed index metrics are: _all, completion docs, fielddata, filter_cache, flush, get, id_cache, indexing, merge, percolate, query_cache, refresh, search, segments, store, warmer

Query string parameters: completion_fields, error_trace, fielddata_fields, fields, groups, human, level, types

See the stats docs for more information.


    $response = $e->nodes->hot_threads(
        node_id => $node_id | \@node_ids       # optional

The hot_threads() method is a useful tool for diagnosing busy nodes. It takes a snapshot of which threads are consuming the most CPU.

Query string parameters: error_trace, human, ignore_idle_threads, interval, snapshots, threads, timeout, type

See the hot_threads docs for more information.


    $response = $e->nodes->reload_secure_settings(
        node_id => $node_id | \@node_ids    # optional

The reload_secure_settings() API will reload the reloadable settings stored in the keystore on each node.

Query string parameters: error_trace, filter_path, human, timeout

See the reload-secure-settings docs for more information.


    $response = $e->nodes->usage(
        node_id => $node_id | \@node_ids       # optional
        metric  => $metric  | \@metrics        # optional

The usage() API retrieve sinformation on the usage of features for each node.

Query string parameters: error_trace, human, timeout

See the nodes_usage docs for more information.


Enrico Zimuel <>


This software is Copyright (c) 2022 by Elasticsearch BV.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004