2013-09-04 Ramon Novoa <rnovoa@artica.es>
* lib/PandoraFMS/Core.pm, lib/PandoraFMS/Config.pm, conf/pandora_server.conf.new: Added support for custom event texts. * lib/PandoraFMS/Server.pm: Fixed a comparison. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@8741 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
1506127262
commit
8da72999b7
|
@ -1,3 +1,11 @@
|
|||
2013-09-04 Ramon Novoa <rnovoa@artica.es>
|
||||
|
||||
* lib/PandoraFMS/Core.pm,
|
||||
lib/PandoraFMS/Config.pm,
|
||||
conf/pandora_server.conf.new: Added support for custom event texts.
|
||||
|
||||
* lib/PandoraFMS/Server.pm: Fixed a comparison.
|
||||
|
||||
2013-09-04 Ramon Novoa <rnovoa@artica.es>
|
||||
|
||||
* lib/PandoraFMS/Core.pm: Added support for treating events with the
|
||||
|
|
|
@ -422,3 +422,9 @@ event_auto_validation 1
|
|||
# Time interval for snmp_storm protection (in seconds).
|
||||
#snmp_storm_timeout 600
|
||||
|
||||
# Default texts for some events. The macros _module_ and _data_ are supported.
|
||||
#text_going_down_normal Module '_module_' is going to NORMAL (_data_)
|
||||
#text_going_up_critical Module '_module_' is going to CRITICAL (_data_)
|
||||
#text_going_up_warning Module '_module_' is going to WARNING (_data_)
|
||||
#text_going_down_warning Module '_module_' is going to WARNING (_data_)
|
||||
#text_going_unknown Module '_module_' is going to UNKNOWN
|
||||
|
|
|
@ -306,6 +306,13 @@ sub pandora_load_config {
|
|||
# Export events to a text file
|
||||
$pa_config->{"event_file"} = ''; # 5.0
|
||||
|
||||
# Default event messages
|
||||
$pa_config->{"text_going_down_normal"} = "Module '_module_' is going to NORMAL (_data_)"; # 5.0
|
||||
$pa_config->{"text_going_up_critical"} = "Module '_module_' is going to CRITICAL (_data_)"; # 5.0
|
||||
$pa_config->{"text_going_up_warning"} = "Module '_module_' is going to WARNING (_data_)"; # 5.0
|
||||
$pa_config->{"text_going_down_warning"} = "Module '_module_' is going to WARNING (_data_)"; # 5.0
|
||||
$pa_config->{"text_going_unknown"} = "Module '_module_' is going to UNKNOWN"; # 5.0
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# This values are not stored in .conf files.
|
||||
# This values should be stored in database, not in .conf files!
|
||||
|
@ -671,6 +678,21 @@ sub pandora_load_config {
|
|||
elsif ($parametro =~ m/^event_file\s+(.*)/i) {
|
||||
$pa_config->{'event_file'}= clean_blank($1);
|
||||
}
|
||||
elsif ($parametro =~ m/^text_going_down_normal\s+(.*)/i) {
|
||||
$pa_config->{'text_going_down_normal'} = safe_input ($1);
|
||||
}
|
||||
elsif ($parametro =~ m/^text_going_up_critical\s+(.*)/i) {
|
||||
$pa_config->{'text_going_up_critical'} = safe_input ($1);
|
||||
}
|
||||
elsif ($parametro =~ m/^text_going_up_warning\s+(.*)/i) {
|
||||
$pa_config->{'text_going_up_warning'} = safe_input ($1);
|
||||
}
|
||||
elsif ($parametro =~ m/^text_going_down_warning\s+(.*)/i) {
|
||||
$pa_config->{'text_going_down_warning'} = safe_input ($1);
|
||||
}
|
||||
elsif ($parametro =~ m/^text_going_unknown\s+(.*)/i) {
|
||||
$pa_config->{'text_going_unknown'} = safe_input ($1);
|
||||
}
|
||||
} # end of loop for parameter #
|
||||
|
||||
# Set to RDBMS' standard port
|
||||
|
|
|
@ -3220,7 +3220,7 @@ sub pandora_validate_event ($$$) {
|
|||
sub generate_status_event ($$$$$$$$) {
|
||||
my ($pa_config, $data, $agent, $module, $status, $last_status, $last_known_status, $dbh) = @_;
|
||||
my ($event_type, $severity);
|
||||
my $description = "Module " . safe_output($module->{'nombre'}) . " (".safe_output($data).") is ";
|
||||
my $description = '';
|
||||
|
||||
# No events when event storm protection is enabled
|
||||
if ($EventStormProtection == 1) {
|
||||
|
@ -3229,7 +3229,7 @@ sub generate_status_event ($$$$$$$$) {
|
|||
|
||||
# Mark as "validated" any previous event for this module
|
||||
pandora_validate_event ($pa_config, $module->{'id_agente_modulo'}, $dbh);
|
||||
|
||||
|
||||
# Normal
|
||||
if ($status == 0) {
|
||||
|
||||
|
@ -3239,23 +3239,23 @@ sub generate_status_event ($$$$$$$$) {
|
|||
}
|
||||
|
||||
($event_type, $severity) = ('going_down_normal', 2);
|
||||
$description .= "going to NORMAL";
|
||||
$description = $pa_config->{"text_going_down_normal"};
|
||||
# Critical
|
||||
} elsif ($status == 1) {
|
||||
($event_type, $severity) = ('going_up_critical', 4);
|
||||
$description .= "going to CRITICAL";
|
||||
$description = $pa_config->{"text_going_up_critical"};
|
||||
# Warning
|
||||
} elsif ($status == 2) {
|
||||
|
||||
# From normal
|
||||
if ($last_known_status == 0 || $last_known_status == 4) {
|
||||
($event_type, $severity) = ('going_up_warning', 3);
|
||||
$description .= "going to WARNING";
|
||||
$description = $pa_config->{"text_going_up_warning"};
|
||||
|
||||
# From critical
|
||||
} elsif ($last_known_status == 1) {
|
||||
($event_type, $severity) = ('going_down_warning', 3);
|
||||
$description .= "going to WARNING";
|
||||
$description = $pa_config->{"text_going_down_warning"};
|
||||
} else {
|
||||
# Unknown last_status
|
||||
return;
|
||||
|
@ -3266,6 +3266,13 @@ sub generate_status_event ($$$$$$$$) {
|
|||
return;
|
||||
}
|
||||
|
||||
# Replace macros
|
||||
my %macros = (
|
||||
_module_ => safe_output($module->{'nombre'}),
|
||||
_data_ => safe_output($data),
|
||||
);
|
||||
$description = subst_alert_macros ($description, \%macros);
|
||||
|
||||
# Generate the event
|
||||
if ($status != 0){
|
||||
pandora_event ($pa_config, $description, $agent->{'id_grupo'}, $module->{'id_agente'},
|
||||
|
@ -3912,7 +3919,14 @@ sub pandora_module_unknown ($$) {
|
|||
|
||||
# Generate event with severity minor
|
||||
my ($event_type, $severity) = ('going_down_normal', 5);
|
||||
my $description = "Module " . safe_output($module->{'nombre'}) . " is going to NORMAL";
|
||||
my $description = $pa_config->{"text_going_down_normal"};
|
||||
|
||||
# Replace macros
|
||||
my %macros = (
|
||||
_module_ => safe_output($module->{'nombre'}),
|
||||
_data_ => 'N/A',
|
||||
);
|
||||
|
||||
pandora_event ($pa_config, $description, $agent->{'id_grupo'}, $module->{'id_agente'},
|
||||
$severity, 0, $module->{'id_agente_modulo'}, $event_type, 0, $dbh, 'Pandora', '', '', '', '', $module->{'critical_instructions'}, $module->{'warning_instructions'}, $module->{'unknown_instructions'});
|
||||
}
|
||||
|
@ -3958,7 +3972,14 @@ sub pandora_module_unknown ($$) {
|
|||
# Generate event with severity minor
|
||||
if ($do_event) {
|
||||
my ($event_type, $severity) = ('going_unknown', 5);
|
||||
my $description = "Module " . safe_output($module->{'nombre'}) . " is going to UNKNOWN";
|
||||
my $description = $pa_config->{"going_unknown"};
|
||||
|
||||
# Replace macros
|
||||
my %macros = (
|
||||
_module_ => safe_output($module->{'nombre'}),
|
||||
);
|
||||
$description = subst_alert_macros ($description, \%macros);
|
||||
|
||||
pandora_event ($pa_config, $description, $agent->{'id_grupo'}, $module->{'id_agente'},
|
||||
$severity, 0, $module->{'id_agente_modulo'}, $event_type, 0, $dbh, 'Pandora', '', '', '', '', $module->{'critical_instructions'}, $module->{'warning_instructions'}, $module->{'unknown_instructions'});
|
||||
}
|
||||
|
|
|
@ -255,7 +255,7 @@ sub restartEvent ($$) {
|
|||
return unless defined ($self->{'_dbh'});
|
||||
eval {
|
||||
pandora_event ($self->{'_pa_config'}, $self->{'_pa_config'}->{'servername'} .
|
||||
$ServerTypes[$self->{'_server_type'}] . " RESTARTING" . (defined ($msg) ? " ($msg)" : ''),
|
||||
$ServerTypes[$self->{'_server_type'}] . " RESTARTING" . ($msg ne '' ? " ($msg)" : ''),
|
||||
0, 0, 4, 0, 0, 'system', 0, $self->{'_dbh'});
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue