From b07f58379f069881e587317bc63cc1e4eef9d18c Mon Sep 17 00:00:00 2001
From: Steve Wilkerson <wilkers.steve@gmail.com>
Date: Fri, 18 May 2018 15:42:10 -0500
Subject: [PATCH] Grafana: Add Elasticsearch dashboard

This adds a grafana dashboard for Elasticsearch, providing insight
into the overall cluster health

Change-Id: I5e59a5a5c491b4416ba4505205910d6c6babbff8
---
 grafana/values.yaml | 2613 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 2613 insertions(+)

diff --git a/grafana/values.yaml b/grafana/values.yaml
index 7c62ad8fc..d7546601b 100644
--- a/grafana/values.yaml
+++ b/grafana/values.yaml
@@ -2863,6 +2863,2619 @@ conf:
       links: []
       gnetId: 926
       description: Ceph Pools dashboard.
+    elasticsearch:
+      __inputs:
+      - name: prometheus
+        label: Prometheus
+        description: ''
+        type: datasource
+        pluginId: prometheus
+        pluginName: Prometheus
+      __requires:
+      - type: grafana
+        id: grafana
+        name: Grafana
+        version: 4.6.3
+      - type: panel
+        id: graph
+        name: Graph
+        version: ''
+      - type: datasource
+        id: prometheus
+        name: Prometheus
+        version: 1.0.0
+      - type: panel
+        id: singlestat
+        name: Singlestat
+        version: ''
+      annotations:
+        list:
+        - builtIn: 1
+          datasource: "-- Grafana --"
+          enable: true
+          hide: true
+          iconColor: rgba(0, 211, 255, 1)
+          name: Annotations & Alerts
+          type: dashboard
+      editable: true
+      gnetId: 4358
+      graphTooltip: 1
+      hideControls: false
+      id:
+      links: []
+      refresh: 1m
+      rows:
+      - collapse: false
+        height:
+        panels:
+        - cacheTimeout:
+          colorBackground: true
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(178, 49, 13, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 8
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 5
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: true
+            lineColor: rgb(31, 120, 193)
+            show: true
+          tableColumn: ''
+          targets:
+          - expr: sum(elasticsearch_cluster_health_status{cluster=~"$cluster"})
+            format: time_series
+            intervalFactor: 2
+            legendFormat: ''
+            metric: ''
+            refId: A
+            step: 40
+          thresholds: '0,1'
+          title: Cluster health status
+          transparent: false
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: GREEN
+            value: '1'
+          - op: "="
+            text: RED
+            value: '0'
+          valueName: current
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 10
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 2
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: false
+            lineColor: rgb(31, 120, 193)
+            show: false
+          tableColumn: ''
+          targets:
+          - expr: sum(elasticsearch_cluster_health_number_of_nodes{cluster=~"$cluster"})
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: ''
+            metric: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: Nodes
+          transparent: false
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 9
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 2
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: false
+            lineColor: rgb(31, 120, 193)
+            show: false
+          tableColumn: ''
+          targets:
+          - expr: elasticsearch_cluster_health_number_of_data_nodes{cluster="$cluster"}
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: ''
+            metric: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: Data nodes
+          transparent: false
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          hideTimeOverride: true
+          id: 16
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 3
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: false
+            lineColor: rgb(31, 120, 193)
+            show: true
+          tableColumn: ''
+          targets:
+          - expr: elasticsearch_cluster_health_number_of_pending_tasks{cluster="$cluster"}
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: ''
+            metric: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: Pending tasks
+          transparent: false
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: Cluster
+        titleSize: h6
+      - collapse: false
+        height: ''
+        panels:
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 11
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          minSpan: 2
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          repeat: shard_type
+          span: 2.4
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: true
+            lineColor: rgb(31, 120, 193)
+            show: true
+          tableColumn: ''
+          targets:
+          - expr: elasticsearch_cluster_health_active_primary_shards{cluster="$cluster"}
+            intervalFactor: 2
+            legendFormat: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: active primary shards
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 39
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          minSpan: 2
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 2.4
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: true
+            lineColor: rgb(31, 120, 193)
+            show: true
+          tableColumn: ''
+          targets:
+          - expr: elasticsearch_cluster_health_active_shards{cluster="$cluster"}
+            intervalFactor: 2
+            legendFormat: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: active shards
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 40
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          minSpan: 2
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 2.4
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: true
+            lineColor: rgb(31, 120, 193)
+            show: true
+          tableColumn: ''
+          targets:
+          - expr: elasticsearch_cluster_health_initializing_shards{cluster="$cluster"}
+            intervalFactor: 2
+            legendFormat: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: initializing shards
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 41
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          minSpan: 2
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 2.4
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: true
+            lineColor: rgb(31, 120, 193)
+            show: true
+          tableColumn: ''
+          targets:
+          - expr: elasticsearch_cluster_health_relocating_shards{cluster="$cluster"}
+            intervalFactor: 2
+            legendFormat: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: relocating shards
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        - cacheTimeout:
+          colorBackground: false
+          colorValue: false
+          colors:
+          - rgba(245, 54, 54, 0.9)
+          - rgba(237, 129, 40, 0.89)
+          - rgba(50, 172, 45, 0.97)
+          datasource: "prometheus"
+          editable: true
+          error: false
+          format: none
+          gauge:
+            maxValue: 100
+            minValue: 0
+            show: false
+            thresholdLabels: false
+            thresholdMarkers: true
+          height: '50'
+          id: 42
+          interval:
+          links: []
+          mappingType: 1
+          mappingTypes:
+          - name: value to text
+            value: 1
+          - name: range to text
+            value: 2
+          maxDataPoints: 100
+          minSpan: 2
+          nullPointMode: connected
+          nullText:
+          postfix: ''
+          postfixFontSize: 50%
+          prefix: ''
+          prefixFontSize: 50%
+          rangeMaps:
+          - from: 'null'
+            text: N/A
+            to: 'null'
+          span: 2.4
+          sparkline:
+            fillColor: rgba(31, 118, 189, 0.18)
+            full: true
+            lineColor: rgb(31, 120, 193)
+            show: true
+          tableColumn: ''
+          targets:
+          - expr: elasticsearch_cluster_health_delayed_unassigned_shards{cluster="$cluster"}
+            intervalFactor: 2
+            legendFormat: ''
+            refId: A
+            step: 40
+          thresholds: ''
+          title: unassigned shards
+          type: singlestat
+          valueFontSize: 80%
+          valueMaps:
+          - op: "="
+            text: N/A
+            value: 'null'
+          valueName: current
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: Shards
+        titleSize: h6
+      - collapse: false
+        height:
+        panels:
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 30
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: elasticsearch_process_cpu_percent{cluster="$cluster",es_master_node="true",name=~"$node"}
+            format: time_series
+            instant: false
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{ name }} -  master"
+            metric: ''
+            refId: A
+            step: 10
+          - expr: elasticsearch_process_cpu_percent{cluster="$cluster",es_data_node="true",name=~"$node"}
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{ name }} -  data"
+            metric: ''
+            refId: B
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: CPU usage
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: percent
+            label: CPU usage
+            logBase: 1
+            max: 100
+            min: 0
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 0
+          grid: {}
+          height: '400'
+          id: 31
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: elasticsearch_jvm_memory_used_bytes{cluster="$cluster",name=~"$node",name=~"$node"}
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{  name }}  - used: {{area}}"
+            metric: ''
+            refId: A
+            step: 10
+          - expr: elasticsearch_jvm_memory_committed_bytes{cluster="$cluster",name=~"$node",name=~"$node"}
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{  name }}  - committed: {{area}}"
+            refId: B
+            step: 10
+          - expr: elasticsearch_jvm_memory_max_bytes{cluster="$cluster",name=~"$node",name=~"$node"}
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{  name }}  - max: {{area}}"
+            refId: C
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: JVM memory usage
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: bytes
+            label: Memory
+            logBase: 1
+            max:
+            min: 0
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 32
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: 1-(elasticsearch_filesystem_data_available_bytes{cluster="$cluster"}/elasticsearch_filesystem_data_size_bytes{cluster="$cluster",name=~"$node"})
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{ name }} - {{path}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds:
+          - colorMode: custom
+            fill: true
+            fillColor: rgba(216, 200, 27, 0.27)
+            op: gt
+            value: 0.8
+          - colorMode: custom
+            fill: true
+            fillColor: rgba(234, 112, 112, 0.22)
+            op: gt
+            value: 0.9
+          timeFrom:
+          timeShift:
+          title: Disk usage
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: percentunit
+            label: Disk Usage %
+            logBase: 1
+            max: 1
+            min: 0
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 47
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            sort: max
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides:
+          - alias: sent
+            transform: negative-Y
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: irate(elasticsearch_transport_tx_size_bytes_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} -sent"
+            refId: D
+            step: 10
+          - expr: irate(elasticsearch_transport_rx_size_bytes_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} -received"
+            refId: C
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Network usage
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: Bps
+            label: Bytes/sec
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: pps
+            label: ''
+            logBase: 1
+            max:
+            min:
+            show: false
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: System
+        titleSize: h6
+      - collapse: false
+        height: ''
+        panels:
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 1
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: elasticsearch_indices_docs{cluster="$cluster",name=~"$node"}
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{ name }}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Documents count
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: Documents
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 24
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: irate(elasticsearch_indices_indexing_index_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Documents indexed rate
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: index calls/s
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 25
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_indices_docs_deleted{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Documents deleted rate
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: Documents/s
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 26
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_indices_merges_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Documents merged rate
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: Documents/s
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: Documents
+        titleSize: h6
+      - collapse: false
+        height: 250
+        panels:
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 48
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            sort: avg
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 6
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: irate(elasticsearch_indices_indexing_index_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{ name }} - indexing"
+            metric: ''
+            refId: A
+            step: 4
+          - expr: irate(elasticsearch_indices_search_query_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - query"
+            refId: B
+            step: 4
+          - expr: irate(elasticsearch_indices_search_fetch_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - fetch"
+            refId: C
+            step: 4
+          - expr: irate(elasticsearch_indices_merges_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - merges"
+            refId: D
+            step: 4
+          - expr: irate(elasticsearch_indices_refresh_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - refresh"
+            refId: E
+            step: 4
+          - expr: irate(elasticsearch_indices_flush_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - flush"
+            refId: F
+            step: 4
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Total Operations  rate
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 2
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: Operations/s
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 49
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            sort: avg
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 6
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: irate(elasticsearch_indices_indexing_index_time_seconds_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{ name }} - indexing"
+            metric: ''
+            refId: A
+            step: 4
+          - expr: irate(elasticsearch_indices_search_query_time_ms_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - query"
+            refId: B
+            step: 4
+          - expr: irate(elasticsearch_indices_search_fetch_time_ms_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - fetch"
+            refId: C
+            step: 4
+          - expr: irate(elasticsearch_indices_merges_total_time_ms_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - merges"
+            refId: D
+            step: 4
+          - expr: irate(elasticsearch_indices_refresh_total_time_ms_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - refresh"
+            refId: E
+            step: 4
+          - expr: irate(elasticsearch_indices_flush_time_ms_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{ name }} - flush"
+            refId: F
+            step: 4
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Total Operations  time
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 2
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: ms
+            label: Time
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: Total Operations stats
+        titleSize: h6
+      - collapse: false
+        height: ''
+        panels:
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 33
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 4
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: 'rate(elasticsearch_indices_search_query_time_seconds{cluster="$cluster",name=~"$node"}[$interval]) '
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 4
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Query time
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: ms
+            label: Time
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 5
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 4
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_indices_indexing_index_time_seconds_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 4
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Indexing time
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: ms
+            label: Time
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 3
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 4
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_indices_merges_total_time_seconds_total{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 4
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Merging time
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: s
+            label: Time
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: Times
+        titleSize: h6
+      - collapse: false
+        height:
+        panels:
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 4
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: elasticsearch_indices_fielddata_memory_size_bytes{cluster="$cluster",name=~"$node"}
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Field data memory size
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: bytes
+            label: Memory
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 34
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_indices_fielddata_evictions{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Field data evictions
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: Evictions/s
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 35
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: elasticsearch_indices_query_cache_memory_size_bytes{cluster="$cluster",name=~"$node"}
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Query cache size
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: bytes
+            label: Size
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 36
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_indices_query_cache_evictions{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}}"
+            metric: ''
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Query cache evictions
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: Evictions/s
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: Caches
+        titleSize: h6
+      - collapse: false
+        height: 728
+        panels:
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          id: 45
+          legend:
+            alignAsTable: true
+            avg: true
+            current: false
+            max: true
+            min: true
+            show: true
+            sort: avg
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: ' irate(elasticsearch_thread_pool_rejected_count{cluster="$cluster",name=~"$node"}[$interval])'
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{name}} - {{ type }}"
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Thread Pool operations rejected
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 2
+            value_type: individual
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          id: 46
+          legend:
+            alignAsTable: true
+            avg: true
+            current: false
+            max: true
+            min: true
+            show: true
+            sort: avg
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: elasticsearch_thread_pool_active_count{cluster="$cluster",name=~"$node"}
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{name}} - {{ type }}"
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Thread Pool operations queued
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 2
+            value_type: individual
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          height: ''
+          id: 43
+          legend:
+            alignAsTable: true
+            avg: true
+            current: false
+            max: true
+            min: true
+            show: true
+            sort: avg
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: elasticsearch_thread_pool_active_count{cluster="$cluster",name=~"$node"}
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{name}} - {{ type }}"
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Thread Pool threads active
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 2
+            value_type: individual
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          id: 44
+          legend:
+            alignAsTable: true
+            avg: true
+            current: false
+            max: true
+            min: true
+            show: true
+            sort: avg
+            sortDesc: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 3
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: irate(elasticsearch_thread_pool_completed_count{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            intervalFactor: 2
+            legendFormat: "{{name}} - {{ type }}"
+            refId: A
+            step: 10
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: Thread Pool operations completed
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 2
+            value_type: individual
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: true
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: Thread Pool
+        titleSize: h6
+      - collapse: false
+        height:
+        panels:
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 7
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 6
+          stack: true
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_jvm_gc_collection_seconds_count{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}} - {{gc}}"
+            metric: ''
+            refId: A
+            step: 4
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: GC count
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: short
+            label: GCs
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        - aliasColors: {}
+          bars: false
+          dashLength: 10
+          dashes: false
+          datasource: "prometheus"
+          editable: true
+          error: false
+          fill: 1
+          grid: {}
+          height: '400'
+          id: 27
+          legend:
+            alignAsTable: true
+            avg: true
+            current: true
+            hideEmpty: false
+            hideZero: false
+            max: true
+            min: true
+            rightSide: false
+            show: true
+            total: false
+            values: true
+          lines: true
+          linewidth: 1
+          links: []
+          nullPointMode: connected
+          percentage: false
+          pointradius: 5
+          points: false
+          renderer: flot
+          seriesOverrides: []
+          spaceLength: 10
+          span: 6
+          stack: false
+          steppedLine: false
+          targets:
+          - expr: rate(elasticsearch_jvm_gc_collection_seconds_count{cluster="$cluster",name=~"$node"}[$interval])
+            format: time_series
+            interval: ''
+            intervalFactor: 2
+            legendFormat: "{{name}} - {{gc}}"
+            metric: ''
+            refId: A
+            step: 4
+          thresholds: []
+          timeFrom:
+          timeShift:
+          title: GC time
+          tooltip:
+            msResolution: false
+            shared: true
+            sort: 0
+            value_type: cumulative
+          transparent: false
+          type: graph
+          xaxis:
+            buckets:
+            mode: time
+            name:
+            show: true
+            values: []
+          yaxes:
+          - format: s
+            label: Time
+            logBase: 1
+            max:
+            min:
+            show: true
+          - format: short
+            label:
+            logBase: 1
+            max:
+            min:
+            show: false
+        repeat:
+        repeatIteration:
+        repeatRowId:
+        showTitle: true
+        title: JVM Garbage Collection
+        titleSize: h6
+      schemaVersion: 14
+      style: dark
+      tags:
+      - elasticsearch
+      - App
+      templating:
+        list:
+        - auto: true
+          auto_count: 30
+          auto_min: 10s
+          current:
+            text: auto
+            value: "$__auto_interval"
+          hide: 0
+          label: Interval
+          name: interval
+          options:
+          - selected: true
+            text: auto
+            value: "$__auto_interval"
+          - selected: false
+            text: 1m
+            value: 1m
+          - selected: false
+            text: 10m
+            value: 10m
+          - selected: false
+            text: 30m
+            value: 30m
+          - selected: false
+            text: 1h
+            value: 1h
+          - selected: false
+            text: 6h
+            value: 6h
+          - selected: false
+            text: 12h
+            value: 12h
+          - selected: false
+            text: 1d
+            value: 1d
+          - selected: false
+            text: 7d
+            value: 7d
+          - selected: false
+            text: 14d
+            value: 14d
+          - selected: false
+            text: 30d
+            value: 30d
+          query: 1m,10m,30m,1h,6h,12h,1d,7d,14d,30d
+          refresh: 2
+          type: interval
+        - allValue:
+          current: {}
+          datasource: "prometheus"
+          hide: 0
+          includeAll: false
+          label: Instance
+          multi: false
+          name: cluster
+          options: []
+          query: label_values(elasticsearch_cluster_health_status,cluster)
+          refresh: 1
+          regex: ''
+          sort: 1
+          tagValuesQuery:
+          tags: []
+          tagsQuery:
+          type: query
+          useTags: false
+        - allValue:
+          current: {}
+          datasource: "prometheus"
+          hide: 0
+          includeAll: true
+          label: node
+          multi: true
+          name: node
+          options: []
+          query: label_values(elasticsearch_process_cpu_percent,name)
+          refresh: 1
+          regex: ''
+          sort: 1
+          tagValuesQuery:
+          tags: []
+          tagsQuery:
+          type: query
+          useTags: false
+      time:
+        from: now-12h
+        to: now
+      timepicker:
+        refresh_intervals:
+        - 5s
+        - 10s
+        - 30s
+        - 1m
+        - 5m
+        - 15m
+        - 30m
+        - 1h
+        - 2h
+        - 1d
+        time_options:
+        - 5m
+        - 15m
+        - 1h
+        - 6h
+        - 12h
+        - 24h
+        - 2d
+        - 7d
+        - 30d
+      timezone: browser
+      title: Elasticsearch
+      version: 1
+      description: Elasticsearch detailed dashboard
     hosts_containers:
       __inputs:
       - name: prometheus