2.3 KiB
2.3 KiB
nagios-plugin-check_wireguard
Nagios check for wireguard server
This plugin uses the wg show
output on a Wireguard server to show the interfaces and peers defined
Dependencies
- Monitoring::Plugin::Functions Perl module
- Monitoring::Plugin::Getopt Perl module
Usage
./check_wireguard
The output shows the following information
WIREGUARD OK Interfaces: Online:2 Expected:2 wg0:1/2 wg1:0/2
Interfaces: Online:X Expected:Y
The number of interfaces found withwg show
and the number expected (provided by the-i
argument)- The available online interfaces are then listed in the format
wgX:<connected>/<total>
.<connected>
is the number of interfaces that have a "latest handshake" value listed<total>
is the total number of peers defined for that interface
Installation
-
Copy the
check_wireguard
to your nagios plugin folder and set executable. -
Add the following to your
nrpe.cfg
file
command[wireguard]=sudo /usr/lib/nagios/plugins/check_wireguard
- Set your nagios user to be able to run the plugin without a password
nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/check_wireguard
Examples
- Run with the
-h
argument to see all options
check_wireguard -h
- Specify the path to the
wg
binary. Default is/usr/bin/wg
check_wireguard -b /usr/local/wireguard/bin/wg
- Specify after how many seconds since the last handshake, a peer should be considered disconnected. Default is
300
seconds. If set to 0, a peer will be considered connected after a single handshake no matter how long ago it was
check_wireguard -s 600
Future Work
- Compare config against current running config to determine interfaces that are offline
Changelog
- 2021-11-15 :: 0.5.0 :: Update function seconds_since_handshake() to handle string 'Now'
- 2021-11-12 :: 0.4.0 :: Add extra output on error when failing to parse handshake value
- 2018-08-31 :: 0.3.0 :: Add -s switch for connection timeout calculation
- 2018-08-30 :: 0.2.0 :: Add -i switch for expected interfaces
- 2018-08-30 :: 0.1.0 :: First relase
Site
https://gitlab.com/alasdairkeyes/nagios-plugin-check_wireguard
Author
- Alasdair Keyes - https://akeyes.co.uk/
License
Released under GPL V3 - See included license file.