Elasticsearch
Seamlessly integrate Elasticsearch with Motadata AIOps to gain real-time cluster and node insights, proactive monitoring, and optimized performance across indexing, search, and JVM operations.
Overview
The Elasticsearch integration with Motadata AIOps enables comprehensive visibility into cluster and node performance through API-based data collection. It monitors thread pools, transport I/O, index operations, JVM health, cache efficiency, and disk I/O, providing complete observability into the stability and workload of Elasticsearch nodes.
Prerequisites
Ensure the following prerequisites are met before adding an Elasticsearch instance for monitoring:
Elasticsearch REST API endpoint is reachable from the Motadata server.
API user must have read access to
_nodes/stats,_cluster/health, and_cat/indicesendpoints.Authentication (Basic or API key) must be configured if security is enabled.
Nodes should expose metrics in JSON format compatible with the Elasticsearch Stats API.
List of Supported KPIs
Node Information
Metric | Description | Type |
|---|---|---|
Unique ID of the Elasticsearch node. | String | |
elasticsearch.node.version | Elasticsearch version running on the node. | String |
Name of the Elasticsearch node. | String |
Thread Pool Metrics
Metric | Description | Type |
|---|---|---|
elasticsearch.node.thread.pool | Thread pool statistics group. | String |
elasticsearch.node.thread.pool.threads | Total threads assigned to the pool. | Count |
elasticsearch.node.thread.pool.queue.tasks | Tasks currently queued. | Count |
elasticsearch.node.thread.pool.active.tasks | Currently active threads executing tasks. | Count |
elasticsearch.node.thread.pool.rejected.tasks | Rejected task count. | Count |
elasticsearch.node.thread.pool.max.threads | Maximum threads allowed in the pool. | Count |
elasticsearch.node.thread.pool.completed.tasks | Completed task count. | Count |
Node CPU Utilization
Metric | Description | Type |
|---|---|---|
elasticsearch.node.cpu.utilized.percent | Node CPU utilization percentage. | Percent |
Transport Layer Statistics
Metric | Description | Type |
|---|---|---|
elasticsearch.node.transport.sent.bytes | Total bytes transmitted via transport layer. | Bytes |
elasticsearch.node.transport.received.bytes | Total bytes received via transport layer. | Bytes |
elasticsearch.node.transport.sent.packets | Total packets sent. | Count |
elasticsearch.node.transport.received.packets | Total packets received. | Count |
Indexing Metrics
Metric | Description | Type |
|---|---|---|
Time spent in index operations. | Milliseconds | |
Time spent deleting documents. | Milliseconds | |
Indexing throttle duration. | Milliseconds |
Get Operations
Metric | Description | Type |
|---|---|---|
elasticsearch.node.indices.get.requests | Total number of GET requests. | Count |
Total time taken for GET operations. | Milliseconds | |
elasticsearch.node.indices.get.exists | Count of existing document GET requests. | Count |
Time spent in EXISTS queries. | Milliseconds | |
elasticsearch.node.indices.current.get.requests | Currently executing GET requests. | Count |
Search Metrics
Metric | Description | Type |
|---|---|---|
Total search queries executed. | Count | |
Time spent processing search queries. | Milliseconds | |
Total fetch operations. | Count | |
Time spent fetching results. | Milliseconds | |
Total scroll search operations. | Count | |
Time spent in scroll queries. | Milliseconds | |
elasticsearch.node.indices.search.suggestions | Suggest query count. | Count |
Time spent generating suggestions. | Milliseconds |
Merge, Refresh, and Flush Metrics
Metric | Description | Type |
|---|---|---|
elasticsearch.node.indices.merges | Number of segment merge operations. | Count |
Time spent merging index segments. | Milliseconds | |
elasticsearch.node.indices.refreshes | Number of refresh operations. | Count |
Time spent in refresh. | Milliseconds | |
elasticsearch.node.indices.external.refreshes | External refresh count. | Count |
Time spent in external refreshes. | Milliseconds | |
elasticsearch.node.indices.flushes | Total flush operations. | Count |
elasticsearch.node.indices.periodic.flushes | Periodic flush count. | Count |
Time spent flushing data to disk. | Milliseconds | |
elasticsearch.node.indices.current.warmers | Current warmer operations. | Count |
elasticsearch.node.indices.warmers | Total warmer operations executed. | Count |
Time spent in warm-up operations. | Milliseconds |
Circuit Breaker Metrics
Metric | Description | Type |
|---|---|---|
elasticsearch.node.breaker | Circuit breaker metrics. | String |
elasticsearch.node.breaker.used.size.bytes | Estimated memory usage tracked by breaker. | Bytes |
elasticsearch.node.breaker.limit.size.bytes | Memory limit before tripping. | Bytes |
elasticsearch.node.breaker.tripped | Circuit breaker tripped count. | Count |
Cache Metrics
Metric | Description | Type |
|---|---|---|
elasticsearch.node.cache | Cache metrics group. | String |
elasticsearch.node.cache.capacity.bytes | Total cache capacity. | Bytes |
elasticsearch.node.cache.evictions | Cache evictions count. | Count |
Disk I/O Metrics
Metric | Description | Type |
|---|---|---|
elasticsearch.node.fs.io.reads | Disk read operations. | Count |
elasticsearch.node.fs.io.writes | Disk write operations. | Count |
Bytes read from disk. | Bytes | |
elasticsearch.node.fs.io.write.bytes | Bytes written to disk. | Bytes |
JVM Heap and Memory
Metric | Description | Type |
|---|---|---|
elasticsearch.node.jvm.heap.committed.bytes | Committed JVM heap memory. | Bytes |
elasticsearch.node.jvm.heap.max.bytes | Maximum available JVM heap memory. | Bytes |
elasticsearch.node.jvm.heap.used.bytes | Heap memory currently in use. | Bytes |
elasticsearch.node.jvm.heap.used.percent | Percent of heap memory used. | Percent |
Free heap memory. | Bytes | |
elasticsearch.node.jvm.non.heap.committed.bytes | Committed non-heap memory. | Bytes |
elasticsearch.node.jvm.non.heap.used.bytes | Used non-heap memory. | Bytes |
Free non-heap memory. | Bytes | |
elasticsearch.node.jvm.non.heap.used.percent | Non-heap memory usage percentage. | Percent |
JVM Garbage Collection
Metric | Description | Type |
|---|---|---|
elasticsearch.node.jvm.gc.young.collections | Count of young generation collections. | Count |
Time spent in young GC. | Milliseconds | |
elasticsearch.node.jvm.gc.g1.concurrent.collections | Count of G1 concurrent collections. | Count |
Time spent in G1 concurrent GC. | Milliseconds | |
elasticsearch.node.jvm.gc.old.collections | Count of old generation collections. | Count |
Time spent in old GC. | Milliseconds |
JVM Buffer Pools
Metric | Description | Type |
|---|---|---|
elasticsearch.node.jvm.buffer.pools.mapped.buffers | Number of mapped buffers. | Count |
elasticsearch.node.jvm.buffer.pools.mapped.used.bytes | Bytes used by mapped buffers. | Bytes |
elasticsearch.node.jvm.buffer.pools.mapped.capacity.bytes | Total capacity of mapped buffers. | Bytes |
elasticsearch.node.jvm.buffer.pools.directs | Count of direct buffers. | Count |
elasticsearch.node.jvm.buffer.pools.direct.used.bytes | Bytes used by direct buffers. | Bytes |
elasticsearch.node.jvm.buffer.pools.direct.capacity.bytes | Capacity of direct buffers. | Bytes |
elasticsearch.node.jvm.buffer.pools.mapped.nonvolatiles | Count of non-volatile mapped buffers. | Count |
elasticsearch.node.jvm.buffer.pools.mapped.nonvolatile.used.bytes | Bytes used by non-volatile mapped buffers. | Bytes |
elasticsearch.node.jvm.buffer.pools.mapped.nonvolatile.capacity.bytes | Capacity of non-volatile mapped buffers. | Bytes |
Explore More Integrations
Browse our comprehensive integrations catalog to discover all supported platforms and services.