diff --git a/centreon/plugins/multi.pm b/centreon/plugins/multi.pm index a63ad96ad..c6c1c3cf6 100644 --- a/centreon/plugins/multi.pm +++ b/centreon/plugins/multi.pm @@ -89,6 +89,7 @@ sub run { } } + $self->{output}->mode(name => 'multi'); $self->{output}->parameter(attr => 'nodisplay', value => 0); $self->{output}->parameter(attr => 'noexit_die', value => 0); $self->{output}->display(); diff --git a/centreon/plugins/output.pm b/centreon/plugins/output.pm index 6604747d9..db11f962d 100644 --- a/centreon/plugins/output.pm +++ b/centreon/plugins/output.pm @@ -386,8 +386,7 @@ sub output_openmetrics { my $time_ms = int(Time::HiRes::time() * 1000); $self->change_perfdata(); - - $self->perfdata_add(nlabel => 'plugin.mode.status', value => $self->{errors}->{$self->{myerrors}->{$self->{global_status}}}); + foreach my $perf (@{$self->{perfdatas}}) { next if (defined($self->{option_results}->{filter_perfdata}) && $perf->{label} !~ /$self->{option_results}->{filter_perfdata}/); @@ -497,7 +496,12 @@ sub display { my $force_long_output = (defined($options{force_long_output}) && $options{force_long_output} == 1) ? 1 : 0; $force_long_output = 1 if (defined($self->{option_results}->{debug})); + if (defined($self->{option_results}->{output_openmetrics})) { + $self->perfdata_add(nlabel => 'plugin.mode.status', value => $self->{errors}->{$self->{myerrors}->{$self->{global_status}}}); + } + return if ($self->{nodisplay} == 1); + if (defined($self->{option_results}->{output_file})) { if (!open (STDOUT, '>', $self->{option_results}->{output_file})) { $self->output_add(severity => 'UNKNOWN',