MON-21973-date-problem-on-storage-ibm-storwize-ssh-plugin-eventlog (#4676)

Co-authored-by: Matteo D'Alfonso <mdalfonso@centreon.com>
Co-authored-by: Lucie Dubrunfaut <ldubrunfaut@CNTR-P-PF3DNAR1>
Co-authored-by: Evan <eadam@centreon.com>
This commit is contained in:
ykacherCentreon 2024-01-12 15:16:10 +01:00 committed by GitHub
parent 186afcb092
commit dd3f3a3b36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 20 deletions

View File

@ -72,24 +72,35 @@ sub run {
my $result = $options{custom}->get_hasharray(content => $content, delim => ':'); my $result = $options{custom}->get_hasharray(content => $content, delim => ':');
my ($num_eventlog_checked, $num_errors) = (0, 0); my ($num_eventlog_checked, $num_errors) = (0, 0);
foreach (@$result) { foreach my $event (@$result) {
$num_eventlog_checked++; $num_eventlog_checked++;
if (defined($self->{option_results}->{filter_message}) && $self->{option_results}->{filter_message} ne '' && if (defined($self->{option_results}->{filter_message}) && $self->{option_results}->{filter_message} ne '' &&
$_->{description} !~ /$self->{option_results}->{filter_message}/) { $event->{description} !~ /$self->{option_results}->{filter_message}/) {
$self->{output}->output_add(long_msg => "skipping '" . $_->{description} . "': no matching filter description.", debug => 1); $self->{output}->output_add(long_msg => "skipping '" . $event->{description} . "': no matching filter description.", debug => 1);
next; next;
} }
if (defined($self->{option_results}->{filter_event_id}) && $self->{option_results}->{filter_event_id} ne '' && if (defined($self->{option_results}->{filter_event_id}) && $self->{option_results}->{filter_event_id} ne '' &&
$_->{event_id} !~ /$self->{option_results}->{filter_event_id}/) { $event->{event_id} !~ /$self->{option_results}->{filter_event_id}/) {
$self->{output}->output_add(long_msg => "skipping '" . $_->{event_id} . "': no matching filter event id.", debug => 1); $self->{output}->output_add(long_msg => "skipping '" . $event->{event_id} . "': no matching filter event id.", debug => 1);
next; next;
} }
my @array = ($event->{last_timestamp} =~ m/../g); # format expected is YYMMDDHHMMSS
my $date = DateTime->new(
"year" => "20" . $array[0], # DateTime expect 4 digit year, as this is log the chance of decade old data is slim.
"month" => $array[1],
"day" => $array[2],
"hour" => $array[3],
"minute" => $array[4],
"second" => $array[5],
);
$self->{output}->output_add( $self->{output}->output_add(
long_msg => sprintf( long_msg => sprintf(
'%s : %s - %s', '%s : %s - %s',
scalar(localtime($_->{last_timestamp})), $date->strftime("%a %b %d %T %Y"),
$_->{event_id}, $_->{description} $event->{event_id}, $event->{description}
) )
); );
$num_errors++; $num_errors++;