Modify Nova-Utilization dashboard

Change-Id: Ib269cde98641577903cfc8cd4d47504e878b2fa8
Related-PROD: PROD-27142
diff --git a/grafana/files/dashboards/nova/nova_utilization_prometheus.json b/grafana/files/dashboards/nova/nova_utilization_prometheus.json
index e9659ed..9470c67 100644
--- a/grafana/files/dashboards/nova/nova_utilization_prometheus.json
+++ b/grafana/files/dashboards/nova/nova_utilization_prometheus.json
@@ -37,84 +37,115 @@
       "type": "row"
     },
     {
-      "cacheTimeout": null,
-      "colorBackground": false,
-      "colorValue": false,
-      "colors": [
-        "#299c46",
-        "rgba(237, 129, 40, 0.89)",
-        "#d44a3a"
-      ],
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
       "datasource": null,
-      "format": "percentunit",
-      "gauge": {
-        "maxValue": 1,
-        "minValue": 0,
-        "show": true,
-        "thresholdLabels": false,
-        "thresholdMarkers": true
-      },
+      "fill": 4,
       "gridPos": {
         "h": 5,
         "w": 5,
         "x": 0,
         "y": 1
       },
-      "id": 12,
-      "interval": null,
-      "links": [],
-      "mappingType": 1,
-      "mappingTypes": [
-        {
-          "name": "value to text",
-          "value": 1
-        },
-        {
-          "name": "range to text",
-          "value": 2
-        }
-      ],
-      "maxDataPoints": 100,
-      "nullPointMode": "connected",
-      "nullText": null,
-      "postfix": "",
-      "postfixFontSize": "50%",
-      "prefix": "",
-      "prefixFontSize": "50%",
-      "rangeMaps": [
-        {
-          "from": "null",
-          "text": "N/A",
-          "to": "null"
-        }
-      ],
-      "sparkline": {
-        "fillColor": "rgba(31, 118, 189, 0.18)",
-        "full": false,
-        "lineColor": "rgb(31, 120, 193)",
-        "show": false
+      "id": 8,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": false,
+        "hideEmpty": false,
+        "hideZero": false,
+        "max": false,
+        "min": false,
+        "rightSide": false,
+        "show": true,
+        "sort": "current",
+        "sortDesc": true,
+        "total": false,
+        "values": false
       },
-      "tableColumn": "",
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "stack": true,
+      "steppedLine": false,
       "targets": [
         {
-          "expr": "sum(system_load15{environment=\"$environment\"} and on (host) label_replace(openstack_nova_vcpus{environment=\"$environment\"}, \"host\", \"$1\", \"hostname\", \"(.*)\")) / max(sum(openstack_nova_vcpus{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
+          "legendFormat": "enabled/up",
           "refId": "A"
-        }
-      ],
-      "thresholds": "0.85,0.95",
-      "title": "CPU Usage",
-      "type": "singlestat",
-      "valueFontSize": "80%",
-      "valueMaps": [
+        },
         {
-          "op": "=",
-          "text": "N/A",
-          "value": "null"
+          "expr": "max(sum(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
+          "format": "time_series",
+          "intervalFactor": 1,
+          "legendFormat": "enabled/down",
+          "refId": "B"
+        },
+        {
+          "expr": "max(sum(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          "format": "time_series",
+          "intervalFactor": 1,
+          "legendFormat": "disabled/up",
+          "refId": "C"
+        },
+        {
+          "expr": "max(sum(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
+          "format": "time_series",
+          "intervalFactor": 1,
+          "legendFormat": "disabled/down",
+          "refId": "D"
         }
       ],
