From be04e6351d9b53eaf38f908b237cd0f3c2e27ce2 Mon Sep 17 00:00:00 2001 From: Riccardo Bicelli Date: Mon, 27 Apr 2020 22:44:10 +0200 Subject: [PATCH] Tests with openvpn server users --- pfsense_zbx.php | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pfsense_zbx.php b/pfsense_zbx.php index 233bda9..fd23d6f 100644 --- a/pfsense_zbx.php +++ b/pfsense_zbx.php @@ -155,6 +155,32 @@ function pfz_openvpn_servervalue($server_id,$valuekey){ echo $value; } +//OpenVPN Server/User-Auth Discovery +function pfz_openvpn_server_userdiscovery(){ + $servers = pfz_openvpn_get_all_servers(); + + $json_string = '{"data":['; + + foreach ($servers as $server){ + if ( ($server['mode']=='server_user') || ($server['mode']=='server_tls_user') ) { + if (is_array($server['conns'])) { + $name = trim(preg_replace('/\w{3}(\d)?\:\d{4,5}/i', '', $server['name'])); + + foreach($server['conns'] as $conn) { + $json_string .= '{"{#SERVER}":"' . $server['vpnid'] . '"'; + $json_string .= ',"{#NAME}":"' . $name . '"'; + $json_string .= ',"{#USERID}":"' . $conn['common_name'] . '"'; + $json_string .= '},'; + } + } + } + } + + $json_string = rtrim($json_string,","); + $json_string .= "]}"; + + echo $json_string; +} // OpenVPN Client Discovery function pfz_openvpn_clientdiscovery() { @@ -431,6 +457,9 @@ function pfz_discovery($section){ case "openvpn_server": pfz_openvpn_serverdiscovery(); break; + case "openvpn_server_user": + pfz_openvpn_server_userdiscovery(); + break; case "openvpn_client": pfz_openvpn_clientdiscovery(); break;