Alias the action name when executing an alert.
When executing an alert, the name of the action retrieved by the Pandora FMS Server was overwritten by the name of the command, since the names of the columns are the same. Now the name of the action is aliased to preserve it.
This commit is contained in:
parent
1344dee2c4
commit
118b0c3ff0
|
@ -840,7 +840,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
if ($alert_mode == RECOVERED_ALERT) {
|
||||
# Avoid the use of alias bigger than 30 characters.
|
||||
@actions = get_db_rows ($dbh,
|
||||
'SELECT taa.*, tac.*, tatma.id AS id_alert_templ_module_actions,
|
||||
'SELECT taa.name as action_name, taa.*, tac.*, tatma.id AS id_alert_templ_module_actions,
|
||||
tatma.id_alert_template_module, tatma.id_alert_action, tatma.fires_min,
|
||||
tatma.fires_max, tatma.module_action_threshold, tatma.last_execution
|
||||
FROM talert_template_module_actions tatma, talert_actions taa, talert_commands tac
|
||||
|
@ -854,7 +854,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
# Avoid the use of alias bigger than 30 characters.
|
||||
if ($forced_alert){
|
||||
@actions = get_db_rows ($dbh,
|
||||
'SELECT taa.*, tac.*, tatma.id AS id_alert_templ_module_actions,
|
||||
'SELECT taa.name as action_name, taa.*, tac.*, tatma.id AS id_alert_templ_module_actions,
|
||||
tatma.id_alert_template_module, tatma.id_alert_action, tatma.fires_min,
|
||||
tatma.fires_max, tatma.module_action_threshold, tatma.last_execution
|
||||
FROM talert_template_module_actions tatma, talert_actions taa, talert_commands tac
|
||||
|
@ -865,7 +865,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
|
||||
} else {
|
||||
@actions = get_db_rows ($dbh,
|
||||
'SELECT taa.*, tac.*, tatma.id AS id_alert_templ_module_actions,
|
||||
'SELECT taa.name as action_name, taa.*, tac.*, tatma.id AS id_alert_templ_module_actions,
|
||||
tatma.id_alert_template_module, tatma.id_alert_action, tatma.fires_min,
|
||||
tatma.fires_max, tatma.module_action_threshold, tatma.last_execution
|
||||
FROM talert_template_module_actions tatma, talert_actions taa, talert_commands tac
|
||||
|
@ -881,7 +881,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
|
||||
# Get default action
|
||||
if ($#actions < 0) {
|
||||
@actions = get_db_rows ($dbh, 'SELECT * FROM talert_actions, talert_commands
|
||||
@actions = get_db_rows ($dbh, 'SELECT talert_actions.name as action_name, * FROM talert_actions, talert_commands
|
||||
WHERE talert_actions.id = ?
|
||||
AND talert_actions.id_alert_command = talert_commands.id',
|
||||
$alert->{'id_alert_action'});
|
||||
|
@ -890,7 +890,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
# Event alert
|
||||
else {
|
||||
if ($alert_mode == RECOVERED_ALERT) {
|
||||
@actions = get_db_rows ($dbh, 'SELECT * FROM tevent_alert_action, talert_actions, talert_commands
|
||||
@actions = get_db_rows ($dbh, 'SELECT talert_actions.name as action_name, * FROM tevent_alert_action, talert_actions, talert_commands
|
||||
WHERE tevent_alert_action.id_alert_action = talert_actions.id
|
||||
AND talert_actions.id_alert_command = talert_commands.id
|
||||
AND tevent_alert_action.id_event_alert = ?
|
||||
|
@ -898,7 +898,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
OR ? >= fires_min)',
|
||||
$alert->{'id'}, $alert->{'times_fired'});
|
||||
} else {
|
||||
@actions = get_db_rows ($dbh, 'SELECT * FROM tevent_alert_action, talert_actions, talert_commands
|
||||
@actions = get_db_rows ($dbh, 'SELECT talert_actions.name as action_name, * FROM tevent_alert_action, talert_actions, talert_commands
|
||||
WHERE tevent_alert_action.id_alert_action = talert_actions.id
|
||||
AND talert_actions.id_alert_command = talert_commands.id
|
||||
AND tevent_alert_action.id_event_alert = ?
|
||||
|
@ -910,7 +910,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
|
||||
# Get default action
|
||||
if ($#actions < 0) {
|
||||
@actions = get_db_rows ($dbh, 'SELECT * FROM talert_actions, talert_commands
|
||||
@actions = get_db_rows ($dbh, 'SELECT talert_actions.name as action_name, * FROM talert_actions, talert_commands
|
||||
WHERE talert_actions.id = ?
|
||||
AND talert_actions.id_alert_command = talert_commands.id',
|
||||
$alert->{'id_alert_action'});
|
||||
|
@ -960,7 +960,7 @@ sub pandora_execute_alert ($$$$$$$$$;$$) {
|
|||
}
|
||||
|
||||
pandora_execute_action ($pa_config, $data, $agent, $alert, $alert_mode, $action, $module, $dbh, $timestamp, $extra_macros);
|
||||
push(@{$custom_data->{'actions'}}, safe_output($action->{'name'}));
|
||||
push(@{$custom_data->{'actions'}}, safe_output($action->{'action_name'}));
|
||||
} else {
|
||||
if (defined ($module)) {
|
||||
logger ($pa_config, "Skipping action " . safe_output($action->{'name'}) . " for alert '" . safe_output($alert->{'name'}) . "' module '" . safe_output($module->{'nombre'}) . "'.", 10);
|
||||
|
@ -4218,7 +4218,7 @@ sub pandora_evaluate_snmp_alerts ($$$$$$$$$) {
|
|||
}
|
||||
|
||||
# Execute alert
|
||||
my $action = get_db_single_row ($dbh, 'SELECT *
|
||||
my $action = get_db_single_row ($dbh, 'SELECT talert_actions.name as action_name, *
|
||||
FROM talert_actions, talert_commands
|
||||
WHERE talert_actions.id_alert_command = talert_commands.id
|
||||
AND talert_actions.id = ?', $alert->{'id_alert'});
|
||||
|
@ -4231,7 +4231,7 @@ sub pandora_evaluate_snmp_alerts ($$$$$$$$$) {
|
|||
};
|
||||
|
||||
pandora_execute_action ($pa_config, $trap_rcv_full, \%agent, \%alert, 1, $action, undef, $dbh, $timestamp, \%macros) if (defined ($action));
|
||||
push(@{$custom_data->{'actions'}}, safe_output($action->{'name'}));
|
||||
push(@{$custom_data->{'actions'}}, safe_output($action->{'action_name'}));
|
||||
|
||||
# Generate an event, ONLY if our alert action is different from generate an event.
|
||||
if ($action->{'id_alert_command'} != 3 && $alert->{'disable_event'} == 0){
|
||||
|
@ -4252,7 +4252,7 @@ sub pandora_evaluate_snmp_alerts ($$$$$$$$$) {
|
|||
$alert->{'id_as'});
|
||||
|
||||
foreach my $other_alert (@more_actions_snmp) {
|
||||
my $other_action = get_db_single_row ($dbh, 'SELECT *
|
||||
my $other_action = get_db_single_row ($dbh, 'SELECT talert_actions.name as action_name, *
|
||||
FROM talert_actions, talert_commands
|
||||
WHERE talert_actions.id_alert_command = talert_commands.id
|
||||
AND talert_actions.id = ?', $other_alert->{'alert_type'});
|
||||
|
@ -4293,7 +4293,7 @@ sub pandora_evaluate_snmp_alerts ($$$$$$$$$) {
|
|||
);
|
||||
|
||||
pandora_execute_action ($pa_config, $trap_rcv_full, \%agent, \%alert_action, 1, $other_action, undef, $dbh, $timestamp, \%macros) if (defined ($other_action));
|
||||
push(@{$custom_data->{'actions'}}, safe_output($other_action->{'name'}));
|
||||
push(@{$custom_data->{'actions'}}, safe_output($other_action->{'action_name'}));
|
||||
|
||||
# Generate an event, ONLY if our alert action is different from generate an event.
|
||||
if ($other_action->{'id_alert_command'} != 3 && $alert->{'disable_event'} == 0){
|
||||
|
|
Loading…
Reference in New Issue