mirror of https://github.com/h44z/wg-portal.git
				
				
				
			
		
			
				
	
	
		
			918 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			JSON
		
	
	
	
			
		
		
	
	
			918 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			JSON
		
	
	
	
| {
 | |
|   "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": "",
 | |
|           "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": "",
 | |
|           "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": "$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": "$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 by(name) (wireguard_peer_up{instance=\"$instance\", interface=~\"$interface\"})",
 | |
|           "instant": false,
 | |
|           "interval": "$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"
 | |
|           }
 | |
|         ]
 | |
|       },
 | |
|       "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": "1m",
 | |
|   "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"
 | |
|       },
 | |
|       {
 | |
|         "current": {
 | |
|           "text": "2m",
 | |
|           "value": "2m"
 | |
|         },
 | |
|         "description": "",
 | |
|         "label": "Step Interval",
 | |
|         "name": "interval",
 | |
|         "options": [
 | |
|           {
 | |
|             "selected": false,
 | |
|             "text": "30s",
 | |
|             "value": "30s"
 | |
|           },
 | |
|           {
 | |
|             "selected": false,
 | |
|             "text": "1m",
 | |
|             "value": "1m"
 | |
|           },
 | |
|           {
 | |
|             "selected": true,
 | |
|             "text": "2m",
 | |
|             "value": "2m"
 | |
|           },
 | |
|           {
 | |
|             "selected": false,
 | |
|             "text": "5m",
 | |
|             "value": "5m"
 | |
|           },
 | |
|           {
 | |
|             "selected": false,
 | |
|             "text": "10m",
 | |
|             "value": "10m"
 | |
|           }
 | |
|         ],
 | |
|         "query": "30s,1m,2m,5m,10m",
 | |
|         "type": "custom"
 | |
|       }
 | |
|     ]
 | |
|   },
 | |
|   "time": {
 | |
|     "from": "now-12h",
 | |
|     "to": "now"
 | |
|   },
 | |
|   "timepicker": {},
 | |
|   "timezone": "",
 | |
|   "title": "WireGuard Portal",
 | |
|   "uid": "wireguard-portal",
 | |
|   "weekStart": ""
 | |
| }
 |