diff --git a/grafana/files/dashboards/nova/openstack_tenants_prometheus.json b/grafana/files/dashboards/nova/openstack_tenants_prometheus.json new file mode 100644 index 0000000..9259ac5 --- /dev/null +++ b/grafana/files/dashboards/nova/openstack_tenants_prometheus.json @@ -0,0 +1,991 @@ +{%- raw %} +{ + "annotations": { + "list": [ + { + "$$hashKey": "object:3956", + "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, + "id": null, + "iteration": 1536224134023, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 38, + "panels": [], + "title": "Projects overview @ $project", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 36, + "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": [ + { + "$$hashKey": "object:4031", + "expr": "sum(libvirt_domain_info_virtual_cpus{environment=\"$environment\",project_name=~\"$project\"}) by (project_name)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{project_name}} total", + "refId": "A" + }, + { + "$$hashKey": "object:4032", + "expr": "sum(rate(libvirt_domain_info_cpu_time_seconds_total{environment=\"$environment\",project_name=~\"$project\"}[$rate_interval])) by (project_name)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{project_name}} usage", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "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": [ + { + "decimals": null, + "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, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 39, + "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(libvirt_domain_info_memory_usage_bytes{environment=\"$environment\",project_name=~\"$project\"}) by (project_name)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{project_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Memory Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 6 + }, + "id": 40, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "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(rate(libvirt_domain_block_stats_read_bytes_total{environment=\"$environment\",project_name=~\"$project\"}[$rate_interval])) by (project_name)", + "format": "time_series", + "instant": false, + "intervalFactor": 2, + "legendFormat": "{{project_name}} read", + "refId": "A" + }, + { + "expr": "sum(rate(libvirt_domain_block_stats_write_bytes_total{environment=\"$environment\",project_name=~\"$project\"}[$rate_interval])) by (project_name)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{project_name}} write", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Disks I/O", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 6 + }, + "id": 41, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "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": [ + { + "alias": "/tx.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(libvirt_domain_interface_stats_receive_bytes_total{environment=\"$environment\",project_name=~\"$project\"}[$rate_interval])) by (project_name)", + "format": "time_series", + "instant": false, + "intervalFactor": 2, + "legendFormat": "{{project_name}} rx", + "refId": "A" + }, + { + "expr": "sum(rate(libvirt_domain_interface_stats_transmit_bytes_total{environment=\"$environment\",project_name=~\"$project\"}[$rate_interval])) by (project_name)", + "format": "time_series", + "instant": false, + "intervalFactor": 2, + "legendFormat": "{{project_name}} tx", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Network RX/TX", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 11 + }, + "id": 43, + "panels": [], + "title": "Users overview @ $user", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 12 + }, + "id": 44, + "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": [ + { + "$$hashKey": "object:4174", + "expr": "sum(libvirt_domain_info_virtual_cpus{environment=\"$environment\",project_name=~\"$project\",user_name=~\"$user\"}) by (user_name)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{user_name}} total", + "refId": "A" + }, + { + "$$hashKey": "object:4196", + "expr": "sum(rate(libvirt_domain_info_cpu_time_seconds_total{environment=\"$environment\",project_name=~\"$project\",user_name=~\"$user\"}[$rate_interval])) by (user_name)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{user_name}} usage", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "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": [ + { + "decimals": null, + "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, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 12 + }, + "id": 45, + "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(libvirt_domain_info_memory_usage_bytes{environment=\"$environment\",project_name=~\"$project\",user_name=~\"$user\"}) by (user_name)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{user_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Memory Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 17 + }, + "id": 46, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "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(rate(libvirt_domain_block_stats_read_bytes_total{environment=\"$environment\",project_name=~\"$project\",user_name=~\"$user\"}[$rate_interval])) by (user_name)", + "format": "time_series", + "instant": false, + "intervalFactor": 2, + "legendFormat": "{{user_name}} read", + "refId": "A" + }, + { + "expr": "sum(rate(libvirt_domain_block_stats_write_bytes_total{environment=\"$environment\",project_name=~\"$project\",user_name=~\"$user\"}[$rate_interval])) by (user_name)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{user_name}} write", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Disks I/O", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 17 + }, + "id": 47, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "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": [ + { + "alias": "/tx.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(libvirt_domain_interface_stats_receive_bytes_total{environment=\"$environment\",project_name=~\"$project\",user_name=~\"$user\"}[$rate_interval])) by (user_name)", + "format": "time_series", + "instant": false, + "intervalFactor": 2, + "legendFormat": "{{user_name}} rx", + "refId": "A" + }, + { + "expr": "sum(rate(libvirt_domain_interface_stats_transmit_bytes_total{environment=\"$environment\",project_name=~\"$project\",user_name=~\"$user\"}[$rate_interval])) by (user_name)", + "format": "time_series", + "instant": false, + "intervalFactor": 2, + "legendFormat": "{{user_name}} tx", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Network RX/TX", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "1m", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "openstack" + ], + "templating": { + "list": [ + { + "allValue": null, + "current": null, + "datasource": "prometheus", + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "environment", + "options": [], + "query": "label_values(environment)", + "refresh": 1, + "regex": "", + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "admin", + "value": [ + "admin" + ] + }, + "datasource": "prometheus", + "hide": 0, + "includeAll": false, + "label": null, + "multi": true, + "name": "project", + "options": [], + "query": "label_values(libvirt_domain_info_virtual_cpus{environment=\"$environment\"},project_name)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "tags": [], + "text": "admin", + "value": [ + "admin" + ] + }, + "datasource": "prometheus", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "user", + "options": [], + "query": "label_values(libvirt_domain_info_virtual_cpus{environment=\"$environment\",project_name=~\"$project\"},user_name)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "3m", + "value": "3m" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "rate_interval", + "options": [ + { + "$$hashKey": "object:4409", + "selected": false, + "text": "1m", + "value": "1m" + }, + { + "$$hashKey": "object:4410", + "selected": true, + "text": "3m", + "value": "3m" + }, + { + "$$hashKey": "object:4411", + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "$$hashKey": "object:4412", + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "$$hashKey": "object:4413", + "selected": false, + "text": "15m", + "value": "15m" + } + ], + "query": "1m,3m,5m,10m,15m", + "type": "custom" + } + ] + }, + "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": "Openstack - Tenants", + "uid": null, + "version": 1 +} +{%- endraw %} diff --git a/metadata/service/client/dashboards/openstack/nova.yml b/metadata/service/client/dashboards/openstack/nova.yml index c883e12..8cf69a0 100644 --- a/metadata/service/client/dashboards/openstack/nova.yml +++ b/metadata/service/client/dashboards/openstack/nova.yml @@ -26,3 +26,7 @@ parameters: datasource: prometheus format: json template: grafana/files/dashboards/nova/openstack_overview_prometheus.json + openstack_tenants_prometheus: + datasource: prometheus + format: json + template: grafana/files/dashboards/nova/openstack_tenants_prometheus.json