diff options
author | Ernesto Puerta <37327689+epuertat@users.noreply.github.com> | 2021-06-25 20:45:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-25 20:45:28 +0200 |
commit | 62e3a5c41c246479c41e1360358cc2f88b99d33e (patch) | |
tree | fe876657b960d326354d4be0c7b819f582be4383 | |
parent | Merge pull request #41721 from aaryanporwal/telemetry-ident-fix (diff) | |
parent | monitoring: remove instance label from ceph-cluster.json completely (diff) | |
download | ceph-62e3a5c41c246479c41e1360358cc2f88b99d33e.tar.xz ceph-62e3a5c41c246479c41e1360358cc2f88b99d33e.zip |
Merge pull request #41838 from p-se/grafana-clean-up
monitoring: Clean up Grafana dashboards
Reviewed-by: Alfonso MartÃnez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: jan--f <NOT@FOUND>
Reviewed-by: p-se <NOT@FOUND>
Reviewed-by: Paul Cuzner <pcuzner@redhat.com>
-rw-r--r-- | monitoring/grafana/dashboards/ceph-cluster.json | 68 | ||||
-rw-r--r-- | monitoring/grafana/dashboards/host-details.json | 2 | ||||
-rw-r--r-- | monitoring/grafana/dashboards/pool-detail.json | 2 | ||||
-rw-r--r-- | monitoring/grafana/dashboards/pool-overview.json | 2 | ||||
-rw-r--r-- | monitoring/grafana/dashboards/rbd-details.json | 818 | ||||
-rw-r--r-- | src/pybind/mgr/dashboard/ci/check_grafana_dashboards.py (renamed from src/pybind/mgr/dashboard/ci/check_grafana_uids.py) | 4 | ||||
-rw-r--r-- | src/pybind/mgr/dashboard/tox.ini | 2 |
7 files changed, 440 insertions, 458 deletions
diff --git a/monitoring/grafana/dashboards/ceph-cluster.json b/monitoring/grafana/dashboards/ceph-cluster.json index 447dbb29322..61a425d09f2 100644 --- a/monitoring/grafana/dashboards/ceph-cluster.json +++ b/monitoring/grafana/dashboards/ceph-cluster.json @@ -107,8 +107,9 @@ "tableColumn": "", "targets": [ { - "expr": "ceph_health_status{instance=~'$instance'}", + "expr": "ceph_health_status", "format": "time_series", + "instant": true, "interval": "$interval", "intervalFactor": 1, "refId": "A", @@ -174,7 +175,7 @@ "displayAliasType": "Always", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "count(ceph_osd_metadata{instance=~\"$instance\"})", + "expr": "count(ceph_osd_metadata)", "format": "time_series", "intervalFactor": 1, "legendFormat": "All", @@ -189,7 +190,7 @@ "displayAliasType": "Always", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "sum(ceph_osds_in{instance=~\"$instance\"})", + "expr": "sum(ceph_osds_in)", "format": "time_series", "intervalFactor": 1, "legendFormat": "In", @@ -204,7 +205,7 @@ "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "sum(ceph_osd_in{instance=~\"$instance\"} == bool 0)", + "expr": "sum(ceph_osd_in == bool 0)", "format": "time_series", "interval": "", "intervalFactor": 1, @@ -221,7 +222,7 @@ "displayAliasType": "Always", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "sum(ceph_osd_up{instance=~\"$instance\"})", + "expr": "sum(ceph_osd_up)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Up", @@ -237,7 +238,7 @@ "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "sum(ceph_osd_up{instance=~\"$instance\"} == bool 0)", + "expr": "sum(ceph_osd_up == bool 0)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Down", @@ -312,7 +313,7 @@ "tableColumn": "", "targets": [ { - "expr": "sum(ceph_osd_stat_bytes_used{instance=~\"$instance\"})/sum(ceph_osd_stat_bytes{instance=~\"$instance\"})", + "expr": "sum(ceph_osd_stat_bytes_used)/sum(ceph_osd_stat_bytes)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Used", @@ -530,28 +531,28 @@ "steppedLine": false, "targets": [ { - "expr": "quantile(0.95, ceph_osd_apply_latency_ms{instance=~\"$instance\"})", + "expr": "quantile(0.95, ceph_osd_apply_latency_ms)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Apply Latency P_95", "refId": "A" }, { - "expr": "quantile(0.95, ceph_osd_commit_latency_ms{instance=~\"$instance\"})", + "expr": "quantile(0.95, ceph_osd_commit_latency_ms)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Commit Latency P_95", "refId": "B" }, { - "expr": "avg(ceph_osd_apply_latency_ms{instance=~\"$instance\"})", + "expr": "avg(ceph_osd_apply_latency_ms)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Avg Apply Latency", "refId": "C" }, { - "expr": "avg(ceph_osd_commit_latency_ms{instance=~\"$instance\"})", + "expr": "avg(ceph_osd_commit_latency_ms)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Avg Commit Latency", @@ -629,7 +630,7 @@ "displayAliasType": "Always", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "sum(ceph_mon_quorum_status{instance=~\"$instance\"})", + "expr": "sum(ceph_mon_quorum_status)", "format": "time_series", "interval": "", "intervalFactor": 1, @@ -646,7 +647,7 @@ "displayAliasType": "Always", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "count(ceph_mon_quorum_status{instance=~\"$instance\"})", + "expr": "count(ceph_mon_quorum_status)", "format": "time_series", "intervalFactor": 1, "legendFormat": "Total", @@ -663,7 +664,7 @@ "displayAliasType": "Warning / Critical", "displayType": "Annotation", "displayValueWithAlias": "Never", - "expr": "count(ceph_mon_quorum_status{instance=~\"$instance\"}) / sum(ceph_mon_quorum_status{instance=~\"$instance\"})", + "expr": "count(ceph_mon_quorum_status) / sum(ceph_mon_quorum_status)", "format": "time_series", "intervalFactor": 1, "legendFormat": "MONs out of Quorum", @@ -710,7 +711,7 @@ "displayAliasType": "Always", "displayType": "Regular", "displayValueWithAlias": "When Alias Displayed", - "expr": "ceph_mds_server_handle_client_session{instance=~\"$instance\"}", + "expr": "ceph_mds_server_handle_client_session", "format": "time_series", "intervalFactor": 1, "legendFormat": "Clients", @@ -764,14 +765,14 @@ "steppedLine": false, "targets": [ { - "expr": "sum(irate(ceph_osd_op_w_in_bytes{instance=~\"$instance\"}[1m]))", + "expr": "sum(irate(ceph_osd_op_w_in_bytes[1m]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "Writes", "refId": "A" }, { - "expr": "sum(irate(ceph_osd_op_r_out_bytes{instance=~\"$instance\"}[1m]))", + "expr": "sum(irate(ceph_osd_op_r_out_bytes[1m]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "Reads", @@ -851,7 +852,7 @@ "steppedLine": false, "targets": [ { - "expr": "sum(deriv(ceph_pool_stored{instance=~\"$instance\"}[1m]))", + "expr": "sum(deriv(ceph_pool_stored[1m]))", "format": "time_series", "intervalFactor": 1, "refId": "A" @@ -924,7 +925,7 @@ "span": 12, "targets": [ { - "expr": "ceph_osd_stat_bytes_used{instance=~'$instance'} / ceph_osd_stat_bytes{instance=~'$instance'}", + "expr": "ceph_osd_stat_bytes_used / ceph_osd_stat_bytes", "format": "time_series", "interval": "1m", "intervalFactor": 1, @@ -946,7 +947,7 @@ "xBucketNumber": null, "xBucketSize": "", "yAxis": { - "decimals": null, + "decimals": 2, "format": "percentunit", "logBase": 1, "max": null, @@ -986,7 +987,7 @@ "links": [], "targets": [ { - "expr": "ceph_osd_numpg{instance=~\"$instance\"}", + "expr": "ceph_osd_numpg", "format": "time_series", "intervalFactor": 1, "legendFormat": "#PGs", @@ -1190,29 +1191,6 @@ "query": "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d", "refresh": 2, "type": "interval" - }, - { - "allFormat": "glob", - "allValue": null, - "current": {}, - "datasource": "$datasource", - "hide": 0, - "hideLabel": false, - "includeAll": true, - "label": "Exporter Instance", - "multi": false, - "multiFormat": "glob", - "name": "instance", - "options": [], - "query": "label_values(ceph_health_status, instance)", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false } ] }, @@ -1245,7 +1223,7 @@ "30d" ] }, - "timezone": "browser", + "timezone": "", "title": "Ceph - Cluster", "version": 13 } diff --git a/monitoring/grafana/dashboards/host-details.json b/monitoring/grafana/dashboards/host-details.json index 88185a95a15..b002ad2f09d 100644 --- a/monitoring/grafana/dashboards/host-details.json +++ b/monitoring/grafana/dashboards/host-details.json @@ -1208,7 +1208,7 @@ "30d" ] }, - "timezone": "browser", + "timezone": "", "title": "Host Details", "uid": "rtOg0AiWz", "version": 4 diff --git a/monitoring/grafana/dashboards/pool-detail.json b/monitoring/grafana/dashboards/pool-detail.json index 41554ed3068..dd6bc3927fa 100644 --- a/monitoring/grafana/dashboards/pool-detail.json +++ b/monitoring/grafana/dashboards/pool-detail.json @@ -658,7 +658,7 @@ "30d" ] }, - "timezone": "browser", + "timezone": "", "title": "Ceph Pool Details", "uid": "-xyV8KCiz", "version": 1 diff --git a/monitoring/grafana/dashboards/pool-overview.json b/monitoring/grafana/dashboards/pool-overview.json index cd699348b07..c405f6075e1 100644 --- a/monitoring/grafana/dashboards/pool-overview.json +++ b/monitoring/grafana/dashboards/pool-overview.json @@ -1554,7 +1554,7 @@ "30d" ] }, - "timezone": "browser", + "timezone": "", "title": "Ceph Pools Overview", "uid": "z99hzWtmk", "variables": { diff --git a/monitoring/grafana/dashboards/rbd-details.json b/monitoring/grafana/dashboards/rbd-details.json index 68fffad1ed0..59932a5ee05 100644 --- a/monitoring/grafana/dashboards/rbd-details.json +++ b/monitoring/grafana/dashboards/rbd-details.json @@ -1,409 +1,409 @@ -{
- "__inputs": [],
- "__requires": [
- {
- "type": "grafana",
- "id": "grafana",
- "name": "Grafana",
- "version": "5.3.3"
- },
- {
- "type": "panel",
- "id": "graph",
- "name": "Graph",
- "version": "5.0.0"
- }
- ],
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "description": "Detailed Performance of RBD Images (IOPS/Throughput/Latency)",
- "editable": false,
- "gnetId": null,
- "graphTooltip": 0,
- "id": null,
- "iteration": 1584428820779,
- "links": [],
- "panels": [
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$Datasource",
- "fill": 1,
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 0,
- "y": 0
- },
- "id": 6,
- "legend": {
- "avg": false,
- "current": false,
- "hideEmpty": false,
- "hideZero": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "irate(ceph_rbd_write_ops{pool=\"$Pool\", image=\"$Image\"}[30s])",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Write",
- "refId": "A"
- },
- {
- "expr": "irate(ceph_rbd_read_ops{pool=\"$Pool\", image=\"$Image\"}[30s])",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Read",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "IOPS",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "iops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "iops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": true,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$Datasource",
- "fill": 1,
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 8,
- "y": 0
- },
- "id": 4,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "irate(ceph_rbd_write_bytes{pool=\"$Pool\", image=\"$Image\"}[30s])",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Write",
- "refId": "A"
- },
- {
- "expr": "irate(ceph_rbd_read_bytes{pool=\"$Pool\", image=\"$Image\"}[30s])",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Read",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "Throughput",
- "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": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": true,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$Datasource",
- "fill": 1,
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 16,
- "y": 0
- },
- "id": 2,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "irate(ceph_rbd_write_latency_sum{pool=\"$Pool\", image=\"$Image\"}[30s]) / irate(ceph_rbd_write_latency_count{pool=\"$Pool\", image=\"$Image\"}[30s])",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Write",
- "refId": "A"
- },
- {
- "expr": "irate(ceph_rbd_read_latency_sum{pool=\"$Pool\", image=\"$Image\"}[30s]) / irate(ceph_rbd_read_latency_count{pool=\"$Pool\", image=\"$Image\"}[30s])",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Read",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Latency",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "ns",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "ns",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": true,
- "alignLevel": null
- }
- }
- ],
- "refresh": false,
- "schemaVersion": 16,
- "style": "dark",
- "tags": [],
- "templating": {
- "list": [
- {
- "current": {},
- "hide": 0,
- "label": null,
- "name": "Datasource",
- "options": [],
- "query": "prometheus",
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "type": "datasource"
- },
- {
- "allValue": null,
- "current": {},
- "datasource": "$Datasource",
- "hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "Pool",
- "options": [],
- "query": "label_values(pool)",
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
- {
- "allValue": null,
- "current": {},
- "datasource": "$Datasource",
- "hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "Image",
- "options": [],
- "query": "label_values(image)",
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "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": "RBD Details",
- "uid": "YhCYGcuZz",
- "version": 7
-}
\ No newline at end of file +{ + "__inputs": [], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "5.3.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "5.0.0" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Detailed Performance of RBD Images (IOPS/Throughput/Latency)", + "editable": false, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1584428820779, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$Datasource", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 0 + }, + "id": 6, + "legend": { + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null as zero", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(ceph_rbd_write_ops{pool=\"$Pool\", image=\"$Image\"}[30s])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Write", + "refId": "A" + }, + { + "expr": "irate(ceph_rbd_read_ops{pool=\"$Pool\", image=\"$Image\"}[30s])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Read", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "IOPS", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "iops", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "iops", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": true, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$Datasource", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 0 + }, + "id": 4, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null as zero", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(ceph_rbd_write_bytes{pool=\"$Pool\", image=\"$Image\"}[30s])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Write", + "refId": "A" + }, + { + "expr": "irate(ceph_rbd_read_bytes{pool=\"$Pool\", image=\"$Image\"}[30s])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Read", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Throughput", + "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": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": true, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$Datasource", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 0 + }, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null as zero", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(ceph_rbd_write_latency_sum{pool=\"$Pool\", image=\"$Image\"}[30s]) / irate(ceph_rbd_write_latency_count{pool=\"$Pool\", image=\"$Image\"}[30s])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Write", + "refId": "A" + }, + { + "expr": "irate(ceph_rbd_read_latency_sum{pool=\"$Pool\", image=\"$Image\"}[30s]) / irate(ceph_rbd_read_latency_count{pool=\"$Pool\", image=\"$Image\"}[30s])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Read", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Average Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": true, + "alignLevel": null + } + } + ], + "refresh": false, + "schemaVersion": 16, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": {}, + "hide": 0, + "label": null, + "name": "Datasource", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "allValue": null, + "current": {}, + "datasource": "$Datasource", + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Pool", + "options": [], + "query": "label_values(pool)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$Datasource", + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Image", + "options": [], + "query": "label_values(image)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "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": "RBD Details", + "uid": "YhCYGcuZz", + "version": 7 +} diff --git a/src/pybind/mgr/dashboard/ci/check_grafana_uids.py b/src/pybind/mgr/dashboard/ci/check_grafana_dashboards.py index 250fb8bad48..47e553c84e5 100644 --- a/src/pybind/mgr/dashboard/ci/check_grafana_uids.py +++ b/src/pybind/mgr/dashboard/ci/check_grafana_dashboards.py @@ -79,6 +79,10 @@ def get_grafana_dashboards(base_dir): assert dashboard_config['id'] is None, \ "'id' not null: '{}'".format(dashboard_config['id']) + assert 'timezone' not in dashboard_config or dashboard_config['timezone'] == '', \ + ("'timezone' field must not be set to anything but an empty string or be " + "omitted completely") + # Grafana dashboard checks title = dashboard_config['title'] assert len(title) > 0, \ diff --git a/src/pybind/mgr/dashboard/tox.ini b/src/pybind/mgr/dashboard/tox.ini index 1cda4c45acd..50224bb8f65 100644 --- a/src/pybind/mgr/dashboard/tox.ini +++ b/src/pybind/mgr/dashboard/tox.ini @@ -154,7 +154,7 @@ commands = [testenv:check] commands = - python ci/check_grafana_uids.py frontend/src/app ../../../../monitoring/grafana/dashboards + python ci/check_grafana_dashboards.py frontend/src/app ../../../../monitoring/grafana/dashboards [testenv:openapi-{check,fix}] basepython = python3 |