Elasticsearch Dashboard

Dashboard

Elasticsearch Dashboard for 2.X and 5.X
Last updated: 2 months ago

Downloads: 1441

  • 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
  • 2017-05-04 13_26_00-Grafana - Elasticsearch Dashboard.png
    2017-05-04 13_26_00-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.X
    • Once loaded modify the template options to either be .raw (v2) or .keyworkd (v5) as per attached image
  • 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 = os.environ.get('ES_METRICS_CLUSTER_URL', 'http://server1:9200')
interval = os.environ.get('ES_METRICS_INTERVAL', 60)
elasticIndex = os.environ.get('ES_METRICS_INDEX_NAME', 'elasticsearch_metrics')
elasticMonitoringCluster = os.environ.get('ES_METRICS_MONITORING_CLUSTER_URL', 'http://server2:9200')

Docker also available see python github page

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-grafana-scripts/blob/master/Elasticsearch/Elasticsearch2Elastic.ps1

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

Elasticsearch Index

  • You no longer need to do this, rather set the template variable to name.raw (v2) or name.keyword (v5) same applies for cluster_name

  • 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"
       }
     }