---
title: Elasticsearch OpenTelemetry metrics reference
source: https://docs.newrelic.com/docs/opentelemetry/integrations/elasticsearch/metrics-reference
---

This reference guide provides a comprehensive overview of all metrics collected by the Elasticsearch OpenTelemetry integration, helping you understand what data is available for monitoring your cluster health and performance.

## Key metrics at a glance

Monitor your Elasticsearch cluster health and performance with these essential metrics:

| Metric category        | What it measures                                                                | Priority      |
| ---------------------- | ------------------------------------------------------------------------------- | ------------- |
| **Cluster health**     | `elasticsearch.cluster.health` - Overall cluster status (green/yellow/red)      | 🔴 Critical   |
| **Shard status**       | `elasticsearch.cluster.shards` - Unassigned, relocating, or initializing shards | 🔴 Critical   |
| **Node availability**  | `elasticsearch.cluster.data_nodes` - Active data nodes in cluster               | 🔴 Critical   |
| **JVM heap usage**     | `jvm.memory.heap.utilization` - Memory usage percentage                         | 🔴 Critical   |
| **Search performance** | `elasticsearch.node.operations.time` - Query and fetch latency                  | 🟡 Important  |
| **Resource usage**     | `system.cpu.utilization`, `system.memory.usage` - Host system resources         | 🔵 Monitoring |

## Complete metrics reference

The integration collects 50+ metrics across cluster, node, JVM, and host infrastructure. Expand the sections below for detailed metric specifications.

