diff --git a/plugins/telegraf_gateways.php b/plugins/telegraf_gateways.php deleted file mode 100644 index efe4d1e..0000000 --- a/plugins/telegraf_gateways.php +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/local/bin/php-cgi -f - $gateway) { - - $name = $gateways_status[$i]["name"]; - $monitor = $gateways_status[$i]["monitorip"]; - $source = $gateways_status[$i]["srcip"]; - $delay = $gateways_status[$i]["delay"]; - $stddev = $gateways_status[$i]["stddev"]; - $loss = $gateways_status[$i]["loss"]; - $status = $gateways_status[$i]["status"]; - $substatus = $gateways_status[$i]["substatus"]; - - $interface = $gateway["interface"]; - $friendlyname = $gateway["friendlyiface"]; # This is not the friendly interface name so I'm not using it - $friendlyifdescr = $gateway["friendlyifdescr"]; - $gwdescr = $gateway["descr"]; - $defaultgw = $gateway['isdefaultgw']; - - if (isset($gateway['isdefaultgw'])) { - $defaultgw = "1"; - } else { - $defaultgw = "0"; - } - - if ($gateways_status[$i]) { - if (isset($gateway['monitor_disable'])) { - $monitor = "Unmonitored"; - $delay = "Pending"; - $stdev = "Pending"; - $loss = "Pending"; - } - } - - printf("gateways,host=%s,interface=%s monitor=\"%s\",source=\"%s\",defaultgw=%s,gwdescr=\"%s\",delay=%s,stddev=%s,loss=%s,status=\"%s\",substatus=\"%s\"\n", - $host, - $interface, - # $friendlyifdescr, - #$name, - $monitor, - $source, - $defaultgw, - $gwdescr, - floatval($delay), - floatval($stddev), - floatval($loss), - $status, - $substatus - ); -}; -?> diff --git a/plugins/telegraf_pfifgw.php b/plugins/telegraf_pfifgw.php new file mode 100755 index 0000000..296e0ac --- /dev/null +++ b/plugins/telegraf_pfifgw.php @@ -0,0 +1,123 @@ +#!/usr/local/bin/php-cgi -f + $friendly) { + $ifinfo = get_interface_info($ifname); + $ifstatus = $ifinfo['status']; + $ifconf = $config['interfaces'][$ifname]; + $ip4addr = get_interface_ip($ifname); + $ip4subnet = get_interface_subnet($ifname); + $ip6addr = get_interface_ipv6($ifname); + $ip6subnet = get_interface_subnetv6($ifname); + $realif = get_real_interface($ifname); + $mac = get_interface_mac($realif); + + if (!isset($ip4addr)){ + $ip4addr = "Unassigned"; + } + if (!isset($ip4subnet)){ + $ip4subnet = "Unassigned"; + } + if (!isset($ip6addr)){ + $ip6addr = "Unassigned"; + } + if (!isset($ip6subnet)){ + $ip6subnet = "Unassigned"; + } + if (!isset($mac)){ + $mac = "Unavailable"; + } + if (strtolower($ifstatus) == "up"){ + $ifstatus = 1; + } + if (strtolower($ifstatus) == "active"){ + $ifstatus = 1; + } + if (strtolower($ifstatus) == "no carrier"){ + $ifstatus = 0; + } + if (strtolower($ifstatus) == "down"){ + $ifstatus = 0; + } + if (!isset($ifstatus)){ + $ifstatus = 2; + } + + printf("interface,host=%s,name=%s,ip4_address=%s,ip4_subnet=%s,ip6_address=%s,ip6_subnet=%s,mac_address=%s,friendlyname=%s,source=%s status=%s\n", + $host, + $realif, + $ip4addr, + $ip4subnet, + $ip6addr, + $ip6subnet, + $mac, + $friendly, + $source, + $ifstatus + ); +} + +$gw_array = return_gateways_array(); +$gw_statuses = return_gateways_status(true); + +foreach ($gw_array as $gw => $gateway) { + + $name = $gw_statuses[$gw]["name"]; + $monitor = $gw_statuses[$gw]["monitorip"]; + $source = $gw_statuses[$gw]["srcip"]; + $delay = $gw_statuses[$gw]["delay"]; + $stddev = $gw_statuses[$gw]["stddev"]; + $loss = $gw_statuses[$gw]["loss"]; + $status = $gw_statuses[$gw]["status"]; + $substatus; + + $interface = $gateway["interface"]; + $friendlyname = $gateway["friendlyiface"]; # This is not the friendly interface name so I'm not using it + $friendlyifdescr = $gateway["friendlyifdescr"]; + $gwdescr = $gateway["descr"]; + $defaultgw = $gateway['isdefaultgw']; + + if (isset($gateway['isdefaultgw'])) { + $defaultgw = "1"; + } else { + $defaultgw = "0"; + } + + if ($gw_statuses[$gw]) { + if (isset($gateway['monitor_disable'])) { + $monitor = "Unmonitored"; + $delay = "Pending"; + $stdev = "Pending"; + $loss = "Pending"; + } + } + + // Some earlier versions of pfSense do not return substatus + if (isset($gw_statuses[$gw]["substatus"])) { + $substatus = $gw_statuses[$gw]["substatus"]; + } else { + $substatus = "N/A"; + } + + printf("gateways,host=%s,interface=%s monitor=\"%s\",source=\"%s\",defaultgw=%s,gwdescr=\"%s\",delay=%s,stddev=%s,loss=%s,status=\"%s\",substatus=\"%s\"\n", + $host, + $interface, + $monitor, + $source, + $defaultgw, + $gwdescr, + floatval($delay), + floatval($stddev), + floatval($loss), + $status, + $substatus + ); +}; +?> diff --git a/plugins/telegraf_pfinterface.php b/plugins/telegraf_pfinterface.php deleted file mode 100755 index e13d699..0000000 --- a/plugins/telegraf_pfinterface.php +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/local/bin/php-cgi -f - $gateway) { - - $name = $gw_statuses[$gw]["name"]; - $monitor = $gw_statuses[$gw]["monitorip"]; - $source = $gw_statuses[$gw]["srcip"]; - $delay = $gw_statuses[$gw]["delay"]; - $stddev = $gw_statuses[$gw]["stddev"]; - $loss = $gw_statuses[$gw]["loss"]; - $status = $gw_statuses[$gw]["status"]; - $substatus; - - $interface = $gateway["interface"]; - $friendlyname = $gateway["friendlyiface"]; # This is not the friendly interface name so I'm not using it - $friendlyifdescr = $gateway["friendlyifdescr"]; - $gwdescr = $gateway["descr"]; - $defaultgw = $gateway['isdefaultgw']; - - if (isset($gateway['isdefaultgw'])) { - $defaultgw = "1"; - } else { - $defaultgw = "0"; - } - - if ($gw_statuses[$gw]) { - if (isset($gateway['monitor_disable'])) { - $monitor = "Unmonitored"; - $delay = "Pending"; - $stdev = "Pending"; - $loss = "Pending"; - } - } - - - // Some earlier versions of pfSense do not return substatus - if (isset($gw_statuses[$gw]["substatus"])) { - $substatus = $gw_statuses[$gw]["substatus"]; - } else { - $substatus = "N/A"; - } - - printf("gateways,host=%s,interface=%s monitor=\"%s\",source=\"%s\",defaultgw=%s,gwdescr=\"%s\",delay=%s,stddev=%s,loss=%s,status=\"%s\",substatus=\"%s\"\n", - $host, - $interface, - $monitor, - $source, - $defaultgw, - $gwdescr, - floatval($delay), - floatval($stddev), - floatval($loss), - $status, - $substatus - ); -}; -?>