From 8262e12e74cf0a8e407cdb58b73b9c804c654a75 Mon Sep 17 00:00:00 2001 From: artickl Date: Thu, 21 Mar 2024 23:23:12 +0000 Subject: [PATCH] Metric pc_active_on_* changed to apc_on_ - active peer connections Threshold for active connections moved out of the loop, plus moved to optional config setting --- plugins/wireguard/wireguard_ | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/plugins/wireguard/wireguard_ b/plugins/wireguard/wireguard_ index a6636a46..ad4fe56b 100755 --- a/plugins/wireguard/wireguard_ +++ b/plugins/wireguard/wireguard_ @@ -11,7 +11,9 @@ wireguard_ - Wildcard-plugin to monitor wireguard peer count and traffic =head1 CONFIGURATION -This plugin does not normally require configuration. +The following environment variables are used by this plugin + + active_threshold_m - threshold to count the connection as inactive (default 3 minutes) The plugin needs to run as root to be able to call the wg show command. This is configured like this: @@ -124,9 +126,9 @@ EOF pc_on_$iface.label $iface pc_on_$iface.info Interface $iface pc_on_$iface.min 0 -pc_on_active_$iface.label Active on $iface -pc_on_active_$iface.info Active on $iface -pc_on_active_$iface.min 0 +apc_on_$iface.label Active on $iface +apc_on_$iface.info Active on $iface +apc_on_$iface.min 0 EOF done echo "" @@ -167,15 +169,16 @@ EOF *) # Collect & print current monitoring values echo "multigraph wireguard_peercount" + active_threshold=$(date --date="${active_threshold_m:-3} min ago" +%s) + for iface in $(wg_interfaces); do - threshold=$(date --date="10 min ago" +%s) iface_peers=$(wg_peers "$iface") peer_count=$(wc -l <<< "$iface_peers") active_peer_count=$(awk -F";" -v threshold=$active_threshold '$5 > threshold' <<< "$iface_peers" | wc -l) echo "pc_on_$iface.value $peer_count" - echo "pc_active_on_$iface.value $active_peer_count" + echo "apc_on_$iface.value $active_peer_count" done echo ""