Server Monitoring2 min read

    How to Monitor Elasticsearch

    By Dana— Server Monitoring & Linux
    Share

    Overview

    Elasticsearch is a distributed, RESTful search and analytics engine used for log analytics, full-text search, and application monitoring. Xitoring's Elasticsearch integration provides real-time visibility into cluster health, node performance, indexing throughput, and search latency — helping you keep your search infrastructure running smoothly.

    What Can It Monitor?

    • Cluster Health — Green, yellow, or red status indicating overall cluster state
    • Active Shards — Number of active primary and replica shards
    • Node Count — Total data, master, and ingest nodes in the cluster
    • Indexing Rate — Documents indexed per second
    • Search Rate — Queries executed per second
    • Search Latency — Average time to execute search queries
    • JVM Heap Usage — Java heap memory utilization per node
    • CPU Usage — Per-node CPU utilization
    • Disk Usage — Storage consumed by indices
    • Pending Tasks — Cluster-level tasks waiting to be executed
    • Unassigned Shards — Shards not allocated to any node

    Prerequisites

    • Elasticsearch installed and running (versions 7.x or 8.x recommended)
    • Xitogent agent installed on a server that can reach the Elasticsearch HTTP API
    • Elasticsearch HTTP endpoint accessible locally (default: http://127.0.0.1:9200)

    How to Activate the Integration

    Prefer the panel? You don't need the CLI for this step. In Xitoring, open the server, go to Integrations, choose Elasticsearch, fill in the same details, and click Enable. See enabling integrations from the Xitoring panel. The CLI steps below still work if you script your setup.

    Run the Xitogent CLI:

    xitogent integrate
    

    Select Elasticsearch from the list of available integrations. When prompted, provide:

    • Elasticsearch URL (e.g., http://127.0.0.1:9200)
    • Username and password (if security is enabled)

    Xitogent tests the connection and begins collecting metrics automatically.

    Setting Up Triggers

    Available trigger parameters:

    • Cluster Health status changes
    • JVM Heap Usage
    • CPU Usage per node
    • Indexing Rate / Search Rate
    • Search Latency
    • Unassigned Shards
    • Disk Usage

    Navigate to Triggers on your server page, select Elasticsearch, choose a metric, set your threshold, and configure notification channels.

    Tips

    • Monitor Cluster Health — yellow means replicas are unassigned, red means data is unavailable
    • Set alerts on JVM Heap Usage above 75% to prevent garbage collection storms
    • Track Unassigned Shards to catch allocation failures early
    • Watch Search Latency to detect query performance degradation
    • Monitor Indexing Rate drops which may indicate pipeline bottlenecks