From 3581459d7d37c969bcd3a57a01e615527704f7fb Mon Sep 17 00:00:00 2001 From: akrzos Date: Thu, 19 Jan 2017 09:44:13 -0500 Subject: [PATCH] Enhancing Dashboards + 3 more static dashboards Includes * Instance Count Static Dashboard * Cloud Gnocchi Status Dashboard * Three Node Performance Food Groups Dashboard * This can be used to view your three HA controllers concurrently * Exclude stats, statsd, stats_count as a "Cloud" in first namespace on all dashboards Change-Id: I869f68db940aa786fee593bb5a12ecaa6f4ddefa --- ansible/install/grafana-dashboards.yml | 5 +- .../files/cloud_gnocchi_status.json | 187 +++ .../files/cloud_instance_count.json | 159 ++ .../cloud_system_performance_comparsion.json | 2 + .../three_node_performance_food_groups.json | 1278 +++++++++++++++++ .../roles/grafana-dashboards/tasks/main.yml | 2 +- ...remetal_general_system_performance.json.j2 | 1 + ...raphite_general_system_performance.json.j2 | 1 + .../guest_general_system_performance.json.j2 | 1 + ...enstack_general_system_performance.json.j2 | 1 + 10 files changed, 1635 insertions(+), 2 deletions(-) create mode 100644 ansible/install/roles/grafana-dashboards/files/cloud_gnocchi_status.json create mode 100644 ansible/install/roles/grafana-dashboards/files/cloud_instance_count.json create mode 100644 ansible/install/roles/grafana-dashboards/files/three_node_performance_food_groups.json diff --git a/ansible/install/grafana-dashboards.yml b/ansible/install/grafana-dashboards.yml index 4fbabfbbd..c35e97606 100644 --- a/ansible/install/grafana-dashboards.yml +++ b/ansible/install/grafana-dashboards.yml @@ -14,7 +14,10 @@ cloud_dashboards: true overwrite_existing: true static_dashboards: - - cloud-system-performance-comparsion + - cloud_instance_count + - cloud_system_performance_comparsion + - cloud_gnocchi_status + - three_node_performance_food_groups cloud_specific_dashboards: - cpu - memory diff --git a/ansible/install/roles/grafana-dashboards/files/cloud_gnocchi_status.json b/ansible/install/roles/grafana-dashboards/files/cloud_gnocchi_status.json new file mode 100644 index 000000000..2ab9fbf60 --- /dev/null +++ b/ansible/install/roles/grafana-dashboards/files/cloud_gnocchi_status.json @@ -0,0 +1,187 @@ +{ + "dashboard": { + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "hideControls": false, + "id": null, + "links": [], + "rows": [ + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 1, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "B", + "target": "aliasByMetric(aliasSub($Cloud.$Node.gnocchi_status.*, 'gauge-', ''))", + "textEditor": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Node Metrics/Measures Backlog", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "showTitle": true, + "title": "Gnocchi Backlog" + } + ], + "schemaVersion": 12, + "sharedCrosshair": false, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allFormat": "glob", + "current": { + "text": "", + "value": "" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "multi": false, + "multiFormat": "glob", + "name": "Cloud", + "options": [], + "query": "*", + "refresh": 1, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", + "type": "query" + }, + { + "current": { + "tags": [], + "text": "overcloud-controller-0", + "value": "overcloud-controller-0" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "Node", + "options": [ + { + "selected": true, + "text": "overcloud-controller-0", + "value": "overcloud-controller-0" + }, + { + "selected": false, + "text": "undercloud", + "value": "undercloud" + } + ], + "query": "$Cloud.*", + "refresh": 0, + "regex": "/.*[cu][on][dn].*/", + "type": "query" + } + ] + }, + "time": { + "from": "now-24h", + "to": "now" + }, + "timepicker": { + "now": true, + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "utc", + "title": "Cloud Gnocchi Status", + "version": 2 + } +} diff --git a/ansible/install/roles/grafana-dashboards/files/cloud_instance_count.json b/ansible/install/roles/grafana-dashboards/files/cloud_instance_count.json new file mode 100644 index 000000000..520efbcff --- /dev/null +++ b/ansible/install/roles/grafana-dashboards/files/cloud_instance_count.json @@ -0,0 +1,159 @@ +{ + "dashboard": { + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "hideControls": false, + "id": null, + "links": [], + "rows": [ + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 1, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "B", + "target": "alias(sumSeries($Cloud.overcloud-*compute-*.processes-qemu-kvm.ps_count.processes), 'Sum qemu-kvm processes')", + "textEditor": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Instances Hosted on Computes for $Cloud", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "showTitle": true, + "title": "Instance Count" + } + ], + "schemaVersion": 12, + "sharedCrosshair": false, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allFormat": "glob", + "current": { + "text": "", + "value": "" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "multi": false, + "multiFormat": "glob", + "name": "Cloud", + "options": [], + "query": "*", + "refresh": 1, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", + "type": "query" + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "now": true, + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "utc", + "title": "Cloud Instance Count", + "version": 7 + } +} diff --git a/ansible/install/roles/grafana-dashboards/files/cloud_system_performance_comparsion.json b/ansible/install/roles/grafana-dashboards/files/cloud_system_performance_comparsion.json index 1c385e805..c58b89a68 100644 --- a/ansible/install/roles/grafana-dashboards/files/cloud_system_performance_comparsion.json +++ b/ansible/install/roles/grafana-dashboards/files/cloud_system_performance_comparsion.json @@ -1684,6 +1684,7 @@ "name": "Node1", "options": [], "query": "$Cloud1.*", + "regex": "/^(?!stats[d]*[_counts]*$).*$/", "refresh": true, "type": "query" }, @@ -1702,6 +1703,7 @@ "options": [], "query": "$Cloud2.*", "refresh": true, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", "type": "query" }, { diff --git a/ansible/install/roles/grafana-dashboards/files/three_node_performance_food_groups.json b/ansible/install/roles/grafana-dashboards/files/three_node_performance_food_groups.json new file mode 100644 index 000000000..80637df19 --- /dev/null +++ b/ansible/install/roles/grafana-dashboards/files/three_node_performance_food_groups.json @@ -0,0 +1,1278 @@ +{ + "dashboard": { + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "hideControls": false, + "id": null, + "links": [], + "rows": [ + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 1, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-system), 'System')" + }, + { + "refId": "B", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-user), 'User')" + }, + { + "refId": "C", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-nice), 'Nice')" + }, + { + "refId": "D", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-steal), 'Steal')" + }, + { + "refId": "E", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-softirq), 'SoftIRQ')" + }, + { + "refId": "F", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-interrupt), 'Interrupt')" + }, + { + "refId": "G", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-wait), 'Wait')" + }, + { + "refId": "H", + "target": "alias(sumSeries($Cloud.$Node1.cpu-*.cpu-idle), 'Idle')" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node1 - All CPUs Sum", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "percent", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 2, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-system), 'System')" + }, + { + "refId": "B", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-user), 'User')" + }, + { + "refId": "C", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-nice), 'Nice')" + }, + { + "refId": "D", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-steal), 'Steal')" + }, + { + "refId": "E", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-softirq), 'SoftIRQ')" + }, + { + "refId": "F", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-interrupt), 'Interrupt')" + }, + { + "refId": "G", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-wait), 'Wait')" + }, + { + "refId": "H", + "target": "alias(sumSeries($Cloud.$Node2.cpu-*.cpu-idle), 'Idle')" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node2 - All CPUs Sum", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "percent", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 3, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-system), 'System')" + }, + { + "refId": "B", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-user), 'User')" + }, + { + "refId": "C", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-nice), 'Nice')" + }, + { + "refId": "D", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-steal), 'Steal')" + }, + { + "refId": "E", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-softirq), 'SoftIRQ')" + }, + { + "refId": "F", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-interrupt), 'Interrupt')" + }, + { + "refId": "G", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-wait), 'Wait')" + }, + { + "refId": "H", + "target": "alias(sumSeries($Cloud.$Node3.cpu-*.cpu-idle), 'Idle')" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node3 - All CPUs Sum", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "percent", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "showTitle": true, + "title": "Controllers CPU" + }, + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 4, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "alias($Cloud.$Node1.memory.memory-slab_unrecl, 'Slab Unrecl')" + }, + { + "refId": "B", + "target": "alias($Cloud.$Node1.memory.memory-used, 'Used')" + }, + { + "refId": "C", + "target": "alias($Cloud.$Node1.memory.memory-buffered, 'Buffered')" + }, + { + "refId": "D", + "target": "alias($Cloud.$Node1.memory.memory-slab_recl, 'Slab Recl')" + }, + { + "refId": "E", + "target": "alias($Cloud.$Node1.memory.memory-cached, 'Cached')" + }, + { + "refId": "F", + "target": "alias($Cloud.$Node1.memory.memory-free, 'Free')" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node1 - Memory in Bytes", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "bytes", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 5, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "alias($Cloud.$Node2.memory.memory-slab_unrecl, 'Slab Unrecl')" + }, + { + "refId": "B", + "target": "alias($Cloud.$Node2.memory.memory-used, 'Used')" + }, + { + "refId": "C", + "target": "alias($Cloud.$Node2.memory.memory-buffered, 'Buffered')" + }, + { + "refId": "D", + "target": "alias($Cloud.$Node2.memory.memory-slab_recl, 'Slab Recl')" + }, + { + "refId": "E", + "target": "alias($Cloud.$Node2.memory.memory-cached, 'Cached')" + }, + { + "refId": "F", + "target": "alias($Cloud.$Node2.memory.memory-free, 'Free')" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node2 - Memory in Bytes", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "bytes", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 6, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "alias($Cloud.$Node3.memory.memory-slab_unrecl, 'Slab Unrecl')" + }, + { + "refId": "B", + "target": "alias($Cloud.$Node3.memory.memory-used, 'Used')" + }, + { + "refId": "C", + "target": "alias($Cloud.$Node3.memory.memory-buffered, 'Buffered')" + }, + { + "refId": "D", + "target": "alias($Cloud.$Node3.memory.memory-slab_recl, 'Slab Recl')" + }, + { + "refId": "E", + "target": "alias($Cloud.$Node3.memory.memory-cached, 'Cached')" + }, + { + "refId": "F", + "target": "alias($Cloud.$Node3.memory.memory-free, 'Free')" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node3 - Memory in Bytes", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "bytes", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "showTitle": true, + "title": "Memory" + }, + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 7, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Weighted Time", + "yaxis": 2 + } + ], + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub(scale($Cloud.$Node1.$Node1_disks.disk_io_time.io_time, 0.1), 'disk-', ''), 2)", + "textEditor": true + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node1 IO Util", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "percent", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ms", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 8, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Weighted Time", + "yaxis": 2 + } + ], + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub(scale($Cloud.$Node2.$Node2_disks.disk_io_time.io_time, 0.1), 'disk-', ''), 2)", + "textEditor": true + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node2 IO Util", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "percent", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ms", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 1, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 9, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Weighted Time", + "yaxis": 2 + } + ], + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub(scale($Cloud.$Node3.$Node3_disks.disk_io_time.io_time, 0.1), 'disk-', ''), 2)", + "textEditor": true + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node3 IO Util", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "percent", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ms", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "showTitle": true, + "title": "Disk % Util" + }, + { + "collapse": false, + "editable": true, + "height": "250px", + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 10, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*\\.rx/", + "transform": "negative-Y" + } + ], + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub($Cloud.$Node1.*.if_octets.tx, 'interface-', ''), 2, 4)" + }, + { + "refId": "B", + "target": "aliasByNode(aliasSub($Cloud.$Node1.*.if_octets.rx, 'interface-', ''), 2, 4)" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node1 Throughput", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "Bps", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 11, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*\\.rx/", + "transform": "negative-Y" + } + ], + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub($Cloud.$Node2.*.if_octets.tx, 'interface-', ''), 2, 4)" + }, + { + "refId": "B", + "target": "aliasByNode(aliasSub($Cloud.$Node2.*.if_octets.rx, 'interface-', ''), 2, 4)" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node2 Throughput", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "Bps", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "id": 12, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*\\.rx/", + "transform": "negative-Y" + } + ], + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub($Cloud.$Node3.*.if_octets.tx, 'interface-', ''), 2, 4)" + }, + { + "refId": "B", + "target": "aliasByNode(aliasSub($Cloud.$Node3.*.if_octets.rx, 'interface-', ''), 2, 4)" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node3 Throughput", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "show": true + }, + "yaxes": [ + { + "format": "Bps", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "showTitle": true, + "title": "Network Throughput" + } + ], + "schemaVersion": 12, + "sharedCrosshair": false, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "text": "", + "value": "" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "Cloud", + "options": [], + "query": "*", + "refresh": 1, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", + "type": "query" + }, + { + "current": { + "text": "overcloud-controller-0", + "value": "overcloud-controller-0" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "Node1", + "options": [], + "query": "$Cloud.*", + "refresh": 0, + "regex": "", + "type": "query" + }, + { + "current": { + "text": "overcloud-controller-1", + "value": "overcloud-controller-1" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "Node2", + "options": [], + "query": "$Cloud.*", + "refresh": 0, + "regex": "", + "type": "query" + }, + { + "current": { + "text": "overcloud-controller-2", + "value": "overcloud-controller-2" + }, + "datasource": null, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "Node3", + "options": [], + "query": "$Cloud.*", + "refresh": 0, + "type": "query" + }, + { + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": null, + "hide": 2, + "includeAll": true, + "multi": true, + "name": "Node1_disks", + "options": [], + "query": "$Cloud.$Node1.disk-*", + "refresh": 0, + "regex": "/disk-[a-z]*$/", + "type": "query" + }, + { + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": null, + "hide": 2, + "includeAll": true, + "multi": true, + "name": "Node2_disks", + "options": [], + "query": "$Cloud.$Node2.disk-*", + "refresh": 0, + "regex": "/disk-[a-z]*$/", + "type": "query" + }, + { + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": null, + "hide": 2, + "includeAll": true, + "multi": true, + "name": "Node3_disks", + "options": [], + "query": "$Cloud.$Node3.disk-*", + "refresh": 0, + "regex": "/disk-[a-z]*$/", + "type": "query" + } + ] + }, + "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": "utc", + "title": "Three Node Performance Food Groups", + "version": 6 + } +} diff --git a/ansible/install/roles/grafana-dashboards/tasks/main.yml b/ansible/install/roles/grafana-dashboards/tasks/main.yml index cf280c62b..750b8f6b9 100644 --- a/ansible/install/roles/grafana-dashboards/tasks/main.yml +++ b/ansible/install/roles/grafana-dashboards/tasks/main.yml @@ -28,7 +28,7 @@ when: cloud_dashboards - name: Remove Existing Static Dashboard(s) - command: "curl -X DELETE -H 'Content-Type: application/json' http://{{grafana_username}}:{{grafana_password}}@{{grafana_host}}:{{grafana_port}}/api/dashboards/db/{{item}}" + command: "curl -X DELETE -H 'Content-Type: application/json' http://{{grafana_username}}:{{grafana_password}}@{{grafana_host}}:{{grafana_port}}/api/dashboards/db/{{item|replace('_', '-')}}" when: overwrite_existing with_items: "{{static_dashboards}}" diff --git a/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 b/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 index ade5cd25e..29b1f964f 100644 --- a/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 +++ b/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 @@ -2599,6 +2599,7 @@ "options": [], "query": "*", "refresh": true, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", "type": "query" }, { diff --git a/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 b/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 index 4cd696434..ca240c97b 100644 --- a/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 +++ b/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 @@ -3022,6 +3022,7 @@ "options": [], "query": "*", "refresh": true, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", "type": "query" }, { diff --git a/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 b/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 index b9d5d614c..a0ce6ce0d 100644 --- a/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 +++ b/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 @@ -2152,6 +2152,7 @@ "options": [], "query": "*", "refresh": true, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", "type": "query" }, { diff --git a/ansible/install/roles/grafana-dashboards/templates/openstack_general_system_performance.json.j2 b/ansible/install/roles/grafana-dashboards/templates/openstack_general_system_performance.json.j2 index 5854c50ab..2b8642629 100644 --- a/ansible/install/roles/grafana-dashboards/templates/openstack_general_system_performance.json.j2 +++ b/ansible/install/roles/grafana-dashboards/templates/openstack_general_system_performance.json.j2 @@ -4052,6 +4052,7 @@ "options": [], "query": "*", "refresh": true, + "regex": "/^(?!stats[d]*[_counts]*$).*$/", "type": "query" }, {