diff options
author | Phil Davis <phil.davis@inf.org> | 2016-07-20 17:25:24 +0930 |
---|---|---|
committer | Phil Davis <phil.davis@inf.org> | 2016-07-20 17:25:24 +0930 |
commit | 197cd6c0f8d5c8d58314bf26614acf947428b547 (patch) | |
tree | 2bb19464e6164ba14b4a0a8c8d9743cf7ebc11e9 /src | |
parent | c9d6b915daced9767ff596ee9485ec2d9a573a41 (diff) | |
download | pfsense-197cd6c0f8d5c8d58314bf26614acf947428b547.zip pfsense-197cd6c0f8d5c8d58314bf26614acf947428b547.tar.gz |
Backport notify by email and in syslog when a channel goes up or down
Original pull request to master was #2847
Diffstat (limited to 'src')
-rw-r--r-- | src/etc/inc/gwlb.inc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/etc/inc/gwlb.inc b/src/etc/inc/gwlb.inc index bcfd7cc..594cbf1 100644 --- a/src/etc/inc/gwlb.inc +++ b/src/etc/inc/gwlb.inc @@ -955,15 +955,27 @@ function return_gateway_groups_array() { $gwdown = true; } if ($gwdown == true) { - log_error($msg); - notify_via_growl($msg); - notify_via_smtp($msg); + if (!file_exists("/tmp/.down.$gwname")) { + $msg .= "\n".implode("|", $status); + touch("/tmp/.down.$gwname"); + log_error($msg); + notify_via_growl($msg); + notify_via_smtp($msg); + } } else { /* Online add member */ if (!is_array($tiers[$tier])) { $tiers[$tier] = array(); } $tiers[$tier][] = $gwname; + if (file_exists("/tmp/.down.$gwname")) { + $msg = "MONITOR: {$gwname} is available now, adding to routing group"; + $msg .= "\n".implode("|", $status); + log_error($msg); + notify_via_growl($msg); + notify_via_smtp($msg); + unlink("/tmp/.down.$gwname"); + } } } else if (isset($gateways_arr[$gwname]['monitor_disable'])) { $tiers[$tier][] = $gwname; |