From d71ac6071188e1e5f6348f3925915bbb0e08cec2 Mon Sep 17 00:00:00 2001 From: Calvo Date: Wed, 19 Apr 2023 13:34:04 +0200 Subject: [PATCH] Check CPS for modules and parents to inhabilate alerts --- pandora_server/lib/PandoraFMS/Core.pm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index ca6b4991a9..e85a9861e6 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -2302,7 +2302,9 @@ sub pandora_process_module ($$$$$$$$$;$) { } # Generate alerts - if (pandora_inhibit_alerts ($pa_config, $agent, $dbh, 0) == 0 && pandora_cps_enabled($agent, $module) == 0) { + if (pandora_inhibit_alerts ($pa_config, $agent, $dbh, 0) == 0 && + (pandora_cps_enabled($agent, $module) == 0 || enterprise_hook('pandora_inhibit_service_alerts', [$pa_config, $module, $dbh, 0]) == 0)) + { pandora_generate_alerts ($pa_config, $processed_data, $status, $agent, $module, $utimestamp, $dbh, $timestamp, $extra_macros, $last_data_value); } else { @@ -6288,7 +6290,9 @@ sub pandora_module_unknown ($$) { pandora_mark_agent_for_module_update ($dbh, $module->{'id_agente'}); # Generate alerts - if (pandora_inhibit_alerts ($pa_config, $agent, $dbh, 0) == 0 && pandora_cps_enabled($agent, $module) == 0) { + if (pandora_inhibit_alerts ($pa_config, $agent, $dbh, 0) == 0 && + (pandora_cps_enabled($agent, $module) == 0 || enterprise_hook('pandora_inhibit_service_alerts', [$pa_config, $module, $dbh, 0]) == 0)) + { my $extra_macros = { _modulelaststatuschange_ => $module->{'last_status_change'}}; pandora_generate_alerts ($pa_config, 0, 3, $agent, $module, time (), $dbh, $timestamp, $extra_macros, 0, 'unknown'); } @@ -6335,9 +6339,11 @@ sub pandora_module_unknown ($$) { pandora_mark_agent_for_module_update ($dbh, $module->{'id_agente'}); # Generate alerts - if (pandora_inhibit_alerts ($pa_config, $agent, $dbh, 0) == 0 && pandora_cps_enabled($agent, $module) == 0) { + if (pandora_inhibit_alerts ($pa_config, $agent, $dbh, 0) == 0 && + (pandora_cps_enabled($agent, $module) == 0 || enterprise_hook('pandora_inhibit_service_alerts', [$pa_config, $module, $dbh, 0]) == 0)) + { my $extra_macros = { _modulelaststatuschange_ => $module->{'last_status_change'}}; - pandora_generate_alerts ($pa_config, 0, 3, $agent, $module, time (), $dbh, $timestamp, $extra_macros, 0, 'unknown'); + pandora_generate_alerts ($pa_config, 0, 3, $agent, $module, time (), $dbh, $timestamp, $extra_macros, 0, 'unknown'); } else { logger($pa_config, "Alerts inhibited for agent '" . $agent->{'nombre'} . "'.", 10);