Skip to main content

Elasticsearch


Elasticsearch

Overview​

The Elasticsearch integration with Motadata ObserveOps 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/indices endpoints.
  • 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​

MetricDescriptionType
elasticsearch.node.idUnique ID of the Elasticsearch node.String
elasticsearch.node.versionElasticsearch version running on the node.String
elasticsearch.node.nameName of the Elasticsearch node.String

Thread Pool Metrics​

MetricDescriptionType
elasticsearch.node.thread.poolThread pool statistics group.String
elasticsearch.node.thread.pool.threadsTotal threads assigned to the pool.Count
elasticsearch.node.thread.pool.queue.tasksTasks currently queued.Count
elasticsearch.node.thread.pool.active.tasksCurrently active threads executing tasks.Count
elasticsearch.node.thread.pool.rejected.tasksRejected task count.Count
elasticsearch.node.thread.pool.max.threadsMaximum threads allowed in the pool.Count
elasticsearch.node.thread.pool.completed.tasksCompleted task count.Count

Node CPU Utilization​

MetricDescriptionType
elasticsearch.node.cpu.utilized.percentNode CPU utilization percentage.Percent

Transport Layer Statistics​

MetricDescriptionType
elasticsearch.node.transport.sent.bytesTotal bytes transmitted via transport layer.Bytes
elasticsearch.node.transport.received.bytesTotal bytes received via transport layer.Bytes
elasticsearch.node.transport.sent.packetsTotal packets sent.Count
elasticsearch.node.transport.received.packetsTotal packets received.Count

Indexing Metrics​

MetricDescriptionType
elasticsearch.node.indices.indexing.index.time.msTime spent in index operations.Milliseconds
elasticsearch.node.indices.indexing.delete.time.msTime spent deleting documents.Milliseconds
elasticsearch.node.indices.indexing.throttle.time.msIndexing throttle duration.Milliseconds

Get Operations​

MetricDescriptionType
elasticsearch.node.indices.get.requestsTotal number of GET requests.Count
elasticsearch.node.indices.get.time.msTotal time taken for GET operations.Milliseconds
elasticsearch.node.indices.get.existsCount of existing document GET requests.Count
elasticsearch.node.indices.get.exists.time.msTime spent in EXISTS queries.Milliseconds
elasticsearch.node.indices.current.get.requestsCurrently executing GET requests.Count

Search Metrics​

MetricDescriptionType
elasticsearch.node.indices.search.queriesTotal search queries executed.Count
elasticsearch.node.indices.search.queries.time.msTime spent processing search queries.Milliseconds
elasticsearch.node.indices.search.fetchesTotal fetch operations.Count
elasticsearch.node.indices.search.fetches.time.msTime spent fetching results.Milliseconds
elasticsearch.node.indices.search.scrollsTotal scroll search operations.Count
elasticsearch.node.indices.search.scrolls.time.msTime spent in scroll queries.Milliseconds
elasticsearch.node.indices.search.suggestionsSuggest query count.Count
elasticsearch.node.indices.search.suggestions.time.msTime spent generating suggestions.Milliseconds

Merge, Refresh, and Flush Metrics​

MetricDescriptionType
elasticsearch.node.indices.mergesNumber of segment merge operations.Count
elasticsearch.node.indices.merges.time.msTime spent merging index segments.Milliseconds
elasticsearch.node.indices.refreshesNumber of refresh operations.Count
elasticsearch.node.indices.refreshes.time.msTime spent in refresh.Milliseconds
elasticsearch.node.indices.external.refreshesExternal refresh count.Count
elasticsearch.node.indices.external.refreshes.time.msTime spent in external refreshes.Milliseconds
elasticsearch.node.indices.flushesTotal flush operations.Count
elasticsearch.node.indices.periodic.flushesPeriodic flush count.Count
elasticsearch.node.indices.flushes.time.msTime spent flushing data to disk.Milliseconds
elasticsearch.node.indices.current.warmersCurrent warmer operations.Count
elasticsearch.node.indices.warmersTotal warmer operations executed.Count
elasticsearch.node.indices.warmers.time.msTime spent in warm-up operations.Milliseconds

