mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-25 22:55:15 +02:00
+ enhance modbus protocol
This commit is contained in:
parent
dab3bed602
commit
f667f8f7de
@ -41,11 +41,11 @@ sub custom_metric_output {
|
|||||||
$msg = sprintf("$config_data->{selection}->{$self->{result_values}->{instance}}->{formatting}->{printf_msg}",
|
$msg = sprintf("$config_data->{selection}->{$self->{result_values}->{instance}}->{formatting}->{printf_msg}",
|
||||||
eval "$config_data->{selection}->{$self->{result_values}->{instance}}->{formatting}->{printf_var}");
|
eval "$config_data->{selection}->{$self->{result_values}->{instance}}->{formatting}->{printf_var}");
|
||||||
};
|
};
|
||||||
} elsif (defined($config_data->{filters}->{formatting}->{printf_var}) && defined($config_data->{filters}->{formatting}->{printf_msg})) {
|
} elsif (defined($config_data->{formatting}->{printf_var}) && defined($config_data->{formatting}->{printf_msg})) {
|
||||||
eval {
|
eval {
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
||||||
$msg = sprintf("$config_data->{filters}->{formatting}->{printf_msg}", eval "$config_data->{filters}->{formatting}->{printf_var}");
|
$msg = sprintf("$config_data->{formatting}->{printf_msg}", eval "$config_data->{formatting}->{printf_var}");
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
$msg = sprintf("Metric '%s' value is '%s'", $self->{result_values}->{instance}, $self->{result_values}->{value});
|
$msg = sprintf("Metric '%s' value is '%s'", $self->{result_values}->{instance}, $self->{result_values}->{value});
|
||||||
@ -135,8 +135,7 @@ sub custom_metric_threshold {
|
|||||||
sub set_counters {
|
sub set_counters {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
$self->{maps_counters_type} = [
|
$self->{maps_counters_type} = [];
|
||||||
];
|
|
||||||
|
|
||||||
$self->{maps_counters}->{global} = [
|
$self->{maps_counters}->{global} = [
|
||||||
{ label => 'global', set => {
|
{ label => 'global', set => {
|
||||||
@ -241,9 +240,7 @@ sub manage_selection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (defined($config_data->{selection})) {
|
if (defined($config_data->{selection})) {
|
||||||
push @{$self->{maps_counters_type}}, {
|
my $pushed = 0;
|
||||||
name => 'metric', type => 1, message_separator => $config_data->{formatting}->{message_separator}, message_multiple => $config_data->{formatting}->{custom_message_metric},
|
|
||||||
};
|
|
||||||
foreach my $id (keys %{$config_data->{selection}}) {
|
foreach my $id (keys %{$config_data->{selection}}) {
|
||||||
next if (!defined($config_data->{selection}->{$id}->{address}));
|
next if (!defined($config_data->{selection}->{$id}->{address}));
|
||||||
my $results = $options{custom}->read_objects(address => $config_data->{selection}->{$id}->{address},
|
my $results = $options{custom}->read_objects(address => $config_data->{selection}->{$id}->{address},
|
||||||
@ -266,13 +263,20 @@ sub manage_selection {
|
|||||||
$self->{metrics}->{$metric_key}->{display} = (defined($config_data->{selection}->{$id}->{display}) && $config_data->{selection}->{$id}->{display}) ? 1 : 0;
|
$self->{metrics}->{$metric_key}->{display} = (defined($config_data->{selection}->{$id}->{display}) && $config_data->{selection}->{$id}->{display}) ? 1 : 0;
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
$self->{metric}->{$metric_key} = {
|
|
||||||
display => $self->{metrics}->{$metric_key}->{display_name},
|
if ($self->{metrics}->{$metric_key}->{display} == 1) {
|
||||||
type => 'unique',
|
$self->{metric}->{$metric_key} = {
|
||||||
unit => $self->{metrics}->{$metric_key}->{unit},
|
display => $self->{metrics}->{$metric_key}->{display_name},
|
||||||
value => $self->{metrics}->{$metric_key}->{current},
|
type => 'unique',
|
||||||
min => $self->{metrics}->{$metric_key}->{min},
|
unit => $self->{metrics}->{$metric_key}->{unit},
|
||||||
max => $self->{metrics}->{$metric_key}->{max} } if ($self->{metrics}->{$metric_key}->{display} == 1);
|
value => $self->{metrics}->{$metric_key}->{current},
|
||||||
|
min => $self->{metrics}->{$metric_key}->{min},
|
||||||
|
max => $self->{metrics}->{$metric_key}->{max} };
|
||||||
|
push @{$self->{maps_counters_type}}, {
|
||||||
|
name => 'metric', type => 1, message_separator => $config_data->{formatting}->{message_separator}, message_multiple => $config_data->{formatting}->{custom_message_metric},
|
||||||
|
} if ($pushed == 0);
|
||||||
|
$pushed = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user