-      "valueName": "current"
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Total CPU Number",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+        {
+          "format": "short",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": "0",
+          "show": true
+        },
+        {
+          "format": "short",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": null,
+          "show": true
+        }
+      ],
+      "yaxis": {
+        "align": false,
+        "alignLevel": null
+      }
     },
     {
       "aliasColors": {},
@@ -125,11 +156,11 @@
       "fill": 1,
       "gridPos": {
         "h": 5,
-        "w": 14,
+        "w": 13,
         "x": 5,
         "y": 1
       },
-      "id": 8,
+      "id": 51,
       "legend": {
         "alignAsTable": false,
         "avg": false,
@@ -158,24 +189,21 @@
       "steppedLine": false,
       "targets": [
         {
-          "$$hashKey": "object:33652",
-          "expr": "max(sum(openstack_nova_vcpus{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "total",
           "refId": "A"
         },
         {
-          "$$hashKey": "object:33653",
-          "expr": "sum(system_load15{environment=\"$environment\"} and on (host) label_replace(openstack_nova_vcpus{environment=\"$environment\"}, \"host\", \"$1\", \"hostname\", \"(.*)\"))",
+          "expr": "sum(system_load15{environment=\"$environment\"} and on (host) label_replace(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1), \"host\", \"$1\", \"hostname\", \"(.*)\"))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "used",
           "refId": "B"
         },
         {
-          "$$hashKey": "object:33654",
-          "expr": "max(sum(openstack_nova_used_vcpus{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_used_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "allocated",
@@ -185,7 +213,7 @@
       "thresholds": [],
       "timeFrom": null,
       "timeShift": null,
-      "title": "CPU",
+      "title": "CPU (enabled/up hypervisors)",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -201,7 +229,6 @@
       },
       "yaxes": [
         {
-          "$$hashKey": "object:33724",
           "format": "short",
           "label": null,
           "logBase": 1,
@@ -210,7 +237,6 @@
           "show": true
         },
         {
-          "$$hashKey": "object:33725",
           "format": "short",
           "label": null,
           "logBase": 1,
@@ -234,10 +260,9 @@
         "#d44a3a"
       ],
       "datasource": null,
-      "decimals": 2,
-      "format": "none",
+      "format": "percentunit",
       "gauge": {
-        "maxValue": 32,
+        "maxValue": 1,
         "minValue": 0,
         "show": true,
         "thresholdLabels": false,
@@ -245,11 +270,11 @@
       },
       "gridPos": {
         "h": 5,
-        "w": 5,
-        "x": 19,
+        "w": 3,
+        "x": 18,
         "y": 1
       },
-      "id": 13,
+      "id": 58,
       "interval": null,
       "links": [],
       "mappingType": 1,
@@ -286,14 +311,14 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "max(sum(openstack_nova_used_vcpus{environment=\"$environment\"}) by (instance)) / max(sum(openstack_nova_vcpus{environment=\"$environment\"}) by (instance))",
+          "expr": "sum(system_load15{environment=\"$environment\"} and on (host) label_replace(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1), \"host\", \"$1\", \"hostname\", \"(.*)\")) / max(sum(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "refId": "A"
         }
       ],
-      "thresholds": "12,16",
-      "title": "Current CPU Allocation Ratio",
+      "thresholds": "0.85,0.95",
+      "title": "CPU Usage %",
       "type": "singlestat",
       "valueFontSize": "80%",
       "valueMaps": [
@@ -315,9 +340,10 @@
         "#d44a3a"
       ],
       "datasource": null,
+      "decimals": 2,
       "format": "percentunit",
       "gauge": {
-        "maxValue": 1,
+        "maxValue": 12,
         "minValue": 0,
         "show": true,
         "thresholdLabels": false,
@@ -325,11 +351,11 @@
       },
       "gridPos": {
         "h": 5,
-        "w": 5,
-        "x": 0,
-        "y": 6
+        "w": 3,
+        "x": 21,
+        "y": 1
       },
-      "id": 14,
+      "id": 59,
       "interval": null,
       "links": [],
       "mappingType": 1,
@@ -366,14 +392,14 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "max(sum(openstack_nova_used_ram{environment=\"$environment\"}) by (instance)) / max(sum(openstack_nova_ram{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_used_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance)) / max(sum(openstack_nova_vcpus{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "refId": "A"
         }
       ],
