NAME
App::ElasticSearch::Utilities::Metrics - Fetches performance metrics about the node
VERSION
version 8.7
SYNOPSIS
This provides a simple API to export some core metrics from the local ElasticSearch instance.
use App::ElasticSearch::Utilities qw(es_connect);
use App::ElasticSearch::Utilities::Metrics;
my $metrics_fetcher = App::ElasticSearch::Utilities::Metrics->new(
connection => es_connect(),
with_cluster_metrics => 1,
with_index_metrics => 1,
);
my $metrics = $metrics_fetcher->get_metrics();
ATTRIBUTES
connection
An `App::ElasticSearch::Utilities::Connection` instance, or automatically created via es_connect()
.
ignore
An array of metric names to ignore, in addition to the static list when parsing the `_node/_local/stats` stats. Defaults to:
[qw(adaptive_selection discovery)]
Plus ignores sections containing ingest
, ml
, transform
UNLESS those roles appear in the node's roles. Also, unless the node is tagged as a data*
node, the following keys are ignored:
[qw(force_merge indexing indices merges pressure recovery segments translog)]
node_details
The Node details provided by the _nodes/_local
API.
node_id
The Node ID for the connection, will be automatically discovered
with_cluster_metrics
Boolean, set to true to collect cluster metrics in addition to node metrics
with_index_metrics
Boolean, set to true to collect index level metrics in addition to node metrics
METHODS
get_metrics()
Retrieves the metrics from the local node.
collect_node_metrics()
Returns all relevant stats from the _nodes/_local
API
collect_cluster_metrics()
Return all relevant stats from the _cluster/health
API as well as a count of `index.blocks.*` in place.
collect_index_metrics()
This method totals the shard, and segment state and size for the current node by index base name.
AUTHOR
Brad Lhotsky <brad@divisionbyzero.net>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2023 by Brad Lhotsky.
This is free software, licensed under:
The (three-clause) BSD License