From a384fc283022b3a4f534f7b88565da06317fde7e Mon Sep 17 00:00:00 2001 From: louis-oui <47607835+louis-oui@users.noreply.github.com> Date: Wed, 22 Jan 2020 22:01:25 +0100 Subject: [PATCH] Do not update alert timestamp when updating a triggered alert (#10907) * Do not update alert timestamp when updating a triggered alert * Only update alerts timestamp if alert is triggered or recovered * db schema * db schema * cleanup timestamp update --- LibreNMS/Alert/AlertRules.php | 4 +-- ...ts_disable_on_update_current_timestamp.php | 28 +++++++++++++++++++ misc/db_schema.yaml | 2 +- 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php diff --git a/LibreNMS/Alert/AlertRules.php b/LibreNMS/Alert/AlertRules.php index 01128a9952..35ad3d1b8f 100644 --- a/LibreNMS/Alert/AlertRules.php +++ b/LibreNMS/Alert/AlertRules.php @@ -112,7 +112,7 @@ class AlertRules if (is_null($current_state)) { dbInsert(array('state' => 1, 'device_id' => $device_id, 'rule_id' => $rule['id'], 'open' => 1,'alerted' => 0), 'alerts'); } else { - dbUpdate(['state' => 1, 'open' => 1], 'alerts', 'device_id = ? && rule_id = ?', [$device_id, $rule['id']]); + dbUpdate(['state' => 1, 'open' => 1, 'timestamp' => array('NOW()')], 'alerts', 'device_id = ? && rule_id = ?', [$device_id, $rule['id']]); } c_echo(PHP_EOL . 'Status: %rALERT'); } @@ -125,7 +125,7 @@ class AlertRules if (is_null($current_state)) { dbInsert(['state' => 0, 'device_id' => $device_id, 'rule_id' => $rule['id'], 'open' => 1, 'alerted' => 0], 'alerts'); } else { - dbUpdate(['state' => 0, 'open' => 1, 'note' => ''], 'alerts', 'device_id = ? && rule_id = ?', [$device_id, $rule['id']]); + dbUpdate(['state' => 0, 'open' => 1, 'note' => '', 'timestamp' => array('NOW()')], 'alerts', 'device_id = ? && rule_id = ?', [$device_id, $rule['id']]); } c_echo(PHP_EOL . 'Status: %gOK'); diff --git a/database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php b/database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php new file mode 100644 index 0000000000..67f2a710e7 --- /dev/null +++ b/database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php @@ -0,0 +1,28 @@ +