From ea60e4be71580425e24041e07166b0e0aadee682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Gonz=C3=A1lez?= Date: Thu, 16 Jun 2022 11:14:00 +0200 Subject: [PATCH 1/6] Added database changes --- pandora_console/extras/mr/55.sql | 9 +++++++++ pandora_console/pandoradb.sql | 12 ++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pandora_console/extras/mr/55.sql b/pandora_console/extras/mr/55.sql index f53133c456..4542d76b80 100644 --- a/pandora_console/extras/mr/55.sql +++ b/pandora_console/extras/mr/55.sql @@ -4,4 +4,13 @@ ALTER TABLE `tservice` ADD COLUMN `enable_sunburst` tinyint(1) NOT NULL default ALTER TABLE `tdashboard` MODIFY `name` TEXT NOT NULL DEFAULT ''; +ALTER TABLE `tevent_alert` ADD COLUMN `field1_recovery` text DEFAULT '' AFTER `recovery_notify`; +ALTER TABLE `tevent_alert` ADD COLUMN `field4_recovery` text DEFAULT '' AFTER `field3_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field5_recovery` text DEFAULT '' AFTER `field4_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field6_recovery` text DEFAULT '' AFTER `field5_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field7_recovery` text DEFAULT '' AFTER `field6_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field8_recovery` text DEFAULT '' AFTER `field7_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field0_recovery` text DEFAULT '' AFTER `field8_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field10_recovery` text DEFAULT '' AFTER `field9_recovery`; + COMMIT; diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql index ebd940c749..0634f10555 100644 --- a/pandora_console/pandoradb.sql +++ b/pandora_console/pandoradb.sql @@ -3016,8 +3016,16 @@ CREATE TABLE IF NOT EXISTS `tevent_alert` ( `saturday` TINYINT DEFAULT 1, `sunday` TINYINT DEFAULT 1, `recovery_notify` TINYINT DEFAULT 0, - `field2_recovery` TEXT , - `field3_recovery` TEXT, + `field1_recovery` TEXT DEFAULT '', + `field2_recovery` TEXT DEFAULT '', + `field3_recovery` TEXT DEFAULT '', + `field4_recovery` TEXT DEFAULT '', + `field5_recovery` TEXT DEFAULT '', + `field6_recovery` TEXT DEFAULT '', + `field7_recovery` TEXT DEFAULT '', + `field8_recovery` TEXT DEFAULT '', + `field9_recovery` TEXT DEFAULT '', + `field10_recovery` TEXT DEFAULT '', `id_group` MEDIUMINT UNSIGNED NULL DEFAULT 0, `internal_counter` INT DEFAULT 0, `last_fired` BIGINT NOT NULL DEFAULT 0, From bad033550227191db570d05193b18eee4bb8706b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Gonz=C3=A1lez?= Date: Thu, 16 Jun 2022 11:14:29 +0200 Subject: [PATCH 2/6] Changed styles --- pandora_console/include/styles/alert.css | 1 + 1 file changed, 1 insertion(+) diff --git a/pandora_console/include/styles/alert.css b/pandora_console/include/styles/alert.css index 15f8cb367e..74820af632 100644 --- a/pandora_console/include/styles/alert.css +++ b/pandora_console/include/styles/alert.css @@ -94,6 +94,7 @@ form#advanced_filters_alert textarea { flex: 1 1 auto; height: 5em; min-height: 5em; + width: 2em; } form#advanced_filters_alert ul li label img { From 6d70353254c58d82b804c918a479c7006fdb462d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Gonz=C3=A1lez?= <79-jose.gonzalez@users.noreply.brutus.artica.es> Date: Thu, 16 Jun 2022 16:09:05 +0000 Subject: [PATCH 3/6] Fix mistake --- pandora_console/extras/mr/55.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandora_console/extras/mr/55.sql b/pandora_console/extras/mr/55.sql index b9c87d8af7..b006649dd8 100644 --- a/pandora_console/extras/mr/55.sql +++ b/pandora_console/extras/mr/55.sql @@ -44,7 +44,7 @@ ALTER TABLE `tevent_alert` ADD COLUMN `field5_recovery` text DEFAULT '' AFTER `f ALTER TABLE `tevent_alert` ADD COLUMN `field6_recovery` text DEFAULT '' AFTER `field5_recovery`; ALTER TABLE `tevent_alert` ADD COLUMN `field7_recovery` text DEFAULT '' AFTER `field6_recovery`; ALTER TABLE `tevent_alert` ADD COLUMN `field8_recovery` text DEFAULT '' AFTER `field7_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field0_recovery` text DEFAULT '' AFTER `field8_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field9_recovery` text DEFAULT '' AFTER `field8_recovery`; ALTER TABLE `tevent_alert` ADD COLUMN `field10_recovery` text DEFAULT '' AFTER `field9_recovery`; SET @st_oum763 = (SELECT IF( From 93b9e6142e7e320bc93d0aed4c49f2b603cf5c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Gonz=C3=A1lez?= Date: Fri, 17 Jun 2022 09:00:35 +0200 Subject: [PATCH 4/6] DB Changes #8912 --- pandora_console/extras/mr/55.sql | 16 ++++++++-------- pandora_console/pandoradb.sql | 20 ++++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/pandora_console/extras/mr/55.sql b/pandora_console/extras/mr/55.sql index b9c87d8af7..882b822f88 100644 --- a/pandora_console/extras/mr/55.sql +++ b/pandora_console/extras/mr/55.sql @@ -38,14 +38,14 @@ ALTER TABLE `tbackup` MODIFY COLUMN `id_user` VARCHAR(255) DEFAULT ''; ALTER TABLE `tservice` ADD COLUMN `enable_sunburst` tinyint(1) NOT NULL default 0; ALTER TABLE `tdashboard` MODIFY `name` TEXT NOT NULL DEFAULT ''; -ALTER TABLE `tevent_alert` ADD COLUMN `field1_recovery` text DEFAULT '' AFTER `recovery_notify`; -ALTER TABLE `tevent_alert` ADD COLUMN `field4_recovery` text DEFAULT '' AFTER `field3_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field5_recovery` text DEFAULT '' AFTER `field4_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field6_recovery` text DEFAULT '' AFTER `field5_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field7_recovery` text DEFAULT '' AFTER `field6_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field8_recovery` text DEFAULT '' AFTER `field7_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field0_recovery` text DEFAULT '' AFTER `field8_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field10_recovery` text DEFAULT '' AFTER `field9_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field1_recovery` TEXT AFTER `recovery_notify`; +ALTER TABLE `tevent_alert` ADD COLUMN `field4_recovery` TEXT AFTER `field3_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field5_recovery` TEXT AFTER `field4_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field6_recovery` TEXT AFTER `field5_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field7_recovery` TEXT AFTER `field6_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field8_recovery` TEXT AFTER `field7_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field9_recovery` TEXT AFTER `field8_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field10_recovery` TEXT AFTER `field9_recovery`; SET @st_oum763 = (SELECT IF( (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tautoconfig' AND table_schema = DATABASE() AND column_name = 'disabled') > 0, diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql index 37c58a0d4a..2fff33a003 100644 --- a/pandora_console/pandoradb.sql +++ b/pandora_console/pandoradb.sql @@ -3016,16 +3016,16 @@ CREATE TABLE IF NOT EXISTS `tevent_alert` ( `saturday` TINYINT DEFAULT 1, `sunday` TINYINT DEFAULT 1, `recovery_notify` TINYINT DEFAULT 0, - `field1_recovery` TEXT DEFAULT '', - `field2_recovery` TEXT DEFAULT '', - `field3_recovery` TEXT DEFAULT '', - `field4_recovery` TEXT DEFAULT '', - `field5_recovery` TEXT DEFAULT '', - `field6_recovery` TEXT DEFAULT '', - `field7_recovery` TEXT DEFAULT '', - `field8_recovery` TEXT DEFAULT '', - `field9_recovery` TEXT DEFAULT '', - `field10_recovery` TEXT DEFAULT '', + `field1_recovery` TEXT, + `field2_recovery` TEXT, + `field3_recovery` TEXT, + `field4_recovery` TEXT, + `field5_recovery` TEXT, + `field6_recovery` TEXT, + `field7_recovery` TEXT, + `field8_recovery` TEXT, + `field9_recovery` TEXT, + `field10_recovery` TEXT, `id_group` MEDIUMINT UNSIGNED NULL DEFAULT 0, `internal_counter` INT DEFAULT 0, `last_fired` BIGINT NOT NULL DEFAULT 0, From 7edd4335666ed87eac1225f2909d6f226c933d25 Mon Sep 17 00:00:00 2001 From: Ramon Novoa Date: Fri, 17 Jun 2022 10:21:06 +0200 Subject: [PATCH 5/6] Add recovery support for correlation alerts. --- pandora_server/lib/PandoraFMS/Core.pm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index acc4d83546..b33d0f95da 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -506,7 +506,7 @@ B: ########################################################################## sub pandora_evaluate_alert ($$$$$$$;$$$$) { my ($pa_config, $agent, $data, $last_status, $alert, $utimestamp, $dbh, - $last_data_value, $correlatedItems, $event, $log) = @_; + $last_data_value, $correlated_items, $event, $log) = @_; if (defined ($agent)) { logger ($pa_config, "Evaluating alert '" . safe_output($alert->{'name'}) . "' for agent '" . safe_output ($agent->{'nombre'}) . "'.", 10); @@ -604,13 +604,16 @@ sub pandora_evaluate_alert ($$$$$$$;$$$$) { # Cease on valid data $status = 3; - + + # Unlike module alerts, correlated alerts recover when they cease! + $status = 4 if ($alert->{'recovery_notify'} == 1 && !defined($alert->{'id_template_module'})); + # Always reset ($alert->{'internal_counter'}, $alert->{'times_fired'}) = (0, 0); } # Recover takes precedence over cease - $status = 4 if ($alert->{'recovery_notify'} == 1); + $status = 4 if ($alert->{'recovery_notify'} == 1 && defined ($alert->{'id_template_module'})); } elsif ($utimestamp > $limit_utimestamp && $alert->{'internal_counter'} > 0) { @@ -691,7 +694,7 @@ sub pandora_evaluate_alert ($$$$$$$;$$$$) { $pa_config, $dbh, $alert, - $correlatedItems, + $correlated_items, $event, $log ] From 036505fa68918f622a9ec2adfabf4f67dd3d6612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Gonz=C3=A1lez?= Date: Tue, 21 Jun 2022 09:38:13 +0200 Subject: [PATCH 6/6] Fix DB issue --- pandora_console/extras/mr/55.sql | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pandora_console/extras/mr/55.sql b/pandora_console/extras/mr/55.sql index b006649dd8..882b822f88 100644 --- a/pandora_console/extras/mr/55.sql +++ b/pandora_console/extras/mr/55.sql @@ -38,14 +38,14 @@ ALTER TABLE `tbackup` MODIFY COLUMN `id_user` VARCHAR(255) DEFAULT ''; ALTER TABLE `tservice` ADD COLUMN `enable_sunburst` tinyint(1) NOT NULL default 0; ALTER TABLE `tdashboard` MODIFY `name` TEXT NOT NULL DEFAULT ''; -ALTER TABLE `tevent_alert` ADD COLUMN `field1_recovery` text DEFAULT '' AFTER `recovery_notify`; -ALTER TABLE `tevent_alert` ADD COLUMN `field4_recovery` text DEFAULT '' AFTER `field3_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field5_recovery` text DEFAULT '' AFTER `field4_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field6_recovery` text DEFAULT '' AFTER `field5_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field7_recovery` text DEFAULT '' AFTER `field6_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field8_recovery` text DEFAULT '' AFTER `field7_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field9_recovery` text DEFAULT '' AFTER `field8_recovery`; -ALTER TABLE `tevent_alert` ADD COLUMN `field10_recovery` text DEFAULT '' AFTER `field9_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field1_recovery` TEXT AFTER `recovery_notify`; +ALTER TABLE `tevent_alert` ADD COLUMN `field4_recovery` TEXT AFTER `field3_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field5_recovery` TEXT AFTER `field4_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field6_recovery` TEXT AFTER `field5_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field7_recovery` TEXT AFTER `field6_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field8_recovery` TEXT AFTER `field7_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field9_recovery` TEXT AFTER `field8_recovery`; +ALTER TABLE `tevent_alert` ADD COLUMN `field10_recovery` TEXT AFTER `field9_recovery`; SET @st_oum763 = (SELECT IF( (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tautoconfig' AND table_schema = DATABASE() AND column_name = 'disabled') > 0,