diff options
author | Micah Anderson <micah@riseup.net> | 2022-07-02 12:41:38 -0400 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2022-07-02 12:41:38 -0400 |
commit | 9191c53d6f532701cc6cf51d4674818a0ba13215 (patch) | |
tree | e7772bd2ed644f16ba731c0551b0bb2d1934c25a | |
parent | 85d1ef9881b2501b5c64424f676618ac9254ee4e (diff) |
update openvpn grafana dashboard
-rw-r--r-- | config/roles/leap-prometheus/files/grafana/dashboards/openvpn-server_rev1.json | 1388 | ||||
-rw-r--r-- | config/roles/leap-prometheus/files/grafana/dashboards/openvpn.json | 976 |
2 files changed, 976 insertions, 1388 deletions
diff --git a/config/roles/leap-prometheus/files/grafana/dashboards/openvpn-server_rev1.json b/config/roles/leap-prometheus/files/grafana/dashboards/openvpn-server_rev1.json deleted file mode 100644 index 9248bb3..0000000 --- a/config/roles/leap-prometheus/files/grafana/dashboards/openvpn-server_rev1.json +++ /dev/null @@ -1,1388 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "description": "OpenVPN Server status using Prometheus and OpenVPN exporter ", - "editable": true, - "gnetId": 10562, - "graphTooltip": 0, - "id": 15, - "iteration": 1584708793026, - "links": [ - { - "icon": "external link", - "tags": [ - "openvpn" - ], - "targetBlank": true, - "type": "dashboards" - } - ], - "panels": [ - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "localhost", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "y": 0 - }, - "id": 21, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/.+/i" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "topk(6, sum(count_values(\"connection_time\", count_over_time(openvpn_server_client_received_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[1d]))by(common_name))by(common_name)>1)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "{{ common_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": "24h", - "timeRegions": [], - "timeShift": null, - "title": "Top Logins", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "series", - "name": null, - "show": true, - "values": [ - "current" - ] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPrefix": false, - "colorValue": true, - "colors": [ - "#d44a3a", - "rgba(237, 129, 40, 0.89)", - "#299c46" - ], - "datasource": "localhost", - "decimals": null, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 2, - "w": 7, - "x": 6, - "y": 0 - }, - "id": 12, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "Status:", - "prefixFontSize": "150%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "openvpn_up", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "1, 1", - "timeFrom": null, - "timeShift": null, - "title": "", - "type": "singlestat", - "valueFontSize": "150%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - }, - { - "op": "=", - "text": "UP", - "value": "1" - }, - { - "op": "=", - "text": "DOWN", - "value": "0" - } - ], - "valueName": "current" - }, - { - "columns": [], - "datasource": "localhost", - "fontSize": "100%", - "gridPos": { - "h": 6, - "w": 8, - "x": 13, - "y": 0 - }, - "id": 4, - "links": [], - "options": {}, - "pageSize": 100, - "scroll": true, - "showHeader": true, - "sort": { - "col": 2, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "hidden" - }, - { - "alias": "Username", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "common_name", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Login Time", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": null, - "mappingType": 1, - "pattern": "connection_time", - "thresholds": [], - "type": "date", - "unit": "dateTimeFromNow" - }, - { - "alias": "Address", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "virtual_address", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "Value", - "thresholds": [], - "type": "hidden", - "unit": "short" - }, - { - "alias": "Rx", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #A", - "thresholds": [], - "type": "number", - "unit": "bytes" - }, - { - "alias": "Tx", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #B", - "thresholds": [], - "type": "number", - "unit": "bytes" - } - ], - "targets": [ - { - "expr": "sort_desc(sum(label_replace(openvpn_server_client_received_bytes_total{common_name!=\"UNDEF\"}, \"connection_time\", \"${1}000\", \"connection_time\", \"(.*)\"))by(common_name, connection_time, virtual_address))", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "A" - }, - { - "expr": "sum(label_replace(openvpn_server_client_sent_bytes_total{common_name!=\"UNDEF\"}, \"connection_time\", \"${1}000\", \"connection_time\", \"(.*)\"))by(common_name, connection_time, virtual_address)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "B" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Current OpenVPN Clients", - "transform": "table", - "type": "table" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPostfix": false, - "colorPrefix": false, - "colorValue": true, - "colors": [ - "#d44a3a", - "rgba(237, 129, 40, 0.89)", - "#299c46" - ], - "datasource": "localhost", - "format": "none", - "gauge": { - "maxValue": 256, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 2, - "w": 3, - "x": 6, - "y": 2 - }, - "id": 2, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "pluginVersion": "6.2.0-beta2", - "postfix": " Clients", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": true, - "lineColor": "#5794F2", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "openvpn_openvpn_server_connected_clients", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "0, 30", - "timeFrom": null, - "timeShift": null, - "title": "", - "type": "singlestat", - "valueFontSize": "150%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - }, - { - "op": "=", - "text": "No", - "value": "0" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPostfix": false, - "colorValue": true, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "localhost", - "decimals": 0, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 2, - "w": 4, - "x": 9, - "y": 2 - }, - "id": 10, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "s since status update", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "30%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "time()-openvpn_status_update_time_seconds", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "120, 180", - "timeFrom": null, - "timeShift": null, - "title": "", - "type": "singlestat", - "valueFontSize": "150%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPrefix": false, - "colorValue": true, - "colors": [ - "#5794F2", - "#5794F2", - "#5794F2" - ], - "datasource": "localhost", - "decimals": 2, - "format": "bytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 2, - "w": 3, - "x": 6, - "y": 4 - }, - "hideTimeOverride": true, - "id": 19, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": " sent today", - "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": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(increase(openvpn_server_client_sent_bytes_total[1d]))", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "1, 2", - "timeFrom": "24h", - "timeShift": null, - "title": "", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": true, - "colors": [ - "#5794F2", - "#5794F2", - "#5794F2" - ], - "datasource": "localhost", - "decimals": 2, - "format": "bytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 2, - "w": 4, - "x": 9, - "y": 4 - }, - "hideTimeOverride": true, - "id": 18, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": " received today", - "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": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(increase(openvpn_server_client_received_bytes_total[1d]))", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "1, 2", - "timeFrom": "24h", - "timeShift": null, - "title": "", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "localhost", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 7, - "x": 6, - "y": 6 - }, - "id": 24, - "interval": "", - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "instance:network_receive_bytes_total:rate5m{host=~\"$host\"}", - "legendFormat": "Receive bytes", - "refId": "A" - }, - { - "expr": "instance:network_transmit_bytes_total:rate5m{host=~\"$host\"}", - "legendFormat": "Transmit bytes", - "refId": "B" - }, - { - "expr": "sum(irate(instance_network_receive_bytes{host=~\"$host\"}[5m]))", - "legendFormat": "Receive 2", - "refId": "C" - }, - { - "expr": "sum(irate(instance_network_transmit_bytes{host=~\"$host\"}[5m]))", - "instant": false, - "legendFormat": "Transmit 2", - "refId": "D" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Total Gateway Network", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "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 - } - }, - { - "aliasColors": {}, - "bars": false, - "cacheTimeout": null, - "dashLength": 10, - "dashes": false, - "datasource": "localhost", - "decimals": 0, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 13, - "y": 6 - }, - "id": 14, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(openvpn_openvpn_server_connected_clients{host=~\"$host\"})", - "format": "time_series", - "instant": false, - "interval": "", - "intervalFactor": 1, - "legendFormat": "Connected OpenVPN Clients", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Clients Connected", - "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", - "label": "Clients", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "localhost", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "y": 7 - }, - "id": 22, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/.+/i" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "topk(6, sum(increase(openvpn_server_client_received_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[1d])+increase(openvpn_server_client_sent_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[1d]))by(common_name))", - "format": "time_series", - "instant": true, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{ common_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": "24h", - "timeRegions": [], - "timeShift": null, - "title": "Top Traffic", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "series", - "name": null, - "show": true, - "values": [ - "current" - ] - }, - "yaxes": [ - { - "decimals": 0, - "format": "decbytes", - "label": "", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "breakPoint": "100%", - "cacheTimeout": null, - "combine": { - "label": "Others", - "threshold": "0.025" - }, - "datasource": "localhost", - "fontSize": "60%", - "format": "decbytes", - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "y": 14 - }, - "id": 8, - "interval": null, - "legend": { - "percentage": true, - "show": true, - "sort": "current", - "sortDesc": true, - "values": false - }, - "legendType": "On graph", - "links": [], - "maxDataPoints": 3, - "nullPointMode": "connected", - "options": {}, - "pieType": "pie", - "strokeWidth": 1, - "targets": [ - { - "expr": "sort(sum(increase(openvpn_server_client_received_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[1d])+increase(openvpn_server_client_sent_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[1d]))by(common_name))", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{ common_name }}", - "refId": "A" - } - ], - "timeFrom": "24h", - "timeShift": null, - "title": "Traffic Distribution", - "type": "grafana-piechart-panel", - "valueName": "current" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "localhost", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 7, - "x": 6, - "y": 14 - }, - "id": 26, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "node_nf_conntrack_entries{host=~\"$host\"}", - "legendFormat": "Conntrack entries", - "refId": "A" - }, - { - "expr": "node_nf_conntrack_entries_limit{host=~\"$host\"}", - "legendFormat": "Conntrack limit", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Gateway Connection Tracking", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "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 - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "localhost", - "decimals": 2, - "fill": 0, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 8, - "x": 13, - "y": 14 - }, - "id": 6, - "interval": "1m", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": true, - "min": false, - "rightSide": true, - "show": false, - "sort": "total", - "sortDesc": true, - "total": true, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null as zero", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "/.+ - Rx$/i", - "color": "#5794F2", - "stack": "A", - "transform": "negative-Y" - }, - { - "alias": "/.+ - Tx$/i", - "color": "#73BF69", - "stack": "B" - }, - { - "alias": "Rx - Others", - "color": "#5794F2", - "dashes": true, - "stack": "A", - "transform": "negative-Y" - }, - { - "alias": "Tx - Others", - "color": "#73BF69", - "dashes": true, - "stack": "B" - } - ], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "topk(6, sum(rate(openvpn_server_client_received_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[2m]))by(host,common_name))", - "format": "time_series", - "interval": "2m", - "intervalFactor": 1, - "legendFormat": "{{ common_name }} - Rx", - "refId": "A" - }, - { - "expr": "topk(6, sum(rate(openvpn_server_client_sent_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[2m]))by(host,common_name))", - "format": "time_series", - "interval": "2m", - "intervalFactor": 1, - "legendFormat": "{{ common_name }} - Tx", - "refId": "B" - }, - { - "expr": "sum(bottomk(scalar(openvpn_openvpn_server_connected_clients{host=~\"$host\"})-6, sum(rate(openvpn_server_client_received_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[2m]))by(host,common_name)))", - "format": "time_series", - "interval": "2m", - "intervalFactor": 1, - "legendFormat": "Rx - Others", - "refId": "E" - }, - { - "expr": "sum(bottomk(scalar(openvpn_openvpn_server_connected_clients{host=~\"$host\"})-6, sum(rate(openvpn_server_client_sent_bytes_total{host=~\"$host\",common_name!=\"UNDEF\"}[1m]))by(host,common_name)))", - "format": "time_series", - "interval": "2m", - "intervalFactor": 1, - "legendFormat": "Tx - Others", - "refId": "F" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Top 6 Client Network Activity", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "decimals": null, - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": "5s", - "schemaVersion": 20, - "style": "dark", - "tags": [ - "openvpn" - ], - "templating": { - "list": [ - { - "allValue": null, - "current": { - "tags": [], - "text": "floatrp1", - "value": "floatrp1" - }, - "datasource": "localhost", - "definition": "label_values(openvpn_up, host)", - "hide": 0, - "includeAll": true, - "label": "host", - "multi": false, - "name": "host", - "options": [ - { - "selected": false, - "text": "All", - "value": "$__all" - }, - { - "selected": true, - "text": "floatrp1", - "value": "floatrp1" - } - ], - "query": "label_values(openvpn_up, host)", - "refresh": 0, - "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" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "OpenVPN Stats Ale", - "uid": "_1DM17Zwk", - "version": 2 -}
\ No newline at end of file diff --git a/config/roles/leap-prometheus/files/grafana/dashboards/openvpn.json b/config/roles/leap-prometheus/files/grafana/dashboards/openvpn.json new file mode 100644 index 0000000..f5e3263 --- /dev/null +++ b/config/roles/leap-prometheus/files/grafana/dashboards/openvpn.json @@ -0,0 +1,976 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "OpenVPN Server status using Prometheus and OpenVPN exporter ", + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": 10562, + "graphTooltip": 0, + "id": 104, + "iteration": 1656718917376, + "links": [ + { + "icon": "external link", + "tags": [ + "openvpn" + ], + "targetBlank": true, + "type": "dashboards" + } + ], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "0": { + "text": "DOWN" + }, + "1": { + "text": "UP" + } + }, + "type": "value" + }, + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#d44a3a", + "value": null + }, + { + "color": "rgba(237, 129, 40, 0.89)", + "value": 1 + }, + { + "color": "#299c46", + "value": 1 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 19, + "x": 2, + "y": 0 + }, + "id": 12, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "value" + }, + "pluginVersion": "8.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": false, + "expr": "openvpn_up{host=~\"$host\"}", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 2 + }, + "hiddenSeries": false, + "id": 24, + "interval": "", + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": false, + "show": true, + "sort": "avg", + "sortDesc": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.3.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "instance:network_receive_bytes_total:rate5m{host=~\"$host\"}", + "interval": "", + "legendFormat": "{{host}} Rx", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "instance:network_transmit_bytes_total:rate5m{host=~\"$host\"}", + "interval": "", + "legendFormat": "{{host}} Tx", + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "expr": "sum(irate(instance_network_receive_bytes{host=~\"$host\"}[5m]))", + "hide": false, + "legendFormat": "Receive 2", + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "expr": "sum(irate(instance_network_transmit_bytes{host=~\"$host\"}[5m]))", + "instant": false, + "legendFormat": "Transmit 2", + "refId": "D" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "Total Gateway Network", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:47", + "format": "short", + "label": "Bytes", + "logBase": 1, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:48", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "Clients", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 2 + }, + "id": 35, + "links": [], + "options": { + "legend": { + "calcs": [ + "min", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "single" + } + }, + "pluginVersion": "8.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "sum(openvpn_server_connected_clients{status_path=\"/tmp/openvpn-status-tcp\"})", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "tcp", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "sum(openvpn_server_connected_clients{status_path=\"/tmp/openvpn-status-udp\"})", + "hide": false, + "interval": "", + "legendFormat": "udp", + "refId": "B" + } + ], + "title": "Clients connected (all endpoints)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "Clients", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 12 + }, + "id": 14, + "links": [], + "options": { + "legend": { + "calcs": [ + "min", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "single" + } + }, + "pluginVersion": "8.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "openvpn_server_connected_clients{status_path=\"/tmp/openvpn-status-tcp\", host=~\"$host\"}", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{host}}", + "refId": "A" + } + ], + "title": "Clients connected (tcp)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 12 + }, + "id": 28, + "options": { + "legend": { + "calcs": [ + "min", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "single" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "openvpn_server_connected_clients{status_path=\"/tmp/openvpn-status-udp\",host=~\"$host\"}", + "interval": "", + "legendFormat": "{{host}}", + "refId": "A" + } + ], + "title": "Clients connected (udp)", + "type": "timeseries" + }, + { + "alerting": {}, + "aliasColors": { + "iowait ": "#BF1B00", + "nice ": "#EF843C" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "decimals": 0, + "description": "non-idle CPU usage", + "editable": true, + "error": false, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 12, + "w": 12, + "x": 0, + "y": 22 + }, + "hiddenSeries": false, + "id": 34, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "sort": "avg", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [ + { + "title": "see $cluster", + "url": "/" + } + ], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.3.1", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "100 - ((avg by (host) (rate(node_cpu_seconds_total{host=~\"$host\",mode=\"idle\"}[5m]))) * 100)", + "hide": false, + "interval": "", + "legendFormat": "{{host}}", + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "CPU: utilization", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:463", + "format": "percent", + "label": "", + "logBase": 1, + "max": "100", + "min": 0, + "show": true + }, + { + "$$hashKey": "object:464", + "format": "short", + "logBase": 1, + "show": false + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "gridPos": { + "h": 12, + "w": 12, + "x": 12, + "y": 22 + }, + "hiddenSeries": false, + "id": 32, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 6, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.3.1", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "node_load5{host=~\"$host\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 4, + "legendFormat": "{{host}}", + "refId": "B", + "step": 480 + } + ], + "thresholds": [], + "timeRegions": [], + "title": "System Load", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:6261", + "format": "short", + "label": "", + "logBase": 1, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:6262", + "format": "short", + "logBase": 1, + "show": false + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 34 + }, + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.3.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "node_nf_conntrack_entries{host=~\"$host\"}", + "interval": "", + "legendFormat": "{{host}} entries", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "exemplar": true, + "expr": "node_nf_conntrack_entries_limit{host=~\"$host\"}", + "interval": "", + "legendFormat": "{{host}} limit", + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "Gateway Connection Tracking", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:158", + "format": "short", + "label": "", + "logBase": 1, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:159", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + } + ], + "refresh": "", + "schemaVersion": 33, + "style": "dark", + "tags": [ + "openvpn" + ], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "P49960DE5880E8C68" + }, + "definition": "label_values(openvpn_up, host)", + "hide": 0, + "includeAll": true, + "label": "host", + "multi": true, + "name": "host", + "options": [], + "query": { + "query": "label_values(openvpn_up, host)", + "refId": "localhost-host-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "OpenVPN Stats", + "uid": "_1DM17Zwz", + "version": 18, + "weekStart": "" +} |