Elasticsearch Receiver
This receiver queries the Elasticsearch node stats, cluster health and index stats endpoints in order to scrape metrics from a running Elasticsearch cluster.
Prerequisites
This receiver supports Elasticsearch versions 7.9+
If Elasticsearch security features are enabled, you must have either the monitor
or manage
cluster privilege.
See the Elasticsearch docs for more information on authorization and Security privileges.
Configuration
The following settings are optional:
nodes
(default: ["_all"]
): Allows specifying node filters that define which nodes are scraped for node-level and cluster-level metrics. See the Elasticsearch documentation for allowed filters. If this option is left explicitly empty, then no node-level metrics will be scraped and cluster-level metrics will scrape only metrics related to cluster's health.skip_cluster_metrics
(default: false
): If true, cluster-level metrics will not be scraped.indices
(default: ["_all"]
): Allows specifying index filters that define which indices are scraped for index-level metrics. See the Elasticsearch documentation for allowed filters. If this option is left explicitly empty, then no index-level metrics will be scraped.endpoint
(default = http://localhost:9200
): The base URL of the Elasticsearch API for the cluster to monitor.username
(no default): Specifies the username used to authenticate with Elasticsearch using basic auth. Must be specified if password is specified.password
(no default): Specifies the password used to authenticate with Elasticsearch using basic auth. Must be specified if username is specified.collection_interval
(default = 10s
): This receiver collects metrics on an interval. This value must be a string readable by Golang's time.ParseDuration. On larger clusters, the interval may need to be lengthened, as querying Elasticsearch for metrics will take longer on clusters with more nodes.initial_delay
(default = 1s
): defines how long this receiver waits before starting.
Example Configuration
receivers:
elasticsearch:
metrics:
elasticsearch.node.fs.disk.available:
enabled: false
nodes: ["_local"]
skip_cluster_metrics: true
indices: [".geoip_databases"]
endpoint: http://localhost:9200
username: otel
password: password
collection_interval: 10s
The full list of settings exposed for this receiver are documented here with detailed sample configurations here.
Metrics
The following metric are available with versions:
elasticsearch.indexing_pressure.memory.limit
>= 7.10elasticsearch.node.shards.data_set.size
>= 7.13elasticsearch.cluster.state_update.count
>= 7.16.0elasticsearch.cluster.state_update.time
>= 7.16.0
Details about the metrics produced by this receiver can be found in metadata.yaml.
Refer to documentation.md for information on how to enable and disable metrics produced by this
receiver.