Skip to main content

Elasticsearch monitoring with Netdata

Monitors Elasticsearch performance and health metrics.

It produces:

  1. Search performance charts:

    • Number of queries, fetches
    • Time spent on queries, fetches
    • Query and fetch latency
  2. Indexing performance charts:

    • Number of documents indexed, index refreshes, flushes
    • Time spent on indexing, refreshing, flushing
    • Indexing and flushing latency
  3. Memory usage and garbage collection charts:

    • JVM heap currently in use, committed
    • Count of garbage collections
    • Time spent on garbage collections
  4. Host metrics charts:

    • Available file descriptors in percent
    • Opened HTTP connections
    • Cluster communication transport metrics
  5. Queues and rejections charts:

    • Number of queued/rejected threads in thread pool
  6. Fielddata cache charts:

    • Fielddata cache size
    • Fielddata evictions and circuit breaker tripped count
  7. Cluster health API charts:

    • Cluster status
    • Nodes and tasks statistics
    • Shards statistics
  8. Cluster stats API charts:

    • Nodes statistics
    • Query cache statistics
    • Docs statistics
    • Store statistics
    • Indices and shards statistics
  9. Indices charts (per index statistics, disabled by default):

    • Docs count
    • Store size
    • Num of replicas
    • Health status


Edit the python.d/elasticsearch.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/elasticsearch.conf


host : 'ipaddress' # Elasticsearch server ip address or hostname.
port : 'port' # Port on which elasticsearch listens.
scheme : 'http' # URL scheme. Use 'https' if your elasticsearch uses TLS.
node_status : yes/no # Get metrics from "/_nodes/_local/stats". Enabled by default.
cluster_health : yes/no # Get metrics from "/_cluster/health". Enabled by default.
cluster_stats : yes/no # Get metrics from "'/_cluster/stats". Enabled by default.
indices_stats : yes/no # Get metrics from "/_cat/indices". Disabled by default.

If no configuration is given, module will try to connect to

Reach out

If you need help after reading this doc, search our community forum for an answer. There's a good chance someone else has already found a solution to the same issue.



Last updated on