I’m facing the following if I try to show a legend blow a graph in tabular form. My read is that this might be a Bug.
Any suggestions?
I’ve a dashboard that should be layouted like this:
This works, as long as I don’t display the legend as table below the graph. It works if I place it to the right.
With legend below it looks like this:
Tested with 4.5.2 and 4.6.1
Dashboard JSON:
JSON
{
“__inputs”: [
{
“name”: “DS_BVQ@LOCALHOST”,
“label”: “bvq@localhost”,
“description”: “”,
“type”: “datasource”,
“pluginId”: “bvq-grafana-datasource”,
“pluginName”: “BVQ”
}
],
“__requires”: [
{
“type”: “datasource”,
“id”: “bvq-grafana-datasource”,
“name”: “BVQ”,
“version”: “1.0.0”
},
{
“type”: “grafana”,
“id”: “grafana”,
“name”: “Grafana”,
“version”: “4.6.1”
},
{
“type”: “panel”,
“id”: “graph”,
“name”: “Graph”,
“version”: “”
},
{
“type”: “panel”,
“id”: “table”,
“name”: “Table”,
“version”: “”
},
{
“type”: “panel”,
“id”: “text”,
“name”: “Text”,
“version”: “”
}
],
“annotations”: {
“list”: [
{
“builtIn”: 1,
“datasource”: “-- Grafana --”,
“enable”: true,
“hide”: true,
“iconColor”: “rgba(0, 211, 255, 1)”,
“name”: “Annotations & Alerts”,
“type”: “dashboard”
},
{
“datasource”: “${DS_BVQ@LOCALHOST}”,
“enable”: true,
“iconColor”: “rgba(255, 96, 96, 1)”,
“limit”: 100,
“name”: “Events”,
“query”: “origin=$svc_cluster”,
“showIn”: 0,
“source”: “event_log”,
“type”: “alert”,
“types”: [
“alert”
]
}
]
},
“description”: “* This dashboard provides a general overview of the overall cluster performance * Use the Dropdowns to filter down the results where possible * Each Panel has it’s own additional help text”,
“editable”: true,
“gnetId”: null,
“graphTooltip”: 1,
“hideControls”: true,
“id”: null,
“links”: [
{
“asDropdown”: true,
“icon”: “external link”,
“includeVars”: true,
“keepTime”: true,
“tags”: [
“detail”
],
“targetBlank”: true,
“title”: “Drilldown”,
“type”: “dashboards”
},
{
“asDropdown”: false,
“icon”: “external link”,
“tags”: [
“Help”
],
“targetBlank”: true,
“type”: “dashboards”,
“url”: “h”
}
],
“refresh”: “1m”,
“rows”: [
{
“collapse”: false,
“height”: 292,
“panels”: [
{
“aliasColors”: {
“svc1 - VDisk - Latency: R&W”: “#BF1B00”,
“svc1 - VDisk - Scsi Layer: IO rate R+W”: “#629E51”
},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “${DS_BVQ@LOCALHOST}”,
“description”: “High latency peaks are typical indications for overload situations.\n\nChart shows aggregated average R&W IO rate and latency of all volumes related to selected objects.\n * Events are displayed as vertical lines\n\n#### Selection\n* Filtered on SVC Cluster”,
“fill”: 0,
“height”: “300px”,
“id”: 2,
“interval”: “$interval”,
“legend”: {
“alignAsTable”: true,
“avg”: true,
“current”: true,
“max”: true,
“min”: false,
“show”: true,
“sort”: “avg”,
“sortDesc”: true,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 2,
“links”: ,
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 1,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: [
{
“alias”: “/^.Latency R&W.$/”,
“bars”: true,
“color”: “#BF1B00”,
“lines”: false,
“yaxis”: 2,
“zindex”: -1
},
{
“alias”: “/^.IO rate R\+W.$/”,
“color”: “#7EB26D”
}
],
“spaceLength”: 10,
“span”: 6,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“refId”: “A”,
“target”: {
“identifier”: “$svc_cluster”,
“metricType”: “OPS_READWRITE”,
“performanceType”: “vdisk”
},
“type”: “timeseries”
},
{
“refId”: “B”,
“target”: {
“identifier”: “$svc_cluster”,
“metricType”: “RESPONSE_OVERALL_CUM”,
“performanceType”: “vdisk”
},
“type”: “timeseries”
}
],
“thresholds”: ,
“timeFrom”: null,
“timeShift”: null,
“title”: “Total Volume FE Load”,
“tooltip”: {
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“transparent”: false,
“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”: “ms”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: “0”,
“show”: true
}
]
},
{
“aliasColors”: {
“svc1 - Node CPU - system CPU %”: “#70DBED”
},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “${DS_BVQ@LOCALHOST}”,
“description”: “Shows the total utilization of Node CPUs:\n * utilization of the most loaded CPU per interval\n This should not go higher than 90%.\n\n#### Selection\n* Filtered on SVC Cluster”,
“fill”: 0,
“height”: “300px”,
“id”: 17,
“interval”: “$interval”,
“legend”: {
“alignAsTable”: true,
“avg”: true,
“current”: true,
“max”: true,
“min”: false,
“rightSide”: false,
“show”: false,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 1,
“links”: ,
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: ,
“spaceLength”: 10,
“span”: 6,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“refId”: “A”,
“target”: {
“identifier”: “$node”,
“metricType”: “CPU_BUSY”,
“performanceType”: “node”
},
“type”: “timeseries”
}
],
“thresholds”: [
{
“colorMode”: “warning”,
“fill”: true,
“line”: false,
“op”: “gt”,
“value”: 70
}
],
“timeFrom”: null,
“timeShift”: null,
“title”: “Total Node CPU utilization”,
“tooltip”: {
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”:
},
“yaxes”: [
{
“format”: “percent”,
“label”: “”,
“logBase”: 1,
“max”: “100”,
“min”: “0”,
“show”: true
},
{
“format”: “short”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
}
]
},
{
“aliasColors”: {
“svc1 - MDisk - IO rate R+W”: “#7EB26D”,
“svc1 - MDisk - Latency: avg”: “#BF1B00”
},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “${DS_BVQ@LOCALHOST}”,
“description”: “Chart shows aggregated average R&W IO rate and latency of all MDisks related to selected objects.\n * Events are displayed as vertical lines\n\n#### Selection\n* Filtered on SVC Cluster”,
“fill”: 0,
“height”: “300px”,
“id”: 3,
“interval”: “$interval”,
“legend”: {
“alignAsTable”: true,
“avg”: true,
“current”: true,
“max”: true,
“min”: false,
“show”: true,
“sort”: “avg”,
“sortDesc”: true,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 2,
“links”: ,
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: [
{
“alias”: “/^.Latency RQ&WQ$/”,
“bars”: true,
“color”: “#BF1B00”,
“lines”: false,
“yaxis”: 2,
“zindex”: -1
},
{
“alias”: “/^.IO rate R\+W./”,
“color”: “#7EB26D”
}
],
“spaceLength”: 10,
“span”: 6,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“refId”: “A”,
“target”: {
“identifier”: “$svc_cluster”,
“metricType”: “OPS_READWRITE”,
“performanceType”: “mdisk”
},
“type”: “timeseries”
},
{
“hide”: false,
“refId”: “B”,
“target”: {
“identifier”: “$svc_cluster”,
“metricType”: “LATENCY_QUEUED_READWRITE”,
“performanceType”: “mdisk”
},
“type”: “timeseries”
}
],
“thresholds”: ,
“timeFrom”: null,
“timeShift”: null,
“title”: “Total MDisk BE Load”,
“tooltip”: {
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“transparent”: false,
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”:
},
“yaxes”: [
{
“format”: “iops”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
},
{
“format”: “ms”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
}
]
},
{
“aliasColors”: {},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “${DS_BVQ@LOCALHOST}”,
“description”: “Shows the lower cache maximum fullness of each node.\n\nOutbreaks above limits indicate a front end write load being too high for a back end not being able to keep up with that. The difficulty to destage cache contents in time lead to an overfilled write cache and this leads to high front end latencies.\n\nLimits:\n * Max utilization should stay below 80%”,
“fill”: 0,
“height”: “300px”,
“id”: 11,
“interval”: “$interval”,
“legend”: {
“alignAsTable”: true,
“avg”: false,
“current”: false,
“max”: true,
“min”: false,
“rightSide”: true,
“show”: false,
“sort”: “max”,
“sortDesc”: true,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 1,
“links”: ,
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: [
{
“alias”: “/^.min.$/”,
“color”: “#3F6833”
},
{
“alias”: “/^.max.$/”,
“color”: “#7EB26D”
}
],
“spaceLength”: 10,
“span”: 6,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“hide”: true,
“refId”: “A”,
“target”: {
“identifier”: “$node”,
“metricType”: “LC_FU_WRITE_MIN”,
“performanceType”: “node”
},
“type”: “timeseries”
},
{
“hide”: false,
“refId”: “B”,
“target”: {
“identifier”: “$node”,
“metricType”: “LC_FU_WRITE_MAX”,
“performanceType”: “node”
},
“type”: “timeseries”
}
],
“thresholds”: [
{
“colorMode”: “critical”,
“fill”: true,
“fillColor”: “rgb(233, 120, 0)”,
“line”: false,
“op”: “gt”,
“value”: 80
},
{
“colorMode”: “warning”,
“fill”: false,
“fillColor”: “rgb(132, 251, 153)”,
“line”: false,
“op”: “lt”,
“value”: 35
}
],
“timeFrom”: null,
“timeShift”: null,
“title”: “Node cache fullness (max)”,
“tooltip”: {
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“transparent”: false,
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”:
},
“yaxes”: [
{
“format”: “percent”,
“label”: null,
“logBase”: 1,
“max”: “100”,
“min”: “0”,
“show”: true
},
{
“format”: “short”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: false
}
]
},
{
“columns”: ,
“datasource”: “${DS_BVQ@LOCALHOST}”,
“description”: “Display all errors occurred on the selected cluster\n* Results are only shown if the Events checkbox is checked and an error occurred in the visible timeframe”,
“fontSize”: “80%”,
“height”: “300px”,
“id”: 13,
“links”: ,
“pageSize”: null,
“scroll”: true,
“showHeader”: true,
“sort”: {
“col”: 0,
“desc”: true
},
“span”: 6,
“styles”: [
{
“alias”: “Time”,
“dateFormat”: “YYYY-MM-DD HH:mm:ss”,
“pattern”: “Time”,
“type”: “date”
},
{
“alias”: “Object”,
“colorMode”: null,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(50, 172, 45, 0.97)”
],
“dateFormat”: “YYYY-MM-DD HH:mm:ss”,
“decimals”: 2,
“link”: false,
“pattern”: “Title”,
“sanitize”: false,
“thresholds”: ,
“type”: “string”,
“unit”: “short”
},
{
“alias”: “Message”,
“colorMode”: null,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(50, 172, 45, 0.97)”
],
“dateFormat”: “YYYY-MM-DD HH:mm:ss”,
“decimals”: 2,
“pattern”: “Text”,
“thresholds”: ,
“type”: “string”,
“unit”: “short”
},
{
“alias”: “Severity”,
“colorMode”: null,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(50, 172, 45, 0.97)”
],
“dateFormat”: “YYYY-MM-DD HH:mm:ss”,
“decimals”: 2,
“pattern”: “Tags”,
“thresholds”: ,
“type”: “string”,
“unit”: “short”
},
{
“alias”: “”,
“colorMode”: null,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(50, 172, 45, 0.97)”
],
“decimals”: 2,
“pattern”: “/./",
“sanitize”: false,
“thresholds”: [],
“type”: “string”,
“unit”: “short”
}
],
“targets”: [
{
“hide”: true,
“refId”: “A”,
“target”: {
“identifier”: “$svc_cluster”,
“metricType”: “CPU_SYSTEM”,
“performanceType”: “node_cpu_core”
},
“type”: “timeseries”
}
],
“title”: “Errors”,
“transform”: “annotations”,
“type”: “table”
},
{
“aliasColors”: {},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “${DS_BVQ@LOCALHOST}”,
“description”: "Shows the average data rate received & sent of each node related to the selected objects. \n\n#### Selection\n Filtered on Node”,
“fill”: 0,
“height”: “300px”,
“id”: 9,
“interval”: “$interval”,
“legend”: {
“alignAsTable”: false,
“avg”: false,
“current”: false,
“hideEmpty”: true,
“hideZero”: true,
“max”: false,
“min”: false,
“rightSide”: false,
“show”: false,
“sideWidth”: null,
“sort”: “max”,
“sortDesc”: true,
“total”: false,
“values”: false
},
“lines”: true,
“linewidth”: 1,
“links”: ,
“minSpan”: 12,
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: [
{
“alias”: “/^.sent.$/”,
“transform”: “negative-Y”
}
],
“spaceLength”: 10,
“span”: 6,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“refId”: “A”,
“target”: {
“identifier”: “$node”,
“metricType”: “BYTES_TO_OVERALL”,
“performanceType”: “svc_node_port”
},
“type”: “timeseries”
},
{
“refId”: “B”,
“target”: {
“identifier”: “$node”,
“metricType”: “BYTES_FROM_OVERALL”,
“performanceType”: “svc_node_port”
},
“type”: “timeseries”
}
],
“thresholds”: ,
“timeFrom”: null,
“timeShift”: null,
“title”: “Node port load overall”,
“tooltip”: {
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“transparent”: false,
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”:
},
“yaxes”: [
{
“format”: “MBs”,
“label”: “”,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
},
{
“format”: “percent”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: false
}
]
}
],
“repeat”: null,
“repeatIteration”: null,
“repeatRowId”: null,
“showTitle”: false,
“title”: “Frontend & Backend Overview”,
“titleSize”: “h6”
},
{
“collapse”: true,
“height”: 250,
“panels”: [
{
“content”: “* This dashboard provides a general overview of the overall cluster performance\n* Use the Dropdowns to filter down the results where possible\n* Each Panel has it’s own additional help text”,
“id”: 14,
“links”: ,
“mode”: “markdown”,
“span”: 6,
“title”: “Usage”,
“type”: “text”
},
{
“content”: "* Interval: The Interval corresponds to the fixed interval setting in the BVQ GUI. Increase the interval for longer time ranges. \n* Events: Check to visualize Errors form the selected cluster in the charts and the event table\n\n#### Selection\n* Objects can only be selected using the drop downs \n* Checkboxes within a drop down allows to select multiple objects. For each selected object you will get separat metrics\n* The All options is equal to select all objects in a drop down\n* All drop downs are dependent on each other and simulates the BVQ Pathbrowser. \n * Node: All Nodes of the selected cluster\n ",
“id”: 15,
“links”: ,
“mode”: “markdown”,
“span”: 6,
“title”: “Select options”,
“type”: “text”
}
],
“repeat”: null,
“repeatIteration”: null,
“repeatRowId”: null,
“showTitle”: true,
“title”: “Help”,
“titleSize”: “h6”
}
],
“schemaVersion”: 14,
“style”: “dark”,
“tags”: [
“performance”,
“overview”,
“cluster”,
“svc”
],
“templating”: {
“list”: [
{
“auto”: true,
“auto_count”: 300,
“auto_min”: “10s”,
“current”: {
“text”: “5m”,
“value”: “5m”
},
“hide”: 0,
“label”: “Interval”,
“name”: “interval”,
“options”: [
{
“selected”: false,
“text”: “auto”,
“value”: “$__auto_interval”
},
{
“selected”: false,
“text”: “1m”,
“value”: “1m”
},
{
“selected”: true,
“text”: “5m”,
“value”: “5m”
},
{
“selected”: false,
“text”: “15m”,
“value”: “15m”
},
{
“selected”: false,
“text”: “30m”,
“value”: “30m”
},
{
“selected”: false,
“text”: “1h”,
“value”: “1h”
},
{
“selected”: false,
“text”: “6h”,
“value”: “6h”
},
{
“selected”: false,
“text”: “12h”,
“value”: “12h”
},
{
“selected”: false,
“text”: “1d”,
“value”: “1d”
}
],
“query”: “1m,5m,15m,30m,1h,6h,12h,1d”,
“refresh”: 2,
“type”: “interval”
},
{
“allValue”: null,
“current”: {},
“datasource”: “${DS_BVQ@LOCALHOST}”,
“hide”: 0,
“includeAll”: false,
“label”: “SVC Cluster”,
“multi”: false,
“name”: “svc_cluster”,
“options”: ,
“query”: “type=svc_cluster”,
“refresh”: 1,
“regex”: “”,
“sort”: 1,
“tagValuesQuery”: “”,
“tags”: ,
“tagsQuery”: “”,
“type”: “query”,
“useTags”: false
},
{
“allValue”: null,
“current”: {},
“datasource”: “${DS_BVQ@LOCALHOST}”,
“hide”: 0,
“includeAll”: true,
“label”: “Node”,
“multi”: true,
“name”: “node”,
“options”: ,
“query”: “type=node reachableByAny=$svc_cluster”,
“refresh”: 1,
“regex”: “”,
“sort”: 1,
“tagValuesQuery”: “”,
“tags”: ,
“tagsQuery”: “”,
“type”: “query”,
“useTags”: false
}
]
},
“time”: {
“from”: “now-12h”,
“to”: “now”
},
“timepicker”: {
“nowDelay”: “”,
“refresh_intervals”: [
“1m”,
“5m”,
“15m”,
“30m”,
“1h”,
“2h”,
“1d”
],
“time_options”: [
“5m”,
“15m”,
“1h”,
“6h”,
“12h”,
“24h”,
“2d”,
“7d”,
“30d”
]
},
“timezone”: “browser”,
“title”: “Cluster Overview for BVQ”,
“version”: 10
}