Elasticsearch Dashboard

Dashboard

Collect metrics from Elasticsearch 2.X & 5.X
Last updated: 4 days ago

Downloads: 344

  • 2016-11-17 13_56_01-Grafana - Elasticsearch Dashboard.png
    2016-11-17 13_56_01-Grafana - Elasticsearch Dashboard.png
  • 2016-11-17 13_57_45-Grafana - Elasticsearch Dashboard.png
    2016-11-17 13_57_45-Grafana - Elasticsearch Dashboard.png
  • 2016-11-17 13_57_06-Grafana - Elasticsearch Dashboard.png
    2016-11-17 13_57_06-Grafana - Elasticsearch Dashboard.png
  • 2016-11-17 13_56_42-Grafana - Elasticsearch Dashboard.png
    2016-11-17 13_56_42-Grafana - Elasticsearch Dashboard.png

The below python or powershell script, will collect the metrics from the Elasticsearch API based on the interval set and publish the data to Elasticsearch.

  • Designed on a 24" screen (1920x1080)
  • Tested this with Elasticsearch 2.4.X & 5.1.X
    • On 5.X you will have to change the template to use cluster_name.keyword unless you set cluster_name to not_analyzed
  • Many other metrics are gathered but not yet graphed.
  • Depending on your cluster size you can change the index from daily to monthly.

Python Script Download:

https://github.com/trevorndodds/elasticsearch-metrics/blob/master/Grafana/elasticsearch2elastic.py

  • elasticServer = "http://server1:9200"
  • elasticMonitoringCluster = "http://server2:9200"

Thanks to contributors you can also run the python script in a docker container.

https://github.com/trevorndodds/elasticsearch-metrics

Powershell Script download:

$elasticServer = "http://server1:9200"
$interval = 60 #If you adjust the interval you will have to adjust the "Group by time interval"
$elasticMonitoringCluster = "http://server2:9200"

Download Powershell script (requires PS version 3+) from:

https://github.com/trevorndodds/Powershell/blob/master/Grafana/Elasticsearch2Elastic.ps1

Run it as a windows service using nssm - https://nssm.cc

Elasticsearch Index

  • If your cluster_name or node names have "-" you will have to load a custom index to set the "name" field to not_analyzed

     "properties" : {
       "name" : {
         "index": "not_analyzed",
         "type" : "string"
       }
     }