{ "annotations": {}, "description": "WireGuard Portal Dashboard", "panels": [ { "datasource": { "default": false, "type": "prometheus", "uid": "${datasource}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": 3600000, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "bytes" }, "overrides": [] }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 0 }, "id": 2, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "disableTextWrap": false, "editorMode": "code", "exemplar": false, "expr": "sum by (instance, interface) (wireguard_interface_received_bytes_total{instance=\"$instance\", interface=~\"$interface\"})", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "instant": false, "interval": "", "legendFormat": "Received {{interface}}", "range": true, "refId": "A", "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "expr": "sum by (instance, interface) (wireguard_interface_sent_bytes_total{instance=\"$instance\", interface=~\"$interface\"})", "hide": false, "instant": false, "legendFormat": "Sent {{interface}}", "range": true, "refId": "B" } ], "title": "Interface Bytes Total", "type": "timeseries" }, { "datasource": { "default": false, "type": "prometheus", "uid": "${datasource}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": 3600000, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "bytes" }, "overrides": [] }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 0 }, "id": 13, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "expr": "sum by (instance, interface) (rate(wireguard_interface_received_bytes_total{instance=\"$instance\", interface=~\"$interface\"}[$__rate_interval]))", "hide": false, "instant": false, "interval": "$__rate_interval", "legendFormat": "Received {{interface}}", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "expr": "sum by (instance, interface) (rate(wireguard_interface_sent_bytes_total{instance=\"$instance\", interface=~\"$interface\"}[$__rate_interval]))", "hide": false, "instant": false, "interval": "$__rate_interval", "legendFormat": "Sent {{interface}}", "range": true, "refId": "B" } ], "title": "Interface Bandwidth", "type": "timeseries" }, { "datasource": { "default": false, "type": "prometheus", "uid": "${datasource}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": 3600000, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "bytes" }, "overrides": [] }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 9 }, "id": 16, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "expr": "sum by (name, instance, interface) (rate(wireguard_peer_received_bytes_total{instance=\"$instance\", interface=~\"$interface\"}[$__rate_interval]))", "hide": false, "instant": false, "interval": "$__rate_interval", "legendFormat": "{{name}}", "range": true, "refId": "A" } ], "title": "Peer Receive Bandwidth", "type": "timeseries" }, { "datasource": { "default": false, "type": "prometheus", "uid": "${datasource}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": 3600000, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "bytes" }, "overrides": [] }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 9 }, "id": 17, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "right", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "expr": "sum by (instance, interface, name) (rate(wireguard_peer_sent_bytes_total{instance=\"$instance\", interface=~\"$interface\"}[$__rate_interval]))", "hide": false, "instant": false, "interval": "$__rate_interval", "legendFormat": "{{name}}", "range": true, "refId": "A" } ], "title": "Peer Transmit Bandwidth", "type": "timeseries" }, { "datasource": { "default": false, "type": "prometheus", "uid": "${datasource}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "fillOpacity": 60, "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineWidth": 1 }, "fieldMinMax": false, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "green", "value": 1 } ] }, "unit": "bool_yes_no" }, "overrides": [] }, "gridPos": { "h": 11, "w": 24, "x": 0, "y": 18 }, "id": 12, "options": { "colWidth": 0.85, "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false }, "rowHeight": 0.85, "showValue": "never", "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, "expr": "sum(wireguard_peer_up{instance=\"$instance\", interface=~\"$interface\"}) by (id, instance, interface, name,)", "instant": false, "interval": "$__rate_interval", "legendFormat": "{{name}}", "range": true, "refId": "A" } ], "title": "Peer Connection History", "type": "status-history" }, { "datasource": { "default": false, "type": "prometheus", "uid": "${datasource}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic-by-name" }, "custom": { "align": "auto", "cellOptions": { "type": "auto", "wrapText": false }, "filterable": false, "inspect": false }, "fieldMinMax": false, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-red", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byRegexp", "options": "/(Time|instance|interface|name)\\s\\d*/" }, "properties": [ { "id": "custom.hidden", "value": true } ] }, { "matcher": { "id": "byRegexp", "options": "/Received|Transmitted/" }, "properties": [ { "id": "unit", "value": "bytes" } ] }, { "matcher": { "id": "byName", "options": "Last Handshake" }, "properties": [ { "id": "unit", "value": "s" } ] }, { "matcher": { "id": "byName", "options": "Connected" }, "properties": [ { "id": "mappings", "value": [ { "options": { "0": { "color": "red", "index": 0, "text": "No" }, "1": { "color": "green", "index": 1, "text": "Yes" } }, "type": "value" } ] }, { "id": "custom.cellOptions", "value": { "type": "color-text" } } ] } ] }, "gridPos": { "h": 14, "w": 24, "x": 0, "y": 29 }, "id": 11, "options": { "cellHeight": "sm", "footer": { "countRows": false, "enablePagination": false, "fields": [], "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Sent" } ] }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "disableTextWrap": false, "editorMode": "code", "exemplar": false, "expr": "sum by(id, instance, interface, name, addresses) (increase(wireguard_peer_received_bytes_total{instance=\"$instance\", interface=~\"$interface\"}[$__range]))", "format": "table", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "instant": false, "interval": "", "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "disableTextWrap": false, "editorMode": "code", "exemplar": false, "expr": "sum by(id, instance, interface, name) (increase(wireguard_peer_sent_bytes_total{instance=\"$instance\", interface=~\"$interface\"}[$__range]))", "format": "table", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, "interval": "", "legendFormat": "__auto", "range": true, "refId": "B", "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, "expr": "time()-sum(wireguard_peer_last_handshake_seconds{instance=\"$instance\", interface=~\"$interface\"}) by(id, instance, interface, name) ", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "__auto", "range": false, "refId": "C" }, { "datasource": { "type": "prometheus", "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, "expr": "sum(wireguard_peer_up{instance=\"$instance\", interface=~\"$interface\"}) by(id, instance, interface, name) ", "format": "table", "hide": false, "instant": true, "interval": "", "legendFormat": "__auto", "range": false, "refId": "D" } ], "title": "Peer Info", "transformations": [ { "id": "joinByField", "options": { "byField": "id", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": { "Time 1": false, "Time 2": false, "Time 3": false, "Time 4": false }, "includeByName": {}, "indexByName": { "Time 1": 8, "Time 2": 9, "Time 3": 10, "Time 4": 11, "Value #A": 4, "Value #B": 5, "Value #C": 6, "Value #D": 7, "addresses": 2, "id": 3, "instance 1": 12, "instance 2": 13, "instance 3": 16, "instance 4": 19, "interface 1": 0, "interface 2": 14, "interface 3": 17, "interface 4": 20, "name 1": 1, "name 2": 15, "name 3": 18, "name 4": 21 }, "renameByName": { "Value #A": "Received", "Value #B": "Transmitted", "Value #C": "Last Handshake", "Value #D": "Connected", "addresses": "IP Addresses", "id": "Public Key", "interface": "Interface", "interface 1": "Interface", "name": "Name", "name 1": "Name" } } } ], "type": "table" } ], "refresh": "30s", "tags": [ "wireguard", "vpn" ], "templating": { "list": [ { "current": {}, "hide": 0, "includeAll": false, "label": "Prometheus", "multi": false, "name": "datasource", "options": [], "query": "prometheus", "refresh": 1, "regex": "", "skipUrlSync": false, "type": "datasource" }, { "current": {}, "datasource": { "type": "prometheus", "uid": "${datasource}" }, "definition": "label_values(wireguard_interface_sent_bytes_total,instance)", "hide": 0, "includeAll": false, "label": "Instance", "multi": false, "name": "instance", "options": [], "query": { "qryType": 1, "query": "label_values(wireguard_interface_sent_bytes_total,instance)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "current": {}, "datasource": { "type": "prometheus", "uid": "${datasource}" }, "definition": "label_values(wireguard_interface_sent_bytes_total{instance=\"$instance\"},interface)", "hide": 0, "includeAll": true, "label": "Interface", "multi": true, "name": "interface", "options": [], "query": { "qryType": 1, "query": "label_values(wireguard_interface_sent_bytes_total{instance=\"$instance\"},interface)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" } ] }, "time": { "from": "now-12h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "WireGuard Portal", "uid": "wireguard-portal", "weekStart": "" }