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

Configuration#

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

Sample:

local:
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 http://127.0.0.1:9200.


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.

Documentation

Community