diff --git a/grafana/Dashboard.json b/grafana/Dashboard.json index f35afe5..79b1211 100644 --- a/grafana/Dashboard.json +++ b/grafana/Dashboard.json @@ -20,7 +20,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "7.1.5" + "version": "7.3.1" }, { "type": "panel", @@ -36,14 +36,14 @@ }, { "type": "panel", - "id": "singlestat", - "name": "Singlestat", + "id": "stat", + "name": "Stat", "version": "" }, { "type": "panel", - "id": "stat", - "name": "Stat", + "id": "table", + "name": "Table", "version": "" } ], @@ -67,12 +67,76 @@ "id": null, "links": [], "panels": [ + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 6, + "x": 0, + "y": 0 + }, + "id": 29, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "center", + "orientation": "vertical", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "/^description$/", + "values": true + }, + "textMode": "value" + }, + "pluginVersion": "7.3.1", + "targets": [ + { + "expr": "gateway_device_modelname", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Version", + "type": "stat" + }, { "cacheTimeout": null, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { + "color": { + "mode": "thresholds" + }, "custom": {}, + "decimals": 0, "mappings": [ { "id": 0, @@ -80,67 +144,58 @@ "text": "N/A", "type": 1, "value": "null" - }, - { - "id": 1, - "op": "=", - "text": "Disconnected", - "type": 1, - "value": "0" - }, - { - "id": 2, - "op": "=", - "text": "Connected", - "type": 1, - "value": "1" } ], + "max": 100000000, + "min": 0, "nullValueMode": "connected", "thresholds": { - "mode": "absolute", + "mode": "percentage", "steps": [ { - "color": "rgba(245, 54, 54, 0.9)", + "color": "green", "value": null }, { "color": "rgba(237, 129, 40, 0.89)", - "value": 1 + "value": 33 }, { - "color": "#1f78c1", - "value": 1 + "color": "red", + "value": 66 } ] }, - "unit": "none" + "unit": "bps" }, "overrides": [] }, - "id": 10, - "interval": null, + "gridPos": { + "h": 6, + "w": 3, + "x": 6, + "y": 0 + }, + "id": 11, "links": [], - "maxDataPoints": 100, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ - "lastNotNull" + "last" ], "fields": "", "values": false }, - "textMode": "auto" + "showThresholdLabels": false, + "showThresholdMarkers": true }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_connection_status", + "expr": "gateway_wan_bytes_receive_rate*8", + "format": "table", "groupBy": [ { "params": [ @@ -149,6 +204,7 @@ "type": "time" } ], + "instant": false, "interval": "", "legendFormat": "", "measurement": "fritzbox_value", @@ -174,21 +230,26 @@ { "key": "type_instance", "operator": "=", - "value": "constatus" + "value": "receiverate" } ], "target": "" } ], - "title": "WAN Connection Status", - "type": "stat" + "title": "Current Download", + "transparent": true, + "type": "gauge" }, { "cacheTimeout": null, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { + "color": { + "mode": "thresholds" + }, "custom": {}, + "decimals": 1, "mappings": [ { "id": 0, @@ -196,73 +257,58 @@ "text": "N/A", "type": 1, "value": "null" - }, - { - "id": 1, - "op": "=", - "text": "Disconnected", - "type": 1, - "value": "0" - }, - { - "id": 2, - "op": "=", - "text": "Connected", - "type": 1, - "value": "1" } ], + "max": 6000000, + "min": 0, "nullValueMode": "connected", "thresholds": { - "mode": "absolute", + "mode": "percentage", "steps": [ { - "color": "rgba(245, 54, 54, 0.9)", + "color": "green", "value": null }, { "color": "rgba(237, 129, 40, 0.89)", - "value": 1 + "value": 33 }, { - "color": "#1f78c1", - "value": 1 + "color": "#e24d42", + "value": 66 } ] }, - "unit": "none" + "unit": "bps" }, "overrides": [] }, "gridPos": { - "h": 3, - "w": 6, - "x": 6, + "h": 6, + "w": 3, + "x": 9, "y": 0 }, - "id": 9, - "interval": null, + "id": 12, "links": [], - "maxDataPoints": 100, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ - "lastNotNull" + "last" ], "fields": "", "values": false }, - "textMode": "auto" + "showThresholdLabels": false, + "showThresholdMarkers": true }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_layer1_link_status", + "expr": "gateway_wan_bytes_send_rate*8", + "format": "table", "groupBy": [ { "params": [ @@ -296,25 +342,23 @@ { "key": "type_instance", "operator": "=", - "value": "dslstatus" + "value": "sendrate" } ], "target": "" } ], - "title": "DSL Link Status", - "type": "stat" + "title": "Current Upload", + "transparent": true, + "type": "gauge" }, { "cacheTimeout": null, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, "custom": {}, - "decimals": 0, + "decimals": 1, "mappings": [ { "id": 0, @@ -324,8 +368,6 @@ "value": "null" } ], - "max": 7000000, - "min": 0, "nullValueMode": "connected", "thresholds": { "mode": "absolute", @@ -335,59 +377,52 @@ "value": null }, { - "color": "rgba(237, 129, 40, 0.89)", - "value": 2500000 - }, - { - "color": "red", - "value": 5000000 + "color": "super-light-orange", + "value": 80 } ] }, - "unit": "Bps" + "unit": "decbytes" }, "overrides": [] }, "gridPos": { - "h": 5, + "h": 3, "w": 6, "x": 12, "y": 0 }, - "id": 11, + "id": 3, + "interval": "15s", "links": [], + "maxDataPoints": 100, "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ - "last" + "delta" ], "fields": "", "values": false }, - "showThresholdLabels": false, - "showThresholdMarkers": true + "textMode": "auto" }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_bytes_receive_rate", - "format": "table", - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - } - ], - "instant": false, + "expr": "gateway_wan_bytes_received", + "groupBy": [], "interval": "", "legendFormat": "", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", + "query": "SELECT cumulative_sum(non_negative_difference(last(\"value\"))) FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytesreceived') AND $timeFilter GROUP BY time($__interval)", + "rawQuery": false, "refId": "A", "resultFormat": "time_series", "select": [ @@ -399,8 +434,10 @@ "type": "field" }, { - "params": [], - "type": "last" + "params": [ + "10s" + ], + "type": "non_negative_derivative" } ] ], @@ -408,23 +445,20 @@ { "key": "type_instance", "operator": "=", - "value": "receiverate" + "value": "totalbytesreceived" } ], "target": "" } ], - "title": "Current Download", - "type": "gauge" + "title": "Total Download", + "type": "stat" }, { "cacheTimeout": null, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, "custom": {}, "decimals": 1, "mappings": [ @@ -436,73 +470,62 @@ "value": "null" } ], - "max": 1100000, - "min": 0, "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ - { - "color": "blue", - "value": null - }, { "color": "green", - "value": 250000 - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 500000 + "value": null }, { - "color": "#e24d42", - "value": 1000000 + "color": "orange", + "value": 80 } ] }, - "unit": "Bps" + "unit": "decbytes" }, "overrides": [] }, "gridPos": { - "h": 5, + "h": 3, "w": 6, "x": 18, "y": 0 }, - "id": 12, + "hideTimeOverride": false, + "id": 22, + "interval": "", "links": [], + "maxDataPoints": 100, "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ - "last" + "range" ], "fields": "", "values": false }, - "showThresholdLabels": false, - "showThresholdMarkers": true + "textMode": "auto" }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_bytes_send_rate", - "format": "table", - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - } - ], + "expr": "gateway_wan_bytes_received", + "groupBy": [], "interval": "", "legendFormat": "", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", + "query": "SELECT cumulative_sum(max(\"value\")) FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytesreceived') AND $timeFilter GROUP BY time($__interval) tz('Europe/Berlin')", + "rawQuery": false, "refId": "A", "resultFormat": "time_series", "select": [ @@ -515,7 +538,7 @@ }, { "params": [], - "type": "last" + "type": "non_negative_difference" } ] ], @@ -523,14 +546,16 @@ { "key": "type_instance", "operator": "=", - "value": "sendrate" + "value": "totalbytesreceived" } ], "target": "" } ], - "title": "Current Upload", - "type": "gauge" + "timeFrom": "1d", + "timeShift": null, + "title": "Last 24h Download", + "type": "stat" }, { "cacheTimeout": null, @@ -568,10 +593,10 @@ "overrides": [] }, "gridPos": { - "h": 3, - "w": 6, + "h": 2, + "w": 3, "x": 0, - "y": 3 + "y": 2 }, "id": 21, "interval": null, @@ -591,7 +616,7 @@ }, "textMode": "auto" }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", @@ -646,7 +671,6 @@ "fieldConfig": { "defaults": { "custom": {}, - "decimals": 1, "mappings": [ { "id": 0, @@ -654,6 +678,20 @@ "text": "N/A", "type": 1, "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "Disconnected", + "type": 1, + "value": "0" + }, + { + "id": 2, + "op": "=", + "text": "Connected", + "type": 1, + "value": "1" } ], "nullValueMode": "connected", @@ -669,27 +707,27 @@ "value": 1 }, { - "color": "rgba(50, 172, 45, 0.97)", + "color": "blue", "value": 1 } ] }, - "unit": "dtdurations" + "unit": "none" }, "overrides": [] }, "gridPos": { - "h": 3, - "w": 6, - "x": 6, - "y": 3 + "h": 2, + "w": 3, + "x": 3, + "y": 2 }, - "id": 13, + "id": 10, "interval": null, "links": [], "maxDataPoints": 100, "options": { - "colorMode": "value", + "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", @@ -702,11 +740,11 @@ }, "textMode": "auto" }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_connection_uptime_seconds", + "expr": "gateway_wan_connection_status", "groupBy": [ { "params": [ @@ -740,93 +778,84 @@ { "key": "type_instance", "operator": "=", - "value": "uptime" + "value": "constatus" } ], "target": "" } ], - "title": "Connection Uptime", + "title": "WAN Connection Status", "type": "stat" }, { "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], "datasource": "${DS_PROMETHEUS}", - "decimals": 1, "fieldConfig": { "defaults": { - "custom": {} + "custom": {}, + "decimals": 1, + "mappings": [ + { + "id": 0, + "op": "=", + "text": "N/A", + "type": 1, + "value": "null" + } + ], + "nullValueMode": "connected", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "super-light-red", + "value": 80 + } + ] + }, + "unit": "decbytes" }, "overrides": [] }, - "format": "decbytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, "gridPos": { - "h": 4, + "h": 3, "w": 6, "x": 12, - "y": 5 + "y": 3 }, - "hideTimeOverride": false, - "id": 22, + "id": 8, "interval": "", "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "delta" + ], + "fields": "", + "values": false }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true + "textMode": "auto" }, - "tableColumn": "gateway_wan_bytes_received{gateway=\"fritz.box\", instance=\"127.0.0.1:9101\", job=\"fritzbox_exporter\"}", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_bytes_received", + "expr": "gateway_wan_bytes_sent", "groupBy": [], "interval": "", "legendFormat": "", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", - "query": "SELECT cumulative_sum(max(\"value\")) FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytesreceived') AND $timeFilter GROUP BY time($__interval) tz('Europe/Berlin')", + "query": "SELECT cumulative_sum(non_negative_difference(last(\"value\"))) FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytessent') AND $timeFilter GROUP BY time($__interval)", "rawQuery": false, "refId": "A", "resultFormat": "time_series", @@ -848,93 +877,74 @@ { "key": "type_instance", "operator": "=", - "value": "totalbytesreceived" + "value": "totalbytessent" } ], "target": "" } ], - "thresholds": "", - "timeFrom": "1d", - "timeShift": null, - "title": "Last 24h Download", - "type": "singlestat", - "valueFontSize": "100%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "range" + "title": "Total Upload", + "type": "stat" }, { "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], "datasource": "${DS_PROMETHEUS}", - "decimals": 1, "fieldConfig": { "defaults": { - "custom": {} + "custom": {}, + "decimals": 1, + "mappings": [ + { + "id": 0, + "op": "=", + "text": "N/A", + "type": 1, + "value": "null" + } + ], + "nullValueMode": "connected", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" }, "overrides": [] }, - "format": "decbytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, "gridPos": { - "h": 4, + "h": 3, "w": 6, "x": 18, - "y": 5 + "y": 3 }, "id": 16, "interval": null, "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(137, 15, 2, 0.18)", - "full": false, - "lineColor": "#e24d42", - "show": true + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "range" + ], + "fields": "", + "values": false + }, + "textMode": "auto" }, - "tableColumn": "gateway_wan_bytes_sent{gateway=\"fritz.box\", instance=\"127.0.0.1:9101\", job=\"fritzbox_exporter\"}", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", @@ -973,19 +983,9 @@ "target": "" } ], - "thresholds": "", "timeFrom": "1d", "title": "Last 24h Upload", - "type": "singlestat", - "valueFontSize": "100%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "range" + "type": "stat" }, { "cacheTimeout": null, @@ -1008,56 +1008,65 @@ "mode": "absolute", "steps": [ { - "color": "green", + "color": "rgba(245, 54, 54, 0.9)", "value": null }, { - "color": "red", - "value": 80 + "color": "rgba(237, 129, 40, 0.89)", + "value": 1 + }, + { + "color": "rgba(50, 172, 45, 0.97)", + "value": 1 } ] }, - "unit": "decbytes" + "unit": "dtdurations" }, "overrides": [] }, "gridPos": { - "h": 4, - "w": 6, + "h": 2, + "w": 3, "x": 0, - "y": 6 + "y": 4 }, - "id": 3, + "id": 13, "interval": null, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", - "graphMode": "area", + "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ - "sum" + "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_bytes_received", - "groupBy": [], + "expr": "gateway_wan_connection_uptime_seconds", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + } + ], "interval": "", "legendFormat": "", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", - "query": "SELECT cumulative_sum(non_negative_difference(last(\"value\"))) FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytesreceived') AND $timeFilter GROUP BY time($__interval)", - "rawQuery": false, "refId": "A", "resultFormat": "time_series", "select": [ @@ -1069,10 +1078,8 @@ "type": "field" }, { - "params": [ - "10s" - ], - "type": "non_negative_derivative" + "params": [], + "type": "last" } ] ], @@ -1080,13 +1087,13 @@ { "key": "type_instance", "operator": "=", - "value": "totalbytesreceived" + "value": "uptime" } ], "target": "" } ], - "title": "Total Download", + "title": "Connection Uptime", "type": "stat" }, { @@ -1095,7 +1102,6 @@ "fieldConfig": { "defaults": { "custom": {}, - "decimals": 1, "mappings": [ { "id": 0, @@ -1103,6 +1109,20 @@ "text": "N/A", "type": 1, "value": "null" + }, + { + "id": 1, + "op": "=", + "text": "Disconnected", + "type": 1, + "value": "0" + }, + { + "id": 2, + "op": "=", + "text": "Connected", + "type": 1, + "value": "1" } ], "nullValueMode": "connected", @@ -1110,56 +1130,65 @@ "mode": "absolute", "steps": [ { - "color": "green", + "color": "rgba(245, 54, 54, 0.9)", "value": null }, { - "color": "red", - "value": 80 + "color": "rgba(237, 129, 40, 0.89)", + "value": 1 + }, + { + "color": "#1f78c1", + "value": 1 } ] }, - "unit": "decbytes" + "unit": "none" }, "overrides": [] }, "gridPos": { - "h": 4, - "w": 6, - "x": 6, - "y": 6 + "h": 2, + "w": 3, + "x": 3, + "y": 4 }, - "id": 8, + "id": 9, "interval": null, "links": [], "maxDataPoints": 100, "options": { - "colorMode": "value", - "graphMode": "area", + "colorMode": "background", + "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ - "sum" + "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "targets": [ { "dsType": "prometheus", - "expr": "gateway_wan_bytes_sent", - "groupBy": [], + "expr": "gateway_wan_layer1_link_status", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + } + ], "interval": "", "legendFormat": "", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", - "query": "SELECT cumulative_sum(non_negative_difference(last(\"value\"))) FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytessent') AND $timeFilter GROUP BY time($__interval)", - "rawQuery": false, "refId": "A", "resultFormat": "time_series", "select": [ @@ -1172,7 +1201,7 @@ }, { "params": [], - "type": "non_negative_difference" + "type": "last" } ] ], @@ -1180,13 +1209,205 @@ { "key": "type_instance", "operator": "=", - "value": "totalbytessent" + "value": "dslstatus" } ], "target": "" } ], - "title": "Total Upload", + "title": "DSL Link Status", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null, + "filterable": false + }, + "mappings": [ + { + "from": "", + "id": 1, + "text": "", + "to": "", + "type": 1, + "value": "" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 9, + "x": 0, + "y": 6 + }, + "hiddenSeries": false, + "id": 26, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "gateway_host_active>0", + "interval": "", + "legendFormat": "{{hostname}} ({{macaddress}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Active Hosts", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "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_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 9, + "y": 6 + }, + "id": 24, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^2\\.4 GHz$/", + "values": false + }, + "textMode": "value_and_name" + }, + "pluginVersion": "7.3.1", + "targets": [ + { + "expr": "gateway_wlan_current_connections", + "interval": "", + "legendFormat": "2.4 GHz", + "refId": "A" + }, + { + "expr": "gateway_wlan2_current_connections", + "interval": "", + "legendFormat": "5 GHz", + "refId": "B" + }, + { + "expr": "gateway_wlan_current_connections+gateway_wlan2_current_connections", + "interval": "", + "legendFormat": "Total", + "refId": "C" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Connections", "type": "stat" }, { @@ -1211,13 +1432,13 @@ "overrides": [] }, "fill": 1, - "fillGradient": 0, + "fillGradient": 3, "grid": {}, "gridPos": { "h": 6, - "w": 6, + "w": 12, "x": 12, - "y": 9 + "y": 6 }, "hiddenSeries": false, "id": 18, @@ -1228,16 +1449,19 @@ "max": false, "min": false, "rightSide": false, - "show": true, + "show": false, "total": false, "values": true }, "lines": true, - "linewidth": 1, + "linewidth": 2, "links": [], "nullPointMode": "connected", + "options": { + "alertThreshold": false + }, "percentage": false, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "pointradius": 5, "points": false, "renderer": "flot", @@ -1274,7 +1498,7 @@ ], "groupByTags": [], "interval": "", - "legendFormat": "Downstream", + "legendFormat": "Max. Downstream", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", @@ -1304,66 +1528,10 @@ ], "target": "alias(collectd.squirrel.fritzbox.bitrate-receiverate,'downstream')" }, - { - "alias": "downstream max", - "dsType": "prometheus", - "expr": "gateway_wan_layer1_upstream_max_bitrate", - "fields": [ - { - "func": "mean", - "name": "value" - } - ], - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "groupByTags": [], - "interval": "", - "legendFormat": "Upstream", - "measurement": "fritzbox_value", - "orderByTime": "ASC", - "policy": "default", - "query": "SELECT mean(value) FROM \"fritzbox_value\" WHERE \"type_instance\" = 'downstreammax' AND $timeFilter GROUP BY time($interval)", - "refId": "B", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [ - { - "key": "type_instance", - "operator": "=", - "value": "downstreammax" - } - ], - "target": "alias(collectd.squirrel.fritzbox.bitrate-downstreammax,'downstream max')" - }, { "alias": "upstream", "dsType": "prometheus", - "expr": "gateway_wan_bytes_receive_rate", + "expr": "gateway_wan_bytes_receive_rate*8", "fields": [ { "func": "mean", @@ -1415,69 +1583,13 @@ } ], "target": "alias(collectd.squirrel.fritzbox.bitrate-sendrate,'upstream')" - }, - { - "alias": "upstream max", - "dsType": "prometheus", - "expr": "gateway_wan_bytes_send_rate", - "fields": [ - { - "func": "mean", - "name": "value" - } - ], - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "groupByTags": [], - "interval": "", - "legendFormat": "Upload", - "measurement": "fritzbox_value", - "orderByTime": "ASC", - "policy": "default", - "query": "SELECT mean(value) FROM \"fritzbox_value\" WHERE \"type_instance\" = 'upstreammax' AND $timeFilter GROUP BY time($interval)", - "refId": "D", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [ - { - "key": "type_instance", - "operator": "=", - "value": "upstreammax" - } - ], - "target": "alias(collectd.squirrel.fritzbox.bitrate-upstreammax,'upstream max')" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Bandwidth", + "title": "Download Bandwith Usage", "tooltip": { "msResolution": false, "query_as_alias": true, @@ -1485,6 +1597,7 @@ "sort": 0, "value_type": "cumulative" }, + "transparent": true, "type": "graph", "xaxis": { "buckets": null, @@ -1495,15 +1608,17 @@ }, "yaxes": [ { + "$$hashKey": "object:123", "decimals": null, "format": "bps", "label": "", "logBase": 1, - "max": "116000000", - "min": "0", + "max": "62000000", + "min": null, "show": true }, { + "$$hashKey": "object:124", "format": "short", "logBase": 1, "max": null, @@ -1517,10 +1632,81 @@ }, "zerofill": true }, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 9, + "y": 10 + }, + "id": 30, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "/^5 GHz$/", + "values": false + }, + "textMode": "value_and_name" + }, + "pluginVersion": "7.3.1", + "targets": [ + { + "expr": "gateway_wlan_current_connections", + "interval": "", + "legendFormat": "2.4 GHz", + "refId": "A" + }, + { + "expr": "gateway_wlan2_current_connections", + "interval": "", + "legendFormat": "5 GHz", + "refId": "B" + }, + { + "expr": "gateway_wlan_current_connections+gateway_wlan2_current_connections", + "interval": "", + "legendFormat": "Total", + "refId": "C" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Connections", + "type": "stat" + }, { "aliasColors": { - "download": "#1F78C1", - "upload": "#EA6460" + "downstream": "#1F78C1", + "downstream max": "#0A437C", + "upstream": "#EA6460", + "upstream max": "#890F02" }, "annotate": { "enable": false @@ -1529,7 +1715,6 @@ "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", - "description": "", "editable": true, "fieldConfig": { "defaults": { @@ -1537,48 +1722,51 @@ }, "overrides": [] }, - "fill": 0, - "fillGradient": 0, + "fill": 1, + "fillGradient": 3, "grid": {}, "gridPos": { "h": 6, - "w": 6, - "x": 18, - "y": 9 + "w": 12, + "x": 12, + "y": 12 }, "hiddenSeries": false, - "id": 17, - "interval": "1h", + "id": 27, "legend": { + "alignAsTable": false, "avg": false, "current": true, "max": false, "min": false, - "show": true, + "rightSide": false, + "show": false, "total": false, "values": true }, "lines": true, - "linewidth": 1, + "linewidth": 2, "links": [], "nullPointMode": "connected", + "options": { + "alertThreshold": false + }, "percentage": false, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "pointradius": 5, "points": false, "renderer": "flot", - "repeat": null, "resolution": 100, "scale": 1, "seriesOverrides": [], "spaceLength": 10, "stack": false, - "steppedLine": true, + "steppedLine": false, "targets": [ { - "alias": "download", + "alias": "downstream max", "dsType": "prometheus", - "expr": "delta(gateway_wan_bytes_received[120s])/120", + "expr": "gateway_wan_layer1_upstream_max_bitrate", "fields": [ { "func": "mean", @@ -1588,7 +1776,7 @@ "groupBy": [ { "params": [ - "$interval" + "$__interval" ], "type": "time" }, @@ -1601,13 +1789,12 @@ ], "groupByTags": [], "interval": "", - "legendFormat": "Download", + "legendFormat": "Upstream", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", - "query": "SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytesreceived') AND $timeFilter GROUP BY time($interval) fill(null)", - "rawQuery": true, - "refId": "A", + "query": "SELECT mean(value) FROM \"fritzbox_value\" WHERE \"type_instance\" = 'downstreammax' AND $timeFilter GROUP BY time($interval)", + "refId": "B", "resultFormat": "time_series", "select": [ [ @@ -1627,26 +1814,25 @@ { "key": "type_instance", "operator": "=", - "value": "totalbytesreceived" + "value": "downstreammax" } ], - "target": "alias(summarize(nonNegativeDerivative(collectd.squirrel.fritzbox.bytes-totalbytesreceived, 0), '1h', 'sum'), 'download')" + "target": "alias(collectd.squirrel.fritzbox.bitrate-downstreammax,'downstream max')" }, { - "alias": "upload", + "alias": "upstream max", "dsType": "prometheus", - "expr": "delta(gateway_wan_bytes_sent[120s])/120", + "expr": "gateway_wan_bytes_send_rate*8", "fields": [ { "func": "mean", "name": "value" } ], - "fill": "null", "groupBy": [ { "params": [ - "$interval" + "$__interval" ], "type": "time" }, @@ -1658,15 +1844,13 @@ } ], "groupByTags": [], - "hide": false, "interval": "", "legendFormat": "Upload", "measurement": "fritzbox_value", "orderByTime": "ASC", "policy": "default", - "query": "SELECT non_negative_difference(last(cumulative_sum)) FROM (\nSELECT cumulative_sum(non_negative_difference(last(\"value\"))) FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'totalbytessent') AND $timeFilter GROUP BY time($__interval)\n) WHERE $timeFilter GROUP BY time($__interval) tz('Europe/Berlin')", - "rawQuery": true, - "refId": "B", + "query": "SELECT mean(value) FROM \"fritzbox_value\" WHERE \"type_instance\" = 'upstreammax' AND $timeFilter GROUP BY time($interval)", + "refId": "D", "resultFormat": "time_series", "select": [ [ @@ -1686,17 +1870,17 @@ { "key": "type_instance", "operator": "=", - "value": "totalbytessent" + "value": "upstreammax" } ], - "target": "alias(summarize(nonNegativeDerivative(collectd.squirrel.fritzbox.bytes-totalbytessent,0),'1h','sum'),'upload')" + "target": "alias(collectd.squirrel.fritzbox.bitrate-upstreammax,'upstream max')" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Current Traffic", + "title": "Upload Bandwith Usage", "tooltip": { "msResolution": false, "query_as_alias": true, @@ -1704,6 +1888,7 @@ "sort": 0, "value_type": "cumulative" }, + "transparent": true, "type": "graph", "xaxis": { "buckets": null, @@ -1714,120 +1899,18 @@ }, "yaxes": [ { - "format": "Bps", - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "Bps", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - }, - "zerofill": true - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 10 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "percentage": false, - "pluginVersion": "7.1.5", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "gateway_wlan_current_connections", - "interval": "", - "legendFormat": "2.4 GHz", - "refId": "A" - }, - { - "expr": "gateway_wlan2_current_connections", - "interval": "", - "legendFormat": "5 GHz", - "refId": "B" - }, - { - "expr": "gateway_wlan_current_connections+gateway_wlan2_current_connections", - "interval": "", - "legendFormat": "Total", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "WLAN Connections", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", + "$$hashKey": "object:70", + "decimals": null, + "format": "bps", "label": "", "logBase": 1, - "max": null, - "min": null, + "max": "12000000", + "min": "0", "show": true }, { + "$$hashKey": "object:71", "format": "short", - "label": null, "logBase": 1, "max": null, "min": null, @@ -1837,116 +1920,216 @@ "yaxis": { "align": false, "alignLevel": null - } + }, + "zerofill": true }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { - "align": null + "align": "center", + "displayMode": "color-text", + "filterable": true }, - "mappings": [], + "mappings": [ + { + "from": "", + "id": 1, + "text": "active", + "to": "", + "type": 1, + "value": "1" + }, + { + "from": "", + "id": 2, + "text": "inactive", + "to": "", + "type": 1, + "value": "0" + }, + { + "from": "", + "id": 3, + "text": "LAN", + "to": "", + "type": 1, + "value": "ethernet" + }, + { + "from": "", + "id": 4, + "text": "WLAN", + "to": "", + "type": 1, + "value": "802" + } + ], + "noValue": "-", "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", + "color": "super-light-blue", "value": null - }, - { - "color": "red", - "value": 80 } ] }, "unit": "none" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Status" + }, + "properties": [ + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "green", + "value": 1 + } + ] + } + }, + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Connection Type" + }, + "properties": [ + { + "id": "custom.width", + "value": 134 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "yellow", + "value": null + }, + { + "color": "rgb(47, 255, 44)", + "value": 80 + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Hostname" + }, + "properties": [ + { + "id": "custom.width", + "value": 253 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "IP" + }, + "properties": [ + { + "id": "custom.width", + "value": 140 + } + ] + } + ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { - "h": 8, + "h": 11, "w": 12, - "x": 12, - "y": 15 + "x": 0, + "y": 14 }, - "hiddenSeries": false, - "id": 26, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false + "id": 32, + "options": { + "frameIndex": 25, + "showHeader": true, + "sortBy": [ + { + "desc": false, + "displayName": "Hostname" + } + ] }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "percentage": false, - "pluginVersion": "7.1.5", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, + "pluginVersion": "7.3.1", "targets": [ { "expr": "gateway_host_active", + "format": "table", + "instant": true, "interval": "", - "legendFormat": "{{hostname}} ({{macaddress}})", + "intervalFactor": 1, + "legendFormat": "", "refId": "A" } ], - "thresholds": [], "timeFrom": null, - "timeRegions": [], "timeShift": null, - "title": "Active Hosts", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "title": "Network Devices", + "transformations": [ { - "format": "none", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "hostname", + "interfacetype", + "ipaddress", + "macaddress", + "Value" + ] + } + } }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Value": 0, + "hostname": 1, + "interfacetype": 2, + "ipaddress": 3, + "macaddress": 4 + }, + "renameByName": { + "Value": "Status", + "hostname": "Hostname", + "interfacetype": "Connection Type", + "ipaddress": "IP", + "macaddress": "MAC" + } + } } ], - "yaxis": { - "align": false, - "alignLevel": null - } + "type": "table" }, { "aliasColors": { @@ -1961,7 +2144,24 @@ "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { - "custom": {} + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } }, "overrides": [] }, @@ -1970,10 +2170,11 @@ "gridPos": { "h": 6, "w": 12, - "x": 0, - "y": 16 + "x": 12, + "y": 18 }, "hiddenSeries": false, + "hideTimeOverride": false, "id": 2, "interval": "10s", "legend": { @@ -1992,15 +2193,19 @@ "lines": false, "linewidth": 1, "links": [], + "maxDataPoints": 10, "nullPointMode": "null", + "options": { + "alertThreshold": false + }, "percentage": false, - "pluginVersion": "7.1.5", + "pluginVersion": "7.3.1", "pointradius": 5, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, - "stack": false, + "stack": true, "steppedLine": false, "targets": [ { @@ -2109,7 +2314,7 @@ } ], "thresholds": [], - "timeFrom": null, + "timeFrom": "24h", "timeRegions": [], "timeShift": null, "title": "Daily Traffic", @@ -2118,6 +2323,7 @@ "sort": 0, "value_type": "individual" }, + "transparent": true, "type": "graph", "xaxis": { "buckets": null, @@ -2151,7 +2357,7 @@ } } ], - "refresh": false, + "refresh": "", "schemaVersion": 26, "style": "dark", "tags": [], @@ -2159,7 +2365,7 @@ "list": [] }, "time": { - "from": "now-24h", + "from": "now-30d", "to": "now" }, "timepicker": { @@ -2190,5 +2396,5 @@ "timezone": "", "title": "FRITZ!Box Status", "uid": "000000013", - "version": 11 + "version": 9 } \ No newline at end of file