Add Nova AZ dashboard
Change-Id: I59cfbfb84107d41e41d1decd473664be6db7e020
Related-PROD: PROD-34532
diff --git a/nova/files/grafana_dashboards/nova_az_prometheus.json b/nova/files/grafana_dashboards/nova_az_prometheus.json
new file mode 100644
index 0000000..b71f335
--- /dev/null
+++ b/nova/files/grafana_dashboards/nova_az_prometheus.json
@@ -0,0 +1,2065 @@
+{%- raw %}
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "prometheus",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "iteration": 1580468899302,
+ "links": [],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "panels": [],
+ "repeat": "az",
+ "title": "Availability Zone Utilization @$az",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "description": "Shows total AZ CPU number per hypervisor's status/state",
+ "fill": 4,
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 1
+ },
+ "id": 62,
+ "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
+ },
+ "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(openstack_nova_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "enabled/up",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(openstack_nova_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 0)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "enabled/down",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(openstack_nova_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 0 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "disabled/up",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(openstack_nova_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 0 and openstack_nova_service_state{binary=\"nova-compute\"} == 0)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "disabled/down",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "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": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "description": "Shows AZ CPU stats within enabled/up hypervisors",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 13,
+ "x": 5,
+ "y": 1
+ },
+ "id": 63,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "hideEmpty": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(openstack_nova_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "total",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(label_replace(system_load15, \"hostname\", \"$1\", \"host\", \"(.*)\") * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "used",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(openstack_nova_used_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CPU (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": "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
+ }
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "decimals": 2,
+ "description": "Shows current AZ CPU allocation percentage",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 12,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 18,
+ "y": 1
+ },
+ "id": 65,
+ "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": "sum(openstack_nova_used_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname) / sum(openstack_nova_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "instant": "true",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "4,8",
+ "title": "CPU Allocated %",
+ "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,
+ "description": "Shows current AZ CPU usage percentage (calculated as a sum of per core means based on load average 15 over AZ's hypervisors)",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 21,
+ "y": 1
+ },
+ "id": 64,
+ "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": "sum(label_replace(system_load15, \"hostname\", \"$1\", \"host\", \"(.*)\") * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname) / sum(openstack_nova_vcpus * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "instant": "true",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0.85,0.95",
+ "title": "CPU Usage %",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "description": "Shows total AZ amount of RAM per hypervisor's status/state",
+ "fill": 4,
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 6
+ },
+ "id": 66,
+ "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": [
+ {
+ "expr": "sum(openstack_nova_ram * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "enabled/up",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(openstack_nova_ram * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 0)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "enabled/down",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(openstack_nova_ram * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 0 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "disabled/up",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(openstack_nova_ram * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 0 and openstack_nova_service_state{binary=\"nova-compute\"} == 0)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "disabled/down",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Total RAM",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "mbytes",
+ "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,
+ "description": "Shows AZ RAM stats within enabled/up hypervisors",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 13,
+ "x": 5,
+ "y": 6
+ },
+ "id": 67,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(openstack_nova_ram * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "total",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(label_replace(mem_used/1024/1024, \"hostname\", \"$1\", \"host\", \"(.*)\") * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "used",
+ "refId": "B"
+ },
+ {
+ "expr": "sum((openstack_nova_ram - openstack_nova_free_ram) * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "RAM (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": "mbytes",
+ "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,
+ "decimals": 2,
+ "description": "Shows current AZ RAM allocation percentage",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 2,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 18,
+ "y": 6
+ },
+ "id": 69,
+ "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": "sum((openstack_nova_ram - openstack_nova_free_ram) * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname) / sum(openstack_nova_ram * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "instant": "true",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "1,1.5",
+ "title": "RAM Allocated %",
+ "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,
+ "description": "Shows current AZ RAM usage percentage (calculated as a sum of RAM usages over AZ's hypervisors)",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 21,
+ "y": 6
+ },
+ "id": 54,
+ "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": "sum(label_replace(mem_used/1024/1024, \"hostname\", \"$1\", \"host\", \"(.*)\") * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname) / sum(openstack_nova_ram * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "instant": "true",
+ "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"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "description": "Shows total AZ Disk space per hypervisor's status/state",
+ "fill": 4,
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 11
+ },
+ "id": 70,
+ "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": [
+ {
+ "expr": "sum(openstack_nova_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "enabled/up",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(openstack_nova_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 0)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "enabled/down",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(openstack_nova_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 0 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "disabled/up",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(openstack_nova_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 0 and openstack_nova_service_state{binary=\"nova-compute\"} == 0)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "disabled/down",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "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,
+ "description": "Shows AZ Disk space stats within enabled/up hypervisors",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 13,
+ "x": 5,
+ "y": 11
+ },
+ "id": 71,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(openstack_nova_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "total",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(openstack_nova_used_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "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,
+ "decimals": 2,
+ "description": "Shows current AZ Disk space allocation percentage",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 2,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 18,
+ "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": [
+ {
+ "expr": "sum(openstack_nova_used_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname) / sum(openstack_nova_disk * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "instant": "true",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "1,1.5",
+ "title": "Disk Allocated %",
+ "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,
+ "description": "Shows current AZ running instances number",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 21,
+ "y": 11
+ },
+ "id": 18,
+ "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": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(openstack_nova_running_instances * on(hostname) group_right openstack_nova_availability_zone_metadata{name=\"$az\"} and on(hostname) (openstack_nova_service_status{binary=\"nova-compute\"} == 1 and openstack_nova_service_state{binary=\"nova-compute\"} == 1)) without(host,hostname)",
+ "format": "time_series",
+ "instant": "true",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Running Instances",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 2,
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "description": "Shows current hypervisor CPU allocation ratio",
+ "decimals": 2,
+ "format": "none",
+ "gauge": {
+ "maxValue": 32,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 17
+ },
+ "id": 61,
+ "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(openstack_nova_used_vcpus{hostname=\"$host\"} / openstack_nova_vcpus{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "12,16",
+ "title": "Current CPU Allocation Ratio",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "description": "Shows hypervisor CPU stats",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 14,
+ "x": 5,
+ "y": 17
+ },
+ "id": 29,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "hideEmpty": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max(openstack_nova_vcpus{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "total",
+ "refId": "A"
+ },
+ {
+ "expr": "scalar(system_load15{host=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "used",
+ "refId": "B"
+ },
+ {
+ "expr": "max(openstack_nova_used_vcpus{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CPU",
+ "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
+ }
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "description": "Shows current hypervisor CPU usage percentage (per core mean based on load average 15)",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 19,
+ "y": 17
+ },
+ "id": 28,
+ "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": "scalar(system_load15{host=\"$host\"}) / max(openstack_nova_vcpus{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0.85,0.95",
+ "title": "CPU 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,
+ "description": "Shows current hypervisor RAM allocation ratio",
+ "format": "none",
+ "gauge": {
+ "maxValue": 3,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 22
+ },
+ "id": 33,
+ "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((openstack_nova_ram{hostname=\"$host\"} - openstack_nova_free_ram{hostname=\"$host\"}) / openstack_nova_ram{hostname=\"$host\"})",
+ "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"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "description": "Shows hypervisor RAM stats",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 14,
+ "x": 5,
+ "y": 22
+ },
+ "id": 32,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max(openstack_nova_ram{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "total",
+ "refId": "A"
+ },
+ {
+ "expr": "max(openstack_nova_used_ram{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "used",
+ "refId": "B"
+ },
+ {
+ "expr": "max(openstack_nova_ram{hostname=\"$host\"} - openstack_nova_free_ram{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "RAM",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decmbytes",
+ "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,
+ "description": "Shows current hypervisor RAM usage percentage",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 19,
+ "y": 22
+ },
+ "id": 31,
+ "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(openstack_nova_used_ram{hostname=\"$host\"} / openstack_nova_ram{hostname=\"$host\"})",
+ "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,
+ "description": "Shows current hypervisor Disk space allocation ratio",
+ "format": "none",
+ "gauge": {
+ "maxValue": 2,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 27
+ },
+ "id": 36,
+ "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(openstack_nova_used_disk{hostname=\"$host\"} / openstack_nova_disk{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "1,1.5",
+ "title": "Current Disk Allocation Ratio",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "description": "Shows hypervisor Disk space stats",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 14,
+ "x": 5,
+ "y": 27
+ },
+ "id": 35,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max(openstack_nova_disk{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "total",
+ "refId": "A"
+ },
+ {
+ "expr": "max(openstack_nova_used_disk{hostname=\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decgbytes",
+ "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,
+ "description": "Shows hypervisor running instances number",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 19,
+ "y": 27
+ },
+ "id": 74,
+ "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": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "openstack_nova_running_instances{hostname=\"$host\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Running Instances",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ }
+ ],
+ "repeat": "host",
+ "title": "Hypervisor Utilization @$host",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [
+ "openstack"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "datasource": "prometheus",
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Availability Zone",
+ "multi": true,
+ "name": "az",
+ "options": [],
+ "query": "query_result(avg_over_time(openstack_nova_service_state{binary=\"nova-compute\"}[${__range_s}s]))",
+ "refresh": 1,
+ "regex": "/.*az=\"(.*?)\".*/",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "datasource": "prometheus",
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Compute Host",
+ "multi": true,
+ "name": "host",
+ "options": [],
+ "query": "query_result(avg(openstack_nova_availability_zone_metadata{name=~\"$az\"}) by (hostname) and on(hostname) openstack_nova_running_instances)",
+ "refresh": 1,
+ "regex": "/.*{hostname=\"(.*)\"}.*/",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "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": "",
+ "title": "Nova - Availability Zones"
+}
+{%- endraw %}