From 125ecb4bde5b19cca9a930f8c9a3ad74dbd78147 Mon Sep 17 00:00:00 2001 From: SourceDoctor Date: Mon, 8 Jun 2020 10:56:45 +0200 Subject: [PATCH] Eventlog Application Alert in it's Severity Colour (#11660) * Eventlog Application Alert in it's Severity Colour * use 'use' * enums * enum key list * typo fix --- LibreNMS/Alert/RunAlerts.php | 18 +++++++++++++++--- LibreNMS/Enum/Alert.php | 8 ++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/LibreNMS/Alert/RunAlerts.php b/LibreNMS/Alert/RunAlerts.php index 69ddfd649e..f8e5f1fc7e 100644 --- a/LibreNMS/Alert/RunAlerts.php +++ b/LibreNMS/Alert/RunAlerts.php @@ -33,6 +33,7 @@ namespace LibreNMS\Alert; use App\Models\DevicePerf; use LibreNMS\Config; use LibreNMS\Util\Time; +use LibreNMS\Enum\Alert; use LibreNMS\Enum\AlertState; use Log; @@ -552,15 +553,26 @@ class RunAlerts ]; $prefix[3] = &$prefix[0]; $prefix[4] = &$prefix[0]; + + if ($obj['state'] == AlertState::RECOVERED) { + $severity = Alert::OK; + } elseif ($obj['state'] == AlertState::ACTIVE) { + $severity = Alert::SEVERITIES[$obj['severity']] ?? Alert::UNKNOWN; + } elseif ($obj['state'] == AlertState::ACKNOWLEDGED) { + $severity = Alert::NOTICE; + } else { + $severity = Alert::UNKNOWN; + } + if ($result === true) { echo 'OK'; - Log::event('Issued ' . $prefix[$obj['state']] . " for rule '" . $obj['name'] . "' to transport '" . $transport . "'", $obj['device_id'], 'alert', 1); + Log::event('Issued ' . $prefix[$obj['state']] . " for rule '" . $obj['name'] . "' to transport '" . $transport . "'", $obj['device_id'], 'alert', $severity); } elseif ($result === false) { echo 'ERROR'; - Log::event('Could not issue ' . $prefix[$obj['state']] . " for rule '" . $obj['name'] . "' to transport '" . $transport . "'", $obj['device_id'], null, 5); + Log::event('Could not issue ' . $prefix[$obj['state']] . " for rule '" . $obj['name'] . "' to transport '" . $transport . "'", $obj['device_id'], null, Alert::ERROR); } else { echo "ERROR: $result\r\n"; - Log::event('Could not issue ' . $prefix[$obj['state']] . " for rule '" . $obj['name'] . "' to transport '" . $transport . "' Error: " . $result, $obj['device_id'], 'error', 5); + Log::event('Could not issue ' . $prefix[$obj['state']] . " for rule '" . $obj['name'] . "' to transport '" . $transport . "' Error: " . $result, $obj['device_id'], 'error', Alert::ERROR); } return; } diff --git a/LibreNMS/Enum/Alert.php b/LibreNMS/Enum/Alert.php index ee99552dd5..4505d5794c 100644 --- a/LibreNMS/Enum/Alert.php +++ b/LibreNMS/Enum/Alert.php @@ -33,4 +33,12 @@ abstract class Alert const NOTICE = 3; const WARNING = 4; const ERROR = 5; + + const SEVERITIES = ['unknown' => self::UNKNOWN, + 'ok' => self::OK, + 'info' => self::INFO, + 'notice' => self::NOTICE, + 'warning' => self::WARNING, + 'error' => self::ERROR, + ]; }