mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-29 16:45:04 +02:00
enhance virtual-service (#2485)
This commit is contained in:
parent
525424b2f6
commit
dd95eb0f6b
@ -93,26 +93,34 @@ sub custom_metric_calc {
|
|||||||
$self->{result_values}->{max} = $options{new_datas}->{$self->{instance} . '_max'};
|
$self->{result_values}->{max} = $options{new_datas}->{$self->{instance} . '_max'};
|
||||||
|
|
||||||
my $elem = $self->{result_values}->{type} eq 'unique' ? 'selection' : 'virtualcurve';
|
my $elem = $self->{result_values}->{type} eq 'unique' ? 'selection' : 'virtualcurve';
|
||||||
my ($change_bytes_metric_selection, $change_bytes_metric_filter);
|
|
||||||
if (defined($config_data->{filters}->{formatting}->{change_bytes})) {
|
my ($change_bytes, $change_bytes_network) = (0, 0);
|
||||||
$change_bytes_metric_filter = $config_data->{filters}->{formatting}->{change_bytes};
|
if (defined($config_data->{filters}->{formatting}) && defined($config_data->{filters}->{formatting}->{change_bytes})) {
|
||||||
}
|
$change_bytes = $config_data->{filters}->{formatting}->{change_bytes};
|
||||||
if (defined($config_data->{$elem}->{$self->{result_values}->{instance}}->{formatting}->{change_bytes})) {
|
$change_bytes_network = $config_data->{filters}->{formatting}->{change_bytes_network};
|
||||||
$change_bytes_metric_selection = $config_data->{$elem}->{$self->{result_values}->{instance}}->{formatting}->{change_bytes};
|
} elsif (defined($config_data->{$elem}->{$self->{result_values}->{instance}}->{formatting}) && defined($config_data->{$elem}->{$self->{result_values}->{instance}}->{formatting}->{change_bytes})) {
|
||||||
|
$change_bytes = $config_data->{$elem}->{$self->{result_values}->{instance}}->{formatting}->{change_bytes};
|
||||||
|
$change_bytes_network = $config_data->{$elem}->{$self->{result_values}->{instance}}->{formatting}->{change_bytes_network};
|
||||||
|
} elsif (defined($config_data->{formatting}) && defined($config_data->{formatting}->{change_bytes})) {
|
||||||
|
$change_bytes = $config_data->{formatting}->{change_bytes};
|
||||||
|
$change_bytes_network = $config_data->{formatting}->{change_bytes_network};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((defined($change_bytes_metric_selection) && $change_bytes_metric_selection) ||
|
if ($change_bytes) {
|
||||||
(defined($change_bytes_metric_filter) && $change_bytes_metric_filter) ||
|
($self->{result_values}->{value}, $self->{result_values}->{unit}) = $self->{perfdata}->change_bytes(
|
||||||
($config_data->{formatting}->{change_bytes} && !defined($change_bytes_metric_selection) && !defined($change_bytes_metric_filter))) {
|
value => $self->{result_values}->{value},
|
||||||
($self->{result_values}->{value}, $self->{result_values}->{unit}) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{value});
|
network => defined($change_bytes_network) && $change_bytes_network ? 1 : undef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub custom_metric_perfdata {
|
sub custom_metric_perfdata {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
$self->{output}->perfdata_add(label => $self->{result_values}->{instance},
|
$self->{output}->perfdata_add(
|
||||||
|
label => $self->{result_values}->{instance},
|
||||||
value => $self->{result_values}->{perfdata_value},
|
value => $self->{result_values}->{perfdata_value},
|
||||||
warning => $self->{perfdata}->get_perfdata_for_output(label => ($self->{result_values}->{type} eq 'unique') ? 'warning-metric' : 'warning-global-'.$self->{result_values}->{instance}),
|
warning => $self->{perfdata}->get_perfdata_for_output(label => ($self->{result_values}->{type} eq 'unique') ? 'warning-metric' : 'warning-global-'.$self->{result_values}->{instance}),
|
||||||
critical => $self->{perfdata}->get_perfdata_for_output(label => ($self->{result_values}->{type} eq 'unique') ? 'critical-metric' : 'critical-global-'.$self->{result_values}->{instance}),
|
critical => $self->{perfdata}->get_perfdata_for_output(label => ($self->{result_values}->{type} eq 'unique') ? 'critical-metric' : 'critical-global-'.$self->{result_values}->{instance}),
|
||||||
@ -120,7 +128,6 @@ sub custom_metric_perfdata {
|
|||||||
min => $self->{result_values}->{min},
|
min => $self->{result_values}->{min},
|
||||||
max => $self->{result_values}->{max},
|
max => $self->{result_values}->{max},
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub custom_metric_threshold {
|
sub custom_metric_threshold {
|
||||||
@ -176,7 +183,7 @@ sub new {
|
|||||||
$options{options}->add_options(arguments => {
|
$options{options}->add_options(arguments => {
|
||||||
'config-file:s' => { name => 'config_file' },
|
'config-file:s' => { name => 'config_file' },
|
||||||
'json-data:s' => { name => 'json_data' },
|
'json-data:s' => { name => 'json_data' },
|
||||||
'database:s' => { name => 'database' },
|
'database:s' => { name => 'database' }
|
||||||
});
|
});
|
||||||
|
|
||||||
return $self;
|
return $self;
|
||||||
@ -210,6 +217,7 @@ sub check_options {
|
|||||||
$config_data->{formatting}->{custom_message_metric} = "All metrics are OK" if (!exists($config_data->{formatting}->{custom_message_metric}));
|
$config_data->{formatting}->{custom_message_metric} = "All metrics are OK" if (!exists($config_data->{formatting}->{custom_message_metric}));
|
||||||
$config_data->{formatting}->{cannonical_separator} = "#" if (!exists($config_data->{formatting}->{cannonical_separator}));
|
$config_data->{formatting}->{cannonical_separator} = "#" if (!exists($config_data->{formatting}->{cannonical_separator}));
|
||||||
$config_data->{formatting}->{change_bytes} = 0 if (!exists($config_data->{formatting}->{change_bytes}));
|
$config_data->{formatting}->{change_bytes} = 0 if (!exists($config_data->{formatting}->{change_bytes}));
|
||||||
|
$config_data->{formatting}->{change_bytes_network} = 0 if (!exists($config_data->{formatting}->{change_bytes_network}));
|
||||||
|
|
||||||
$self->{option_results}->{database} =
|
$self->{option_results}->{database} =
|
||||||
(defined($self->{option_results}->{database}) && $self->{option_results}->{database} ne '') ?
|
(defined($self->{option_results}->{database}) && $self->{option_results}->{database} ne '') ?
|
||||||
|
Loading…
x
Reference in New Issue
Block a user