> #### 💡 TIP
>
> For the complete catalog of available metrics, see the OpenTelemetry [`elasticsearchreceiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/elasticsearchreceiver) and [`hostmetricsreceiver`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver) documentation.

**Cluster metrics(elasticsearchreceiver)**

| Metric                                    | Description                                     | Attributes                                                                                                |
| ----------------------------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `elasticsearch.cluster.health`            | The health status of the cluster.               | —                                                                                                         |
| `elasticsearch.cluster.in_flight_fetch`   | Shard fetch operations still in flight.         | —                                                                                                         |
| `elasticsearch.cluster.nodes`             | Total cluster node count.                       | —                                                                                                         |
| `elasticsearch.cluster.data_nodes`        | The number of data nodes in the cluster.        | —                                                                                                         |
| `elasticsearch.cluster.shards`            | The number of shards in the cluster.            | —                                                                                                         |
| `elasticsearch.cluster.pending_tasks`     | Pending cluster-level tasks awaiting execution. | —                                                                                                         |
| `elasticsearch.cluster.state_update.time` | Cumulative time spent updating cluster state.   | `state` (any)  `type` (computation, context_construction, commit, completion, master_apply, notification) |

**Index activity metrics (elasticsearchreceiver)**

| Metric                                         | Description                                      | Attributes                                                                                                                             |
| ---------------------------------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| `elasticsearch.index.documents`                | Documents per index, split by state.             | `state` (active \| deleted) `aggregation` (primary_shards \| total)                                                                    |
| `elasticsearch.index.operations.merge.current` | Active segment merge operations.                 | `aggregation` (primary_shards \| total)                                                                                                |
| `elasticsearch.index.operations.time`          | Time spent on index-level operations.            | `operation` (index, delete, get, query, fetch, scroll, suggest, merge, refresh, flush, warmer) `aggregation` (primary_shards \| total) |
| `elasticsearch.index.shards.size`              | The size of the shards assigned to this index.   | `aggregation` (primary_shards \| total)                                                                                                |
| `elasticsearch.index.segments.count`           | Number of segments of an index.                  | `aggregation` (primary_shards \| total)                                                                                                |
| `elasticsearch.index.operations.completed`     | The number of operations completed for an index. | `operation` (index, delete, get, query, fetch, scroll, suggest, merge, refresh, flush, warmer)
`aggregation` (primary_shards \| total) |

**Node activity & workload metrics (elasticsearchreceiver)**

| Metric                                        | Description                                     | Attributes                                                                                                |
| --------------------------------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `elasticsearch.node.cache.count`              | Query cache hits and misses across node shards. | `type` (hit \| miss)                                                                                      |
| `elasticsearch.node.cache.evictions`          | Node cache evictions.                           | `cache_name` (fielddata \| query)                                                                         |
| `elasticsearch.node.cache.memory.usage`       | Cache memory usage in bytes.                    | `cache_name` (fielddata \| query)                                                                         |
| `elasticsearch.node.cluster.io`               | Internal cluster network I/O in bytes.          | `direction` (received \| sent)                                                                            |
| `elasticsearch.node.documents`                | Documents hosted by the node.                   | `state` (active \| deleted)                                                                               |
| `elasticsearch.node.disk.io.read`             | Disk read throughput (KiB) across file stores.  | —                                                                                                         |
| `elasticsearch.node.disk.io.write`            | Disk write throughput (KiB) across file stores. | —                                                                                                         |
| `elasticsearch.node.fs.disk.available`        | Disk available to the JVM.                      | —                                                                                                         |
| `elasticsearch.node.fs.disk.total`            | Total disk capacity on the node.                | —                                                                                                         |
| `elasticsearch.node.http.connections`         | HTTP connections served by the node.            | —                                                                                                         |
| `elasticsearch.node.ingest.documents.current` | Documents currently being ingested.             | —                                                                                                         |
| `elasticsearch.node.ingest.operations.failed` | Cumulative ingest failures.                     | —                                                                                                         |
| `elasticsearch.node.open_files`               | Open file descriptors in use.                   | —                                                                                                         |
| `elasticsearch.node.operations.completed`     | Operations completed by the node.               | `operation` (index, delete, get, query, fetch, scroll, suggest, merge, refresh, flush, warmer)            |
| `elasticsearch.node.operations.current`       | Operations currently in progress.               | `operation` (same set)                                                                                    |
| `elasticsearch.node.operations.get.completed` | GET hits and misses.                            | `result` (hit \| miss)                                                                                    |
| `elasticsearch.node.operations.time`          | Time spent on operations by a node..            | `Operation` (index \| delete\| get\| query\| fetch\| scroll\| suggest\| merge\| refresh\| flush\| warmer) |
| `elasticsearch.node.shards.reserved.size`     | Predicted shard growth due to recoveries.       | —                                                                                                         |
| `elasticsearch.node.shards.size`              | The size of the shards assigned to this node.   | —                                                                                                         |

**JVM & OS metrics reported by Elasticsearch (elasticsearchreceiver)**

| Metric                              | Description                                                    | Attributes              |
| ----------------------------------- | -------------------------------------------------------------- | ----------------------- |
| `elasticsearch.os.cpu.load_avg.1m`  | One-minute OS load average.                                    | —                       |
| `elasticsearch.os.cpu.load_avg.5m`  | Five-minute OS load average.                                   | —                       |
| `elasticsearch.os.cpu.load_avg.15m` | Fifteen-minute OS load average.                                | —                       |
| `elasticsearch.os.cpu.usage`        | Recent CPU usage for the whole system, or -1 if not supported. |                         |
| `elasticsearch.os.memory`           | Physical memory usage as seen by Elasticsearch.                | `state` (free \| used)  |
| `jvm.gc.collections.count`          | Total garbage collection runs.                                 | `name` (collector name) |
| `jvm.gc.collections.elapsed`        | Time spent in garbage collection.                              | `name` (collector name) |
| `jvm.memory.heap.max`               | Maximum heap memory available.                                 | —                       |
| `jvm.memory.heap.used`              | Heap memory currently in use.                                  | —                       |
| `jvm.memory.heap.utilization`       | Fraction of heap memory usage.                                 | —                       |
| `jvm.threads.count`                 | Active JVM thread count.                                       | —                       |

**Host infrastructure metrics (hostmetricsreceiver)**

| Metric                          | Description                                                                                                                      | Attributes                                                                                                           |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `system.cpu.time`               | Cumulative CPU time split by state.                                                                                              | `cpu` (logical CPU) `state` (idle\| interrupt\| nice\| softirq\| steal\| system\| user\| wait)                       |
| `system.cpu.utilization`        | Difference in system.cpu.time since the last measurement per logical CPU, divided by the elapsed time (value in interval [0,1]). | `cpu` (logical CPU) `state` (same set as above)                                                                      |
| `system.cpu.load_average.1m`    | One-minute system load average.                                                                                                  | —                                                                                                                    |
| `system.cpu.load_average.5m`    | Five-minute system load average.                                                                                                 | —                                                                                                                    |
| `system.cpu.load_average.15m`   | Fifteen-minute system load average.                                                                                              | —                                                                                                                    |
| `system.memory.utilization`     | Memory utilization ratio.                                                                                                        | `state` (used)                                                                                                       |
| `system.memory.usage`           | Bytes of memory in use..                                                                                                         | `state` (buffered\| cached\| inactive\| free\| slab_reclaimable\| slab_unreclaimable\| used)                         |
| `system.disk.io`                | Disk I/O throughput per device.                                                                                                  | `device` (disk) `direction` (read \| write)                                                                          |
| `system.disk.operations`        | Disk operations per device.                                                                                                      | `device` `direction` (read \| write)                                                                                 |
| `system.filesystem.usage`       | Filesystem capacity by state.                                                                                                    | `device` `state` (used \| free \| reserved)                                                                          |
| `system.filesystem.utilization` | Filesystem utilization ratio.                                                                                                    | `device` `state` (used)                                                                                              |
| `system.network.io`             | Network bytes per interface.                                                                                                     | `interface` `direction` (receive \| transmit)                                                                        |
| `system.network.packets`        | Network packets per interface.                                                                                                   | `interface` `direction` (receive \| transmit)                                                                        |
| `process.cpu.utilization`       | Percentage of total CPU time used by the process since last scrape, expressed as a value between 0 and 1.                        | `process.pid` (PID) `process.executable.name` (binary name) `process.owner` (user) `state` (user \| system \| other) |

## Resource attributes by deployment type [#resource-attributes]

All Elasticsearch metrics include resource attributes (tags) that help you organize and filter your data in New Relic. The specific attributes depend on how you've deployed Elasticsearch:

### Common attributes (all deployments)

Every deployment includes these core Elasticsearch identifiers:

| Attribute                    | Description                                   |
| ---------------------------- | --------------------------------------------- |
| `elasticsearch.cluster.name` | The unique name of your Elasticsearch cluster |
| `elasticsearch.node.name`    | Individual Elasticsearch node identifier      |

### Host-based deployments

For Elasticsearch running directly on hosts or VMs, you'll see additional host infrastructure attributes:

| Attribute   | Description                               |
| ----------- | ----------------------------------------- |
| `host.name` | Hostname where Elasticsearch is running   |
| `os.type`   | Operating system (linux, windows, darwin) |

### Kubernetes deployments

Kubernetes deployments include additional container orchestration attributes for enhanced visibility:

| Attribute             | Description                                      |
| --------------------- | ------------------------------------------------ |
| `k8s.cluster.name`    | Your Kubernetes cluster name                     |
| `k8s.namespace.name`  | The namespace where Elasticsearch is running     |
| `k8s.pod.name`        | The specific Elasticsearch pod name              |
| `k8s.pod.uid`         | Unique identifier for the pod                    |
| `k8s.deployment.name` | Kubernetes deployment name (if using Deployment) |

### Using resource attributes effectively

These attributes enable powerful monitoring scenarios:

**Multi-environment management:**

-   Filter dashboards by `elasticsearch.cluster.name` for production vs staging
-   Create cluster-specific alert policies
-   Compare performance across different environments

**Infrastructure correlation:**

-   Use `host.name` or `k8s.pod.name` to correlate with infrastructure monitoring
-   Track resource utilization at the host or pod level
-   Identify performance patterns across your infrastructure

**Kubernetes-specific monitoring:**

-   Monitor Elasticsearch across multiple namespaces
-   Track pod lifecycle events and their performance impact
-   Create alerts based on Kubernetes deployment health

## Next steps

Now that you understand what metrics are available, here are your next steps for effective Elasticsearch monitoring:

**Installation and configuration:**

-   **[Host installation](https://docs.newrelic.com/docs/opentelemetry/integrations/elasticsearch/elasticsearch-otel-integration-install)** - Set up monitoring for Elasticsearch running on hosts/VMs
-   **[Kubernetes installation](https://docs.newrelic.com/docs/opentelemetry/integrations/elasticsearch/elasticsearch-otel-integration-k8-install)** - Configure monitoring for Elasticsearch running on Kubernetes

**Set up monitoring and alerts:**

-   **[View your data](https://docs.newrelic.com/docs/opentelemetry/integrations/elasticsearch/find-and-query-data)** - Learn how to access dashboards and explore your Elasticsearch metrics in New Relic
-   **[Create alerts](https://docs.newrelic.com/docs/alerts/create-alert/create-alert-condition/alert-conditions)** - Set up proactive monitoring with guided mode or NRQL alert conditions
-   **[NRQL queries](https://docs.newrelic.com/docs/nrql/get-started/introduction-nrql-new-relics-query-language)** - Write custom queries to analyze your Elasticsearch performance data
