{ "__inputs": [ { "name": "DS_INFLUXDB-SPEEDTESTS", "label": "InfluxDB-speedtests", "description": "", "type": "datasource", "pluginId": "influxdb", "pluginName": "InfluxDB" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.3.6" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "influxdb", "name": "InfluxDB", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" }, { "type": "panel", "id": "table", "name": "Table", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "A dashboard to display speedtest data over time.", "editable": true, "gnetId": 13053, "graphTooltip": 0, "id": null, "iteration": 1610865850926, "links": [], "panels": [ { "collapsed": true, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 129, "panels": [ { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "fieldConfig": { "defaults": { "custom": { "align": "center", "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.width", "value": 175 } ] }, { "matcher": { "id": "byName", "options": "SPEEDTEST.net URL" }, "properties": [ { "id": "custom.width", "value": 525 } ] } ] }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 1 }, "id": 127, "options": { "frameIndex": 0, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Time" } ] }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "speedtest_url" ], "type": "tag" } ], "hide": false, "measurement": "download", "orderByTime": "ASC", "policy": "default", "query": "SELECT \"bandwidth\" FROM \"download\" WHERE (\"namespace\" =~ /^$namespace$/) AND $timeFilter GROUP BY \"speedtest_url\"", "rawQuery": false, "refId": "B", "resultFormat": "table", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [ "Down Mbps" ], "type": "alias" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] }, { "groupBy": [ { "params": [ "speedtest_url" ], "type": "tag" } ], "measurement": "upload", "orderByTime": "ASC", "policy": "default", "refId": "C", "resultFormat": "table", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [ "Up Mbps" ], "type": "alias" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] }, { "groupBy": [ { "params": [ "speedtest_url" ], "type": "tag" } ], "measurement": "ping", "orderByTime": "ASC", "policy": "default", "queryType": "randomWalk", "refId": "A", "resultFormat": "table", "select": [ [ { "params": [ "latency" ], "type": "field" }, { "params": [ "Latency ms" ], "type": "alias" } ], [ { "params": [ "jitter" ], "type": "field" }, { "params": [ "Jitter ms" ], "type": "alias" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": null, "timeShift": null, "title": "Panel Title", "transformations": [ { "id": "merge", "options": {} }, { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Down Mbps": "", "speedtest_url": "SPEEDTEST.net URL" } } } ], "type": "table" } ], "title": "Raw Results & Links", "type": "row" }, { "collapsed": false, "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 1 }, "id": 108, "panels": [], "title": "SpeedTests", "type": "row" }, { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "light-yellow", "value": 700 }, { "color": "green", "value": 825 } ] }, "unit": "Mbits" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 0, "y": 2 }, "id": 116, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "linear" ], "type": "fill" } ], "measurement": "download", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": "2d", "timeShift": null, "title": "Download Speed", "type": "stat" }, { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "light-yellow", "value": 700 }, { "color": "green", "value": 825 } ] }, "unit": "Mbits" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 6, "y": 2 }, "id": 118, "interval": "", "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "linear" ], "type": "fill" } ], "measurement": "upload", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": "2d", "timeShift": null, "title": "Upload Speed", "type": "stat" }, { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 12, "y": 2 }, "id": 120, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "linear" ], "type": "fill" } ], "measurement": "ping", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "latency" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": "2d", "timeShift": null, "title": "Response Time", "type": "stat" }, { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "fieldConfig": { "defaults": { "custom": {}, "decimals": 2, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "yellow", "value": 10000 }, { "color": "red", "value": 14000 } ] }, "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 18, "y": 2 }, "id": 122, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "linear" ], "type": "fill" } ], "measurement": "download", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "elapsed" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": "2d", "timeShift": null, "title": "Test Time", "type": "stat" }, { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 0, "y": 6 }, "id": 124, "interval": "1h", "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "sum" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "previous" ], "type": "fill" } ], "measurement": "download", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "bytes" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": "2d", "timeShift": null, "title": "Download Size Total", "type": "stat" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "description": "Uses https://github.com/breadlysm/speedtest-to-influxdb", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 3, "gridPos": { "h": 8, "w": 18, "x": 6, "y": 6 }, "hiddenSeries": false, "id": 104, "interval": "", "legend": { "alignAsTable": true, "avg": true, "current": false, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "connected", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.3.6", "pointradius": 0.5, "points": true, "renderer": "flot", "seriesOverrides": [ { "alias": "Upload", "color": "#F2CC0C" }, { "alias": "Download", "color": "#3274D9" } ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "alias": "Download", "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "none" ], "type": "fill" } ], "measurement": "download", "orderByTime": "ASC", "policy": "default", "query": "SELECT mean(\"bytes\") FROM \"download\" WHERE $timeFilter GROUP BY time($__interval) fill(0)", "rawQuery": false, "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] }, { "alias": "Upload", "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "none" ], "type": "fill" } ], "measurement": "upload", "orderByTime": "ASC", "policy": "default", "query": "SELECT mean(\"bytes\") FROM \"download\" WHERE $timeFilter GROUP BY time($__interval) fill(0)", "rawQuery": false, "refId": "B", "resultFormat": "time_series", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Speedtest Results", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "Mbits", "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 } }, { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 4, "w": 6, "x": 0, "y": 10 }, "id": 125, "interval": "1h", "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "sum" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "previous" ], "type": "fill" } ], "measurement": "upload", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "bytes" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": "2d", "timeShift": null, "title": "Upload Size Total", "type": "stat" }, { "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "description": "Shows the avg speeds received by test site", "fieldConfig": { "defaults": { "custom": { "align": "center", "displayMode": "color-background", "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "Mbits" }, "overrides": [ { "matcher": { "id": "byName", "options": "Ping" }, "properties": [ { "id": "unit", "value": "ms" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 25 }, { "color": "red", "value": 50 } ] } }, { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "max", "value": 100 }, { "id": "custom.width" } ] }, { "matcher": { "id": "byName", "options": "Test Count" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "max", "value": 25 }, { "id": "custom.width", "value": 150 } ] }, { "matcher": { "id": "byName", "options": "Location" }, "properties": [ { "id": "custom.displayMode", "value": "color-text" }, { "id": "custom.width", "value": 180 }, { "id": "custom.align", "value": "left" } ] }, { "matcher": { "id": "byName", "options": "Download Avg" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "yellow", "value": 50 }, { "color": "green", "value": 100 } ] } }, { "id": "max" } ] }, { "matcher": { "id": "byName", "options": "Upload Avg" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "yellow", "value": 10 }, { "color": "green", "value": 50 } ] } }, { "id": "max" } ] }, { "matcher": { "id": "byName", "options": "Server" }, "properties": [ { "id": "custom.width", "value": 300 }, { "id": "custom.align", "value": "left" } ] } ] }, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 14 }, "id": 114, "options": { "showHeader": true, "sortBy": [ { "desc": false, "displayName": "Ping" } ] }, "pluginVersion": "7.3.6", "targets": [ { "groupBy": [ { "params": [ "server_name" ], "type": "tag" }, { "params": [ "server_location" ], "type": "tag" }, { "params": [ "server_id" ], "type": "tag" } ], "measurement": "download", "orderByTime": "ASC", "policy": "default", "query": "SELECT mean(\"bandwidth\") AS \"Download Avg\" FROM \"download\" WHERE $timeFilter GROUP BY \"server_name\", \"server_location\"", "rawQuery": false, "refId": "A", "resultFormat": "table", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [], "type": "mean" }, { "params": [ "Download Avg" ], "type": "alias" } ], [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [], "type": "count" }, { "params": [ "Test Count" ], "type": "alias" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] }, { "groupBy": [ { "params": [ "server_id" ], "type": "tag" } ], "measurement": "upload", "orderByTime": "ASC", "policy": "default", "query": "SELECT mean(\"bandwidth\") AS \"Upload Avg\" FROM \"upload\" WHERE $timeFilter GROUP BY \"server_id\"", "rawQuery": false, "refId": "B", "resultFormat": "table", "select": [ [ { "params": [ "bandwidth" ], "type": "field" }, { "params": [], "type": "mean" }, { "params": [ "Upload Avg" ], "type": "alias" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] }, { "groupBy": [ { "params": [ "server_id" ], "type": "tag" } ], "measurement": "ping", "orderByTime": "ASC", "policy": "default", "query": "SELECT mean(\"bandwidth\") AS \"Upload Avg\" FROM \"upload\" WHERE $timeFilter GROUP BY \"server_id\"", "rawQuery": false, "refId": "C", "resultFormat": "table", "select": [ [ { "params": [ "latency" ], "type": "field" }, { "params": [], "type": "mean" }, { "params": [ "Ping" ], "type": "alias" } ] ], "tags": [ { "key": "namespace", "operator": "=~", "value": "/^$namespace$/" } ] } ], "timeFrom": null, "timeShift": null, "title": "Avg. Speed by test server", "transformations": [ { "id": "seriesToColumns", "options": { "byField": "server_id" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Time 3": true, "server_id": true }, "indexByName": { "Download Avg": 3, "Ping": 2, "Test Count": 7, "Time 1": 6, "Time 2": 8, "Time 3": 9, "Upload Avg": 4, "server_id": 5, "server_location": 1, "server_name": 0 }, "renameByName": { "Time": "", "server_location": "Location", "server_name": "Server" } } } ], "type": "table" } ], "refresh": false, "schemaVersion": 26, "style": "dark", "tags": [], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_INFLUXDB-SPEEDTESTS}", "definition": "", "error": null, "hide": 1, "includeAll": false, "label": "namespace", "multi": false, "name": "namespace", "options": [], "query": "SHOW TAG VALUES FROM ping WITH Key = \"namespace\"", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "SpeedTests", "uid": "kLXTiedGz", "version": 9 }