Circuit Breaker Metrics​

MetricDescriptionType
elasticsearch.node.breakerCircuit breaker metrics.String
elasticsearch.node.breaker.used.size.bytesEstimated memory usage tracked by breaker.Bytes
elasticsearch.node.breaker.limit.size.bytesMemory limit before tripping.Bytes
elasticsearch.node.breaker.trippedCircuit breaker tripped count.Count

Cache Metrics​

MetricDescriptionType
elasticsearch.node.cacheCache metrics group.String
elasticsearch.node.cache.capacity.bytesTotal cache capacity.Bytes
elasticsearch.node.cache.evictionsCache evictions count.Count

Disk I/O Metrics​

MetricDescriptionType
elasticsearch.node.fs.io.readsDisk read operations.Count
elasticsearch.node.fs.io.writesDisk write operations.Count
elasticsearch.node.fs.io.read.bytesBytes read from disk.Bytes
elasticsearch.node.fs.io.write.bytesBytes written to disk.Bytes

JVM Heap and Memory​

MetricDescriptionType
elasticsearch.node.jvm.heap.committed.bytesCommitted JVM heap memory.Bytes
elasticsearch.node.jvm.heap.max.bytesMaximum available JVM heap memory.Bytes
elasticsearch.node.jvm.heap.used.bytesHeap memory currently in use.Bytes
elasticsearch.node.jvm.heap.used.percentPercent of heap memory used.Percent
elasticsearch.node.jvm.heap.free.bytesFree heap memory.Bytes
elasticsearch.node.jvm.non.heap.committed.bytesCommitted non-heap memory.Bytes
elasticsearch.node.jvm.non.heap.used.bytesUsed non-heap memory.Bytes
elasticsearch.node.jvm.non.heap.free.bytesFree non-heap memory.Bytes
elasticsearch.node.jvm.non.heap.used.percentNon-heap memory usage percentage.Percent

JVM Garbage Collection​

MetricDescriptionType
elasticsearch.node.jvm.gc.young.collectionsCount of young generation collections.Count
elasticsearch.node.jvm.gc.young.collection.time.msTime spent in young GC.Milliseconds
elasticsearch.node.jvm.gc.g1.concurrent.collectionsCount of G1 concurrent collections.Count
elasticsearch.node.jvm.gc.g1.concurrent.collection.time.msTime spent in G1 concurrent GC.Milliseconds
elasticsearch.node.jvm.gc.old.collectionsCount of old generation collections.Count
elasticsearch.node.jvm.gc.old.collection.time.msTime spent in old GC.Milliseconds

JVM Buffer Pools​

MetricDescriptionType
elasticsearch.node.jvm.buffer.pools.mapped.buffersNumber of mapped buffers.Count
elasticsearch.node.jvm.buffer.pools.mapped.used.bytesBytes used by mapped buffers.Bytes
elasticsearch.node.jvm.buffer.pools.mapped.capacity.bytesTotal capacity of mapped buffers.Bytes
elasticsearch.node.jvm.buffer.pools.directsCount of direct buffers.Count
elasticsearch.node.jvm.buffer.pools.direct.used.bytesBytes used by direct buffers.Bytes
elasticsearch.node.jvm.buffer.pools.direct.capacity.bytesCapacity of direct buffers.Bytes
elasticsearch.node.jvm.buffer.pools.mapped.nonvolatilesCount of non-volatile mapped buffers.Count
elasticsearch.node.jvm.buffer.pools.mapped.nonvolatile.used.bytesBytes used by non-volatile mapped buffers.Bytes
elasticsearch.node.jvm.buffer.pools.mapped.nonvolatile.capacity.bytesCapacity of non-volatile mapped buffers.Bytes