pfSense-Dashboard/plugins/telegraf_pfinterface.php
Victor Robellini 2257d6e8a0 Added ipv6
2021-03-06 15:50:54 -05:00

67 lines
1.9 KiB
PHP
Executable File

#!/usr/local/bin/php-cgi -f
<?php
require_once("config.inc");
require_once("gwlb.inc");
require_once("interfaces.inc");
$host = gethostname();
$source = "pfconfig";
$iflist = get_configured_interface_with_descr(true);
foreach ($iflist as $ifname => $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
);
}
?>