diff --git a/contrib/dashboards/Main.json b/contrib/dashboards/Main.json new file mode 100644 index 00000000..2fff88e2 --- /dev/null +++ b/contrib/dashboards/Main.json @@ -0,0 +1,1675 @@ +{ + "id": null, + "title": "Main", + "originalTitle": "Main", + "tags": [], + "style": "dark", + "timezone": "browser", + "editable": true, + "hideControls": false, + "sharedCrosshair": false, + "rows": [ + { + "title": "OpenStack Services", + "height": "250px", + "editable": true, + "collapse": false, + "panels": [ + { + "title": "Cinder", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 1, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "Cinder", + "dashboard": "Cinder" + } + ], + "maxDataPoints": 100, + "interval": "> 60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/openstack.cinder.check_api/)", + "query": "select last(value) from merge(/openstack.cinder.check_api/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "groupby_field": "", + "condition": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "Unknown" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "Keystone", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 2, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "Keystone", + "dashboard": "Keystone" + } + ], + "maxDataPoints": 100, + "interval": "> 60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/openstack.keystone.check_api/)", + "query": "select last(value) from merge(/openstack.keystone.check_api/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "groupby_field": "", + "condition": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "Unknown" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "Glance", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 3, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "Glance", + "dashboard": "Glance" + } + ], + "maxDataPoints": 100, + "interval": "> 60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/openstack.glance.check_api/)", + "query": "select last(value) from merge(/openstack.glance.check_api/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "groupby_field": "", + "condition": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "Unknown" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "Heat", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 4, + "links": [], + "maxDataPoints": 100, + "interval": "> 60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/openstack.heat.check_api/)", + "query": "select last(value) from merge(/openstack.heat.check_api/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "groupby_field": "", + "condition": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "Unknown" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "Neutron", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 23, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "Neutron", + "dashboard": "Neutron" + } + ], + "maxDataPoints": 100, + "interval": "> 60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/openstack.neutron.check_api/)", + "query": "select last(value) from merge(/openstack.neutron.check_api/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "groupby_field": "", + "condition": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "Unknown" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "Nova", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 5, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "Nova", + "dashboard": "Nova" + } + ], + "maxDataPoints": 100, + "interval": "> 60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/openstack.nova.check_api/)", + "query": "select last(value) from merge(/openstack.nova.check_api/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "groupby_field": "", + "condition": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "Unknown" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "", + "error": false, + "span": 1, + "editable": true, + "type": "text", + "id": 20, + "mode": "markdown", + "content": "", + "style": {}, + "links": [] + }, + { + "title": "RabbitMQ", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 16, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "RabbitMQ", + "dashboard": "RabbitMQ" + } + ], + "maxDataPoints": 100, + "interval": "60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/rabbitmq.status$/)", + "query": "select last(value) from merge(/rabbitmq.status$/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "short", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "MySQL", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 15, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "MySQL", + "dashboard": "MySQL" + } + ], + "maxDataPoints": 100, + "interval": "60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/mysql.status$/)", + "query": "select last(value) from merge(/mysql.status$/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "short", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "Apache", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 18, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "Apache", + "dashboard": "Apache" + } + ], + "maxDataPoints": 100, + "interval": "60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/apache.status$/)", + "query": "select last(value) from merge(/apache.status$/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "short", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "HAProxy", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 10, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "HAProxy", + "dashboard": "HAProxy" + } + ], + "maxDataPoints": 100, + "interval": "60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/haproxy.status$/)", + "query": "select last(value) from merge(/haproxy.status$/) where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "short", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "memcached", + "error": false, + "span": 1, + "editable": true, + "type": "singlestat", + "id": 17, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "memcached", + "dashboard": "Memcached" + }, + { + "type": "dashboard", + "name": "Drilldown dashboard" + } + ], + "maxDataPoints": 100, + "interval": ">60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "/memcached.status$/", + "query": "select last(value) from /memcached.status$/ where $timeFilter group by time($interval) order asc", + "rawQuery": false, + "interval": "" + } + ], + "cacheTimeout": null, + "format": "short", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + }, + { + "value": "0", + "op": "=", + "text": "Down" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "0,0,1", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(225, 40, 40, 0.59)", + "rgba(245, 40, 40, 0.73)", + "rgba(71, 212, 59, 0.4)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + } + ], + "showTitle": true + }, + { + "title": "Virtual resources", + "height": "250px", + "editable": true, + "collapse": false, + "panels": [ + { + "title": "Number of VCPUs", + "error": false, + "span": 4, + "editable": true, + "type": "graph", + "id": 11, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": 0, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": false, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": true + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "$server.openstack.nova.free_vcpus", + "query": "select min(value) from merge(/.*.openstack.nova.free_vcpus/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "free", + "fill": "0", + "rawQuery": true + }, + { + "function": "mean", + "column": "value", + "series": "$server.openstack.nova.used_vcpus", + "query": "select max(value) from merge(/.*.openstack.nova.used_vcpus/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "used", + "fill": "0", + "rawQuery": true + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "interval": "> 60s" + }, + { + "title": "RAM", + "error": false, + "span": 4, + "editable": true, + "type": "graph", + "id": 12, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "bytes", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": 0, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": false, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": true + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "$server.openstack.nova.free_ram", + "query": "select min(value*1000000) from merge(/.*.openstack.nova.free_ram/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "free", + "fill": "0", + "rawQuery": true + }, + { + "function": "mean", + "column": "value", + "series": "$server.openstack.nova.used_ram", + "query": "select max(value*1000000) from merge(/.*.openstack.nova.used_ram/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "used", + "fill": "0", + "rawQuery": true + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "interval": "> 60s", + "leftYAxisLabel": "" + }, + { + "title": "Disk", + "error": false, + "span": 4, + "editable": true, + "type": "graph", + "id": 13, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "bytes", + "short" + ], + "grid": { + "leftMax": null, + "rightMax": null, + "leftMin": 0, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": false, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": true + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "$server.openstack.nova.free_disk", + "query": "select min(value*1000000000) from merge(/.*.openstack.nova.free_disk/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "free", + "fill": "0", + "rawQuery": true + }, + { + "function": "mean", + "column": "value", + "series": "$server.openstack.nova.used_disk", + "query": "select max(value*1000000000) from merge(/.*.openstack.nova.used_disk/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "used", + "fill": "0", + "rawQuery": true + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "interval": "> 60s" + } + ], + "showTitle": true + }, + { + "title": "System", + "height": "250px", + "editable": true, + "collapse": false, + "panels": [ + { + "title": "CPU on $controller", + "error": false, + "span": 5, + "editable": true, + "type": "graph", + "id": 19, + "datasource": null, + "renderer": "flot", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "percent", + "short" + ], + "grid": { + "leftMax": 100, + "rightMax": null, + "leftMin": null, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "lines": true, + "fill": 0, + "linewidth": 1, + "points": false, + "pointradius": 5, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false + }, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "cumulative", + "shared": true + }, + "targets": [ + { + "function": "mean", + "column": "value", + "series": "merge(/$controller.cpu.\\d+.user/)", + "query": "select mean(value) from merge(/$controller.cpu.\\d+.user/) where $timeFilter group by time($interval) fill(0) order asc", + "fill": "0", + "rawQuery": false, + "alias": "user" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "merge(/$controller.cpu.\\d+.idle/)", + "query": "select mean(value) from merge(/$controller.cpu.\\d+.idle/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "idle", + "fill": "0" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "merge(/$controller.cpu.\\d+.interrupt/)", + "query": "select mean(value) from merge(/$controller.cpu.\\d+.interrupt/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "interrupt", + "fill": "0" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "merge(/$controller.cpu.\\d+.nice/)", + "query": "select mean(value) from merge(/$controller.cpu.\\d+.nice/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "nice", + "fill": "0" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "merge(/$controller.cpu.\\d+.system/)", + "query": "select mean(value) from merge(/$controller.cpu.\\d+.system/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "system", + "fill": "0" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "merge(/$controller.cpu.\\d+.steal/)", + "query": "select mean(value) from merge(/$controller.cpu.\\d+.steal/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "steal", + "fill": "0" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "merge(/$controller.cpu.\\d+.wait/)", + "query": "select mean(value) from merge(/$controller.cpu.\\d+.wait/) where $timeFilter group by time($interval) fill(0) order asc", + "alias": "wait", + "fill": "0" + } + ], + "aliasColors": {}, + "seriesOverrides": [], + "links": [], + "interval": ">60s" + }, + { + "id": 21, + "span": 5, + "type": "graph", + "x-axis": true, + "y-axis": true, + "scale": 1, + "y_formats": [ + "bytes", + "short" + ], + "grid": { + "max": null, + "min": null, + "leftMax": null, + "rightMax": null, + "leftMin": 0, + "rightMin": null, + "threshold1": null, + "threshold2": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + "resolution": 100, + "lines": true, + "fill": 1, + "linewidth": 2, + "points": false, + "pointradius": 5, + "bars": false, + "stack": true, + "spyable": true, + "options": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false + }, + "interactive": true, + "legend_counts": true, + "timezone": "browser", + "percentage": false, + "nullPointMode": "connected", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "query_as_alias": true, + "shared": true + }, + "targets": [ + { + "target": "randomWalk('random walk')", + "function": "mean", + "column": "value", + "series": "$controller.memory.used", + "query": "select mean(value) from \"$controller.memory.used\" where $timeFilter group by time($interval) fill(0) order asc", + "fill": "0", + "interval": "", + "alias": "used" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "$controller.memory.buffered", + "query": "select mean(value) from \"$controller.memory.buffered\" where $timeFilter group by time($interval) fill(0) order asc", + "fill": "0", + "interval": "", + "alias": "buffered" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "$controller.memory.cached", + "query": "select mean(value) from \"$controller.memory.cached\" where $timeFilter group by time($interval) fill(0) order asc", + "fill": "0", + "interval": "", + "alias": "cached" + }, + { + "target": "", + "function": "mean", + "column": "value", + "series": "$controller.memory.free", + "query": "select mean(value) from \"$controller.memory.free\" where $timeFilter group by time($interval) fill(0) order asc", + "fill": "0", + "interval": "", + "alias": "free" + } + ], + "aliasColors": {}, + "aliasYAxis": {}, + "title": "Memory", + "datasource": "graphite", + "renderer": "flot", + "annotate": { + "enable": false + }, + "seriesOverrides": [], + "links": [], + "leftYAxisLabel": "", + "interval": ">60s" + }, + { + "title": "Free space", + "error": false, + "span": 2, + "editable": true, + "type": "singlestat", + "id": 22, + "links": [], + "maxDataPoints": 100, + "interval": ">60s", + "targets": [ + { + "function": "mean", + "column": "value", + "series": "select last(100.0*avail.value/(used.value + free.value)) from \"$server.fs.$mount.space.free\" as free inner join \"$server.fs.$mount.space.used\" as used where $timeFilter group by time($interval) order asc", + "query": "select last(100.0*free.value/(used.value + free.value)) from \"$controller.fs.root.space.free\" as free inner join \"$controller.fs.root.space.used\" as used where $timeFilter group by time($interval) order asc", + "rawQuery": true + } + ], + "cacheTimeout": null, + "format": "percent", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "5,10,15", + "colorBackground": false, + "colorValue": true, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "sparkline": { + "show": true, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + } + ], + "showTitle": true + }, + { + "title": "Ceph", + "height": "250px", + "editable": true, + "collapse": false, + "panels": [ + { + "title": "Cluster", + "error": false, + "span": 2, + "editable": true, + "type": "singlestat", + "id": 8, + "links": [ + { + "type": "dashboard", + "name": "Drilldown dashboard", + "title": "Ceph", + "dashboard": "Ceph" + } + ], + "maxDataPoints": 100, + "interval": ">60s", + "targets": [ + { + "function": "last", + "column": "value", + "series": "merge(/ceph.cluster-ceph.health/)", + "query": "select last(value) from merge(/ceph.cluster-ceph.health/) where $timeFilter group by time($interval) order asc", + "fill": "" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + }, + { + "value": "1", + "op": "=", + "text": "Healthy" + }, + { + "value": "2", + "op": "=", + "text": "Degraded" + }, + { + "value": "3", + "op": "=", + "text": "Down" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "1,2,3", + "colorBackground": true, + "colorValue": false, + "colors": [ + "rgba(71, 212, 59, 0.4)", + "rgba(245, 150, 40, 0.73)", + "rgba(225, 40, 40, 0.59)" + ], + "sparkline": { + "show": false, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "Capacity", + "error": false, + "span": 3, + "editable": true, + "type": "singlestat", + "id": 9, + "links": [], + "maxDataPoints": 100, + "interval": ">60s", + "targets": [ + { + "function": "mean", + "column": "value", + "series": "", + "rawQuery": true, + "query": "select last((avail.value * 1.0) / (total.value) * 100) from \"$controller.ceph.cluster-ceph.pool.total_avail_bytes\" as avail inner join \"$controller.ceph.cluster-ceph.pool.total_bytes\" as total where time > now() - 15m group by time(60) order asc", + "alias": "", + "interval": "" + } + ], + "cacheTimeout": null, + "format": "percent", + "prefix": "", + "postfix": " free", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "", + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "sparkline": { + "show": true, + "full": true, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "", + "error": false, + "span": 3, + "editable": true, + "type": "singlestat", + "id": 26, + "links": [], + "maxDataPoints": 100, + "interval": "60s", + "targets": [ + { + "function": "sum", + "column": "value", + "series": "merge(/$controller.ceph.cluster-ceph.pool.*.objects/)", + "query": "select sum(value) from merge(/$controller.ceph.cluster-ceph.pool.*.objects/) where $timeFilter group by time($interval) order asc", + "rawQuery": false + } + ], + "cacheTimeout": null, + "format": "short", + "prefix": "", + "postfix": " objects", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "", + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "sparkline": { + "show": true, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "OSDs up", + "error": false, + "span": 2, + "editable": true, + "type": "singlestat", + "id": 24, + "links": [], + "maxDataPoints": 100, + "interval": null, + "targets": [ + { + "function": "last", + "column": "value", + "series": "/$controller.ceph.cluster-ceph.osd.up/", + "query": "select last(value) from /$controller.ceph.cluster-ceph.osd.up/ where $timeFilter group by time($interval) order asc" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "", + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "sparkline": { + "show": true, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + }, + { + "title": "OSDs down", + "error": false, + "span": 2, + "editable": true, + "type": "singlestat", + "id": 25, + "links": [], + "maxDataPoints": 100, + "interval": null, + "targets": [ + { + "function": "last", + "column": "value", + "series": "/$controller.ceph.cluster-ceph.osd.down/", + "query": "select last(value) from /$controller.ceph.cluster-ceph.osd.down/ where $timeFilter group by time($interval) order asc" + } + ], + "cacheTimeout": null, + "format": "none", + "prefix": "", + "postfix": "", + "nullText": null, + "valueMaps": [ + { + "value": "null", + "op": "=", + "text": "N/A" + } + ], + "nullPointMode": "connected", + "valueName": "current", + "prefixFontSize": "50%", + "valueFontSize": "80%", + "postfixFontSize": "50%", + "thresholds": "", + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "sparkline": { + "show": true, + "full": false, + "lineColor": "rgb(31, 120, 193)", + "fillColor": "rgba(31, 118, 189, 0.18)" + } + } + ], + "showTitle": true + } + ], + "nav": [ + { + "type": "timepicker", + "enable": true, + "status": "Stable", + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ], + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "now": true, + "collapse": false, + "notice": false + } + ], + "time": { + "from": "now-1h", + "to": "now" + }, + "templating": { + "list": [ + { + "type": "query", + "datasource": null, + "refresh_on_load": false, + "name": "controller", + "options": [ + ], + "includeAll": false, + "allFormat": "regex values", + "query": "list series /openstack.keystone.check_api/", + "regex": "/^([^.]+)/", + "current": { + } + } + ], + "enable": true + }, + "annotations": { + "list": [] + }, + "refresh": "1m", + "version": 6, + "hideAllLegends": false +}