diff --git a/plugins/telegraf_gateways.php b/plugins/telegraf_gateways.php index 8b39eaa..326889b 100644 --- a/plugins/telegraf_gateways.php +++ b/plugins/telegraf_gateways.php @@ -1,30 +1,60 @@ #!/usr/local/bin/php-cgi -f $gwaddress) { - $gateway = $gw_ip; - $monitor = $gwstat[$gw_ip]["monitorip"]; - $source = $gwstat[$gw_ip]["srcip"]; - $delay = $gwstat[$gw_ip]["delay"]; - $stddev = $gwstat[$gw_ip]["stddev"]; - $loss = $gwstat[$gw_ip]["loss"]; - $status = $gwstat[$gw_ip]["status"]; - $substatus = $gwstat[$gw_ip]["substatus"]; +$a_gateways = return_gateways_array(); +$gateways_status = return_gateways_status(true); - printf("gateways,gateway_name=%s monitor_ip=\"%s\",gateway_ip=\"%s\",rtt=%s,rttsd=%s,loss=%si,status=\"%s\",substatus=\"%s\"\n", - $gateway, +foreach ($a_gateways as $i => $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 ); -} +}; ?>