/elasticsearch-paramedic

A simple tool to inspect the state and statistics about ElasticSearch clusters

Primary LanguageJavaScriptMIT LicenseMIT

ElasticSearch Paramedic

Paramedic is a simple yet sexy tool to monitor and inspect ElasticSearch clusters.

It displays real-time statistics and information about your nodes and indices, as well as shard allocation within the cluster.

The application is written in JavaScript, using the Ember.js framework for sanity and the Cubism.js library for visuals. While the project is useful, the codebase, with most logic in controllers, lacking proper component separation and test suite, can't be considered mature enough, yet.

For basic overview, see a screenshot below.

ElasticSearch Paramedic Screenshot

Versions

elasticsearch version branch latest version
1.X 1.0 1.0
2.X 2.0 2.0

Installation

The easiest way to check out the application is to open it in a modern browser: http://karmi.github.com/elasticsearch-paramedic.

If you have ElasticSearch running on http://localhost:9200, you should see the stats for your cluster.

You can also download or clone this repository and open the index.html file in your browser:

git clone git://github.com/karmi/elasticsearch-paramedic.git && cd elasticsearch-paramedic
cd elasticsearch-paramedic
git checkout {branch|version}
open index.html

The easiest way to use Paramedic in production is to install it as an ElasticSearch plugin:

bin/plugin install karmi/elasticsearch-paramedic/{branch|version}

If your cluster is publicly accessible (authenticated with firewall rules or HTTP Authentication via proxy), open it in your browser:

open http://localhost:9200/_plugin/paramedic/index.html

Overview

The application displays basic information about your cluster: cluster name, health, number of nodes and shards, etc., using the Cluster Health API.

The “Stats” chart displays key metrics from the Nodes Stats API, updated every second.

The “Nodes” part displays the most important information about the cluster nodes (used disk space and memory, number of nodes, machine load and ElasticSearch CPU consumption, etc.), using the Nodes Info and Nodes Stats APIs.

The “Indices” part displays basic information about the indices: number of primary shards, number of replicas, basic index statistics, using the Cluster State, Indices Status and Indices Stats APIs. Primary shards are displayed in blue, allocated replicas in green, unassigned replicas in yellow, and unassigned (missing) primary shards in red.

To display shard allocation across the nodes, use the “Show Details” button. All information is updated periodically, which allows you to see node and index statistics, shard initialization or relocation, etc. in real time.

Note, that a considerable number of Ajax calls is being performed, and launching the application for large clusters, with large number of nodes and indices/shards, may leave your browser unresponsive, or crash your machine. Try increasing the polling interval and hiding the charts if you experience performance problems.

The application performance has been successfuly tested for clusters with around five nodes and sixty shards.

Similar Applications

You are encouraged to try similar existing tools for ElasticSearch:


Karel Minarik