-      "thresholds": "0.85,0.95",
-      "title": "RAM Usage",
+      "thresholds": "4,8",
+      "title": "CPU Allocated %",
       "type": "singlestat",
       "valueFontSize": "80%",
       "valueMaps": [
@@ -391,11 +417,11 @@
       "dashLength": 10,
       "dashes": false,
       "datasource": null,
-      "fill": 1,
+      "fill": 4,
       "gridPos": {
         "h": 5,
-        "w": 14,
-        "x": 5,
+        "w": 5,
+        "x": 0,
         "y": 6
       },
       "id": 9,
@@ -420,38 +446,42 @@
       "renderer": "flot",
       "seriesOverrides": [],
       "spaceLength": 10,
-      "stack": false,
+      "stack": true,
       "steppedLine": false,
       "targets": [
         {
-          "$$hashKey": "object:33887",
-          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
-          "legendFormat": "total",
+          "legendFormat": "enabled/up",
           "refId": "A"
         },
         {
-          "$$hashKey": "object:33888",
-          "expr": "max(sum(openstack_nova_used_ram{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
-          "legendFormat": "used",
+          "legendFormat": "enabled/down",
           "refId": "B"
         },
         {
-          "$$hashKey": "object:33889",
-          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"} - openstack_nova_free_ram{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
-          "legendFormat": "allocated",
+          "legendFormat": "disabled/up",
           "refId": "C"
+        },
+        {
+          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
+          "format": "time_series",
+          "intervalFactor": 1,
+          "legendFormat": "disabled/down",
+          "refId": "D"
         }
       ],
       "thresholds": [],
       "timeFrom": null,
       "timeShift": null,
-      "title": "RAM",
+      "title": "Total RAM",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -467,8 +497,7 @@
       },
       "yaxes": [
         {
-          "$$hashKey": "object:33959",
-          "format": "decmbytes",
+          "format": "mbytes",
           "label": null,
           "logBase": 1,
           "max": null,
@@ -476,7 +505,6 @@
           "show": true
         },
         {
-          "$$hashKey": "object:33960",
           "format": "short",
           "label": null,
           "logBase": 1,
@@ -491,173 +519,6 @@
       }
     },
     {
-      "cacheTimeout": null,
-      "colorBackground": false,
-      "colorValue": false,
-      "colors": [
-        "#299c46",
-        "rgba(237, 129, 40, 0.89)",
-        "#d44a3a"
-      ],
-      "datasource": null,
-      "decimals": 2,
-      "format": "none",
-      "gauge": {
-        "maxValue": 3,
-        "minValue": 0,
-        "show": true,
-        "thresholdLabels": false,
-        "thresholdMarkers": true
-      },
-      "gridPos": {
-        "h": 5,
-        "w": 5,
-        "x": 19,
-        "y": 6
-      },
-      "id": 15,
-      "interval": null,
-      "links": [],
-      "mappingType": 1,
-      "mappingTypes": [
-        {
-          "name": "value to text",
-          "value": 1
-        },
-        {
-          "name": "range to text",
-          "value": 2
-        }
-      ],
-      "maxDataPoints": 100,
-      "nullPointMode": "connected",
-      "nullText": null,
-      "postfix": "",
-      "postfixFontSize": "50%",
-      "prefix": "",
-      "prefixFontSize": "50%",
-      "rangeMaps": [
-        {
-          "from": "null",
-          "text": "N/A",
-          "to": "null"
-        }
-      ],
-      "sparkline": {
-        "fillColor": "rgba(31, 118, 189, 0.18)",
-        "full": false,
-        "lineColor": "rgb(31, 120, 193)",
-        "show": false
-      },
-      "tableColumn": "",
-      "targets": [
-        {
-          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"} - openstack_nova_free_ram{environment=\"$environment\"}) by (instance)) / max(sum(openstack_nova_ram{environment=\"$environment\"}) by (instance))",
-          "format": "time_series",
-          "intervalFactor": 2,
-          "refId": "A"
-        }
-      ],
-      "thresholds": "1,1.5",
-      "title": "Current RAM Allocation Ratio",
-      "type": "singlestat",
-      "valueFontSize": "80%",
-      "valueMaps": [
-        {
-          "op": "=",
-          "text": "N/A",
-          "value": "null"
-        }
-      ],
-      "valueName": "current"
-    },
-    {
-      "cacheTimeout": null,
-      "colorBackground": false,
-      "colorValue": false,
-      "colors": [
-        "#299c46",
-        "rgba(237, 129, 40, 0.89)",
-        "#d44a3a"
-      ],
-      "datasource": null,
-      "format": "percentunit",
-      "gauge": {
-        "maxValue": 1,
-        "minValue": 0,
-        "show": true,
-        "thresholdLabels": false,
-        "thresholdMarkers": true
-      },
-      "gridPos": {
-        "h": 5,
-        "w": 5,
-        "x": 0,
-        "y": 11
-      },
-      "id": 16,
-      "interval": null,
-      "links": [],
-      "mappingType": 1,
-      "mappingTypes": [
-        {
-          "name": "value to text",
-          "value": 1
-        },
-        {
-          "name": "range to text",
-          "value": 2
-        }
-      ],
-      "maxDataPoints": 100,
-      "nullPointMode": "connected",
-      "nullText": null,
-      "postfix": "",
-      "postfixFontSize": "50%",
-      "prefix": "",
-      "prefixFontSize": "50%",
-      "rangeMaps": [
-        {
-          "from": "null",
-          "text": "N/A",
-          "to": "null"
-        }
-      ],
-      "sparkline": {
-        "fillColor": "rgba(31, 118, 189, 0.18)",
-        "full": false,
-        "lineColor": "rgb(31, 120, 193)",
-        "show": false
-      },
-      "tableColumn": "",
-      "targets": [
-        {
-          {%- endraw %}
-          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
-          "expr": "max(avg(openstack_nova_used_disk{environment=\"$environment\"}) by (instance)) / max(avg(openstack_nova_disk{environment=\"$environment\"}) by (instance))",
-          {%- else %}
-          "expr": "max(sum(openstack_nova_used_disk{environment=\"$environment\"}) by (instance)) / max(sum(openstack_nova_disk{environment=\"$environment\"}) by (instance))",
-          {%- endif %}
-          {%- raw %}
-          "format": "time_series",
-          "intervalFactor": 2,
-          "refId": "A"
-        }
-      ],
-      "thresholds": "0.85,0.95",
-      "title": "Disk Usage",
-      "type": "singlestat",
-      "valueFontSize": "80%",
-      "valueMaps": [
-        {
-          "op": "=",
-          "text": "N/A",
-          "value": "null"
-        }
-      ],
-      "valueName": "current"
-    },
-    {
       "aliasColors": {},
       "bars": false,
       "dashLength": 10,
@@ -666,11 +527,11 @@
       "fill": 1,
       "gridPos": {
         "h": 5,
-        "w": 14,
+        "w": 13,
         "x": 5,
-        "y": 11
+        "y": 6
       },
-      "id": 10,
+      "id": 53,
       "legend": {
         "alignAsTable": false,
         "avg": false,
@@ -696,42 +557,21 @@
       "steppedLine": false,
       "targets": [
         {
-          "$$hashKey": "object:33000",
-          {%- endraw %}
-          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
-          "expr": "max(avg(openstack_nova_disk{environment=\"$environment\"}) by (instance))",
-          {%- else %}
-          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"}) by (instance))",
-          {%- endif %}
-          {%- raw %}
+          "expr": "max(sum(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "total",
           "refId": "A"
         },
         {
-          "$$hashKey": "object:33001",
-          {%- endraw %}
-          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
-          "expr": "max(avg(openstack_nova_used_disk{environment=\"$environment\"}) by (instance))",
-          {%- else %}
-          "expr": "max(sum(openstack_nova_used_disk{environment=\"$environment\"}) by (instance))",
-          {%- endif %}
-          {%- raw %}
+          "expr": "sum(mem_used{environment=\"$environment\"} and on (host) label_replace(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1), \"host\", \"$1\", \"hostname\", \"(.*)\"))/1024/1024",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "used",
           "refId": "B"
         },
         {
-          "$$hashKey": "object:33002",
-          {%- endraw %}
-          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
-          "expr": "max(avg(openstack_nova_used_disk{environment=\"$environment\"}) by (instance))",
-          {%- else %}
-          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"} - openstack_nova_disk_available{environment=\"$environment\"}) by (instance))",
-          {%- endif %}
-          {%- raw %}
+          "expr": "max(sum((openstack_nova_ram{environment=\"$environment\"} - openstack_nova_free_ram{environment=\"$environment\"}) and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "allocated",
@@ -741,7 +581,7 @@
       "thresholds": [],
       "timeFrom": null,
       "timeShift": null,
-      "title": "Disk",
+      "title": "RAM (enabled/up hypervisors)",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -757,7 +597,7 @@
       },
       "yaxes": [
         {
-          "format": "decgbytes",
+          "format": "mbytes",
           "label": null,
           "logBase": 1,
           "max": null,
@@ -788,10 +628,9 @@
         "#d44a3a"
       ],
       "datasource": null,
-      "decimals": 2,
-      "format": "none",
+      "format": "percentunit",
       "gauge": {
-        "maxValue": 2,
+        "maxValue": 1,
         "minValue": 0,
         "show": true,
         "thresholdLabels": false,
@@ -799,11 +638,11 @@
       },
       "gridPos": {
         "h": 5,
-        "w": 5,
-        "x": 19,
-        "y": 11
+        "w": 3,
+        "x": 18,
+        "y": 6
       },
-      "id": 17,
+      "id": 54,
       "interval": null,
       "links": [],
       "mappingType": 1,
@@ -840,12 +679,421 @@
       "tableColumn": "",
       "targets": [
         {
-          "$$hashKey": "object:33092",
+          "expr": "sum(mem_used{environment=\"$environment\"} and on (host) label_replace(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1), \"host\", \"$1\", \"hostname\", \"(.*)\"))/1024/1024 / max(sum(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          "format": "time_series",
+          "intervalFactor": 2,
+          "refId": "A"
+        }
+      ],
+      "thresholds": "0.85,0.95",
+      "title": "RAM Usage %",
+      "type": "singlestat",
+      "valueFontSize": "80%",
+      "valueMaps": [
+        {
+          "op": "=",
+          "text": "N/A",
+          "value": "null"
+        }
+      ],
+      "valueName": "current"
+    },
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": false,
+      "colors": [
+        "#299c46",
+        "rgba(237, 129, 40, 0.89)",
+        "#d44a3a"
+      ],
+      "datasource": null,
+      "decimals": 2,
+      "format": "percentunit",
+      "gauge": {
+        "maxValue": 2,
+        "minValue": 0,
+        "show": true,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "gridPos": {
+        "h": 5,
+        "w": 3,
+        "x": 21,
+        "y": 6
+      },
+      "id": 49,
+      "interval": null,
+      "links": [],
+      "mappingType": 1,
+      "mappingTypes": [
+        {
+          "name": "value to text",
+          "value": 1
+        },
+        {
+          "name": "range to text",
+          "value": 2
+        }
+      ],
+      "maxDataPoints": 100,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "50%",
+      "rangeMaps": [
+        {
+          "from": "null",
+          "text": "N/A",
+          "to": "null"
+        }
+      ],
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": false,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+        {
+          "expr": "max(sum((openstack_nova_ram{environment=\"$environment\"} - openstack_nova_free_ram{environment=\"$environment\"}) and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance)) / max(sum(openstack_nova_ram{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          "format": "time_series",
+          "intervalFactor": 2,
+          "refId": "A"
+        }
+      ],
+      "thresholds": "1,1.5",
+      "title": "RAM Allocated %",
+      "type": "singlestat",
+      "valueFontSize": "80%",
+      "valueMaps": [
+        {
+          "op": "=",
+          "text": "N/A",
+          "value": "null"
+        }
+      ],
+      "valueName": "current"
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": null,
+      "fill": 4,
+      "gridPos": {
+        "h": 5,
+        "w": 5,
+        "x": 0,
+        "y": 11
+      },
+      "id": 10,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "rightSide": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "stack": true,
+      "steppedLine": false,
+      "targets": [
+        {
           {%- endraw %}
           {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
-          "expr": "max(avg(openstack_nova_used_disk{environment=\"$environment\"}) by (instance)) / max(avg(openstack_nova_disk{environment=\"$environment\"}) by (instance))",
+          "expr": "max(avg(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           {%- else %}
-          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"} - openstack_nova_disk_available{environment=\"$environment\"}) by (instance)) / max(sum(openstack_nova_disk{environment=\"$environment\"}) by (instance))",
+          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "enabled/up",
+          "refId": "A"
+        },
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
+          {%- else %}
+          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "enabled/down",
+          "refId": "B"
+        },
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- else %}
+          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "disabled/up",
+          "refId": "C"
+        },
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
+          {%- else %}
+          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 0 and openstack_nova_service_state{environment=\"$environment\"} == 0)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 1,
+          "legendFormat": "disabled/down",
+          "refId": "D"
+        }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Total Disk",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+        {
+          "format": "gbytes",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": "0",
+          "show": true
+        },
+        {
+          "format": "short",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": null,
+          "show": true
+        }
+      ],
+      "yaxis": {
+        "align": false,
+        "alignLevel": null
+      }
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": null,
+      "fill": 1,
+      "gridPos": {
+        "h": 5,
+        "w": 13,
+        "x": 5,
+        "y": 11
+      },
+      "id": 57,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "rightSide": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- else %}
+          "expr": "max(sum(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "total",
+          "refId": "A"
+        },
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg(openstack_nova_used_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- else %}
+          "expr": "max(sum(openstack_nova_used_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "used",
+          "refId": "B"
+        },
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg((openstack_nova_disk{environment=\"$environment\"} - openstack_nova_disk_available{environment=\"$environment\"}) and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- else %}
+          "expr": "max(sum((openstack_nova_disk{environment=\"$environment\"} - openstack_nova_disk_available{environment=\"$environment\"}) and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "allocated",
+          "refId": "C"
+        }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Disk (enabled/up hypervisors)",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+        {
+          "format": "gbytes",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": "0",
+          "show": true
+        },
+        {
+          "format": "short",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": null,
+          "show": true
+        }
+      ],
+      "yaxis": {
+        "align": false,
+        "alignLevel": null
+      }
+    },
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": false,
+      "colors": [
+        "#299c46",
+        "rgba(237, 129, 40, 0.89)",
+        "#d44a3a"
+      ],
+      "datasource": null,
+      "format": "percentunit",
+      "gauge": {
+        "maxValue": 1,
+        "minValue": 0,
+        "show": true,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "gridPos": {
+        "h": 5,
+        "w": 3,
+        "x": 18,
+        "y": 11
+      },
+      "id": 47,
+      "interval": null,
+      "links": [],
+      "mappingType": 1,
+      "mappingTypes": [
+        {
+          "name": "value to text",
+          "value": 1
+        },
+        {
+          "name": "range to text",
+          "value": 2
+        }
+      ],
+      "maxDataPoints": 100,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "50%",
+      "rangeMaps": [
+        {
+          "from": "null",
+          "text": "N/A",
+          "to": "null"
+        }
+      ],
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": false,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg(openstack_nova_used_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance)) / max(avg(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- else %}
+          "expr": "max(sum(openstack_nova_used_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance)) / max(sum(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
           {%- endif %}
           {%- raw %}
           "format": "time_series",
@@ -853,8 +1101,95 @@
           "refId": "A"
         }
       ],
