From 34ee73195509f6b348d25497e5a01f5c7ce511dd Mon Sep 17 00:00:00 2001 From: Riccardo Bicelli Date: Fri, 27 Mar 2020 11:00:56 +0100 Subject: [PATCH] Improved interface detection --- pfsense_zbx.php | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/pfsense_zbx.php b/pfsense_zbx.php index c27ff1f..f7c67b4 100644 --- a/pfsense_zbx.php +++ b/pfsense_zbx.php @@ -61,21 +61,28 @@ function pfz_test(){ function pfz_interface_discovery() { $ifdescrs = get_configured_interface_with_descr(true); $ifaces = get_interface_arr(); - + $ifcs=array(); + $json_string = '{"data":['; - - foreach ($ifdescrs as $ifdescr => $ifname){ - $ifinfo = get_interface_info($ifdescr); - $ifaces[$ifname] = $ifinfo; + + foreach ($ifdescrs as $ifname => $ifdescr){ + $ifinfo = get_interface_info($ifname); + $ifinfo["description"] = $ifdescr; + $ifcs[$ifname] = $ifinfo; } - foreach ($ifaces as $iface=>$ifdescr) { - $json_string .= '{"{#IFNAME}":"' . $iface . '"'; + foreach ($ifaces as $hwif) { + $json_string .= '{"{#IFNAME}":"' . $hwif . '"'; - $descr = $ifdescr; - if($descr === null){ $descr = $iface; } + $ifdescr = $hwif; + foreach($ifcs as $ifc=>$ifinfo){ + if ($ifinfo["hwif"] == $hwif){ + $ifdescr = $ifinfo["description"]; + break; + } + } - $json_string .= ',"{#IFDESCR}":"' . $descr . '"'; + $json_string .= ',"{#IFDESCR}":"' . $ifdescr . '"'; $json_string .= '},'; } $json_string = rtrim($json_string,","); @@ -85,6 +92,7 @@ function pfz_interface_discovery() { } + //OpenVPN Server Discovery function pfz_openvpn_get_all_servers(){ $servers = openvpn_get_active_servers();