From 438ea5d8608b3bb8272620c92dc0c1d9e2923ba8 Mon Sep 17 00:00:00 2001 From: Will Blanton Date: Thu, 16 Dec 2021 09:39:37 -0500 Subject: [PATCH] Added status_code to output to allow for more flexible formatting inside grafana, since it can only set thresholds by numeric values. New status codes are 0=online, 1=down, 2=unavailable. --- plugins/telegraf_pfifgw.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/telegraf_pfifgw.php b/plugins/telegraf_pfifgw.php index 216d4e0..6131c47 100755 --- a/plugins/telegraf_pfifgw.php +++ b/plugins/telegraf_pfifgw.php @@ -97,6 +97,7 @@ foreach ($gw_array as $gw => $gateway) { $stddev = $gw_statuses[$gw]["stddev"]; $loss = $gw_statuses[$gw]["loss"]; $status = $gw_statuses[$gw]["status"]; + $status_code; $substatus; $interface = $gateway["interface"]; @@ -122,6 +123,11 @@ foreach ($gw_array as $gw => $gateway) { } if (!isset($status)) { $status = "Unavailable"; + $status_code = "2"; + } elseif ($status == "online") { + $status_code = "0"; + } elseif ($status == "down") { + $status_code = "1"; } if (!isset($interface)) { $interface = "Unassigned"; @@ -154,7 +160,7 @@ foreach ($gw_array as $gw => $gateway) { } printf( - "gateways,host=%s,interface=%s,gateway_name=%s monitor=\"%s\",source=\"%s\",defaultgw=%s,gwdescr=\"%s\",delay=%s,stddev=%s,loss=%s,status=\"%s\",substatus=\"%s\"\n", + "gateways,host=%s,interface=%s,gateway_name=%s monitor=\"%s\",source=\"%s\",defaultgw=%s,gwdescr=\"%s\",delay=%s,stddev=%s,loss=%s,status=\"%s\",status_code=%d,substatus=\"%s\"\n", $host, $interface, $name, //name is required as it is possible to have 2 gateways on 1 interface. i.e. WAN_DHCP and WAN_DHCP6 @@ -166,6 +172,7 @@ foreach ($gw_array as $gw => $gateway) { floatval($stddev), floatval($loss), $status, + $status_code, $substatus ); };