-      "thresholds": "0.9,1",
-      "title": "Current Disk Allocation Ratio",
+      "thresholds": "0.85,0.95",
+      "title": "Disk Usage %",
+      "type": "singlestat",
+      "valueFontSize": "80%",
+      "valueMaps": [
+        {
+          "op": "=",
+          "text": "N/A",
+          "value": "null"
+        }
+      ],
+      "valueName": "current"
+    },
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": false,
+      "colors": [
+        "#299c46",
+        "rgba(237, 129, 40, 0.89)",
+        "#d44a3a"
+      ],
+      "datasource": null,
+      "decimals": 2,
+      "format": "percentunit",
+      "gauge": {
+        "maxValue": 6,
+        "minValue": 0,
+        "show": true,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "gridPos": {
+        "h": 5,
+        "w": 3,
+        "x": 21,
+        "y": 11
+      },
+      "id": 55,
+      "interval": null,
+      "links": [],
+      "mappingType": 1,
+      "mappingTypes": [
+        {
+          "name": "value to text",
+          "value": 1
+        },
+        {
+          "name": "range to text",
+          "value": 2
+        }
+      ],
+      "maxDataPoints": 100,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "50%",
+      "rangeMaps": [
+        {
+          "from": "null",
+          "text": "N/A",
+          "to": "null"
+        }
+      ],
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": false,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+        {
+          {%- endraw %}
+          {%- if parameters is defined and parameters.get('nova_compute_ceph_ephemeral', False) == True %}
+          "expr": "max(avg((openstack_nova_disk{environment=\"$environment\"} - openstack_nova_disk_available{environment=\"$environment\"}) and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance)) / max(avg(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- else %}
+          "expr": "max(sum((openstack_nova_disk{environment=\"$environment\"} - openstack_nova_disk_available{environment=\"$environment\"}) and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance)) / max(sum(openstack_nova_disk{environment=\"$environment\"} and on (hostname) (openstack_nova_service_status{environment=\"$environment\"} == 1 and openstack_nova_service_state{environment=\"$environment\"} == 1)) by (instance))",
+          {%- endif %}
+          {%- raw %}
+          "format": "time_series",
+          "intervalFactor": 2,
+          "refId": "A"
+        }
+      ],
+      "thresholds": "2,4",
+      "title": "Disk Allocated %",
       "type": "singlestat",
       "valueFontSize": "80%",
       "valueMaps": [