mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-12 08:14:50 +02:00
fix(core): code evaluation tested with values - not permissive (#3237)
This commit is contained in:
parent
f17c9f9341
commit
5764b0457c
@ -27,13 +27,8 @@ use warnings;
|
|||||||
|
|
||||||
sub custom_status_threshold {
|
sub custom_status_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
# To exclude some OK
|
# To exclude some OK
|
||||||
if (defined($self->{instance_mode}->{option_results}->{ok_status}) && $self->{instance_mode}->{option_results}->{ok_status} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{ok_status}) && $self->{instance_mode}->{option_results}->{ok_status} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{ok_status})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{ok_status})) {
|
||||||
@ -45,10 +40,6 @@ sub custom_status_threshold {
|
|||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
|
@ -60,12 +60,7 @@ sub custom_hosts_perfdata {
|
|||||||
sub custom_hosts_threshold {
|
sub custom_hosts_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $message;
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -73,13 +68,8 @@ sub custom_hosts_threshold {
|
|||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub custom_services_calc {
|
sub custom_services_calc {
|
||||||
@ -94,8 +84,8 @@ sub custom_services_calc {
|
|||||||
|
|
||||||
sub custom_services_output {
|
sub custom_services_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
my $msg = '';
|
|
||||||
$msg .= "[ok:$self->{result_values}->{ok_total}][warning:$self->{result_values}->{warning_total}][critical:$self->{result_values}->{critical_total}][unknown:$self->{result_values}->{unknown_total}]\n";
|
my $msg .= "[ok:$self->{result_values}->{ok_total}][warning:$self->{result_values}->{warning_total}][critical:$self->{result_values}->{critical_total}][unknown:$self->{result_values}->{unknown_total}]\n";
|
||||||
return $msg
|
return $msg
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,13 +104,7 @@ sub custom_services_perfdata {
|
|||||||
sub custom_services_threshold {
|
sub custom_services_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $message;
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -128,13 +112,8 @@ sub custom_services_threshold {
|
|||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub custom_groups_calc {
|
sub custom_groups_calc {
|
||||||
@ -220,13 +199,8 @@ sub custom_groups_perfdata {
|
|||||||
|
|
||||||
sub custom_groups_threshold {
|
sub custom_groups_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{critical_groups}) && $self->{instance_mode}->{option_results}->{critical_groups} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{critical_groups}) && $self->{instance_mode}->{option_results}->{critical_groups} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_groups})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_groups})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -234,10 +208,6 @@ sub custom_groups_threshold {
|
|||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_groups})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_groups})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
@ -245,8 +215,7 @@ sub custom_groups_threshold {
|
|||||||
sub set_counters {
|
sub set_counters {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
$self->{maps_counters_type} = [
|
$self->{maps_counters_type} = [];
|
||||||
];
|
|
||||||
|
|
||||||
$self->{maps_counters}->{totalservice} = [
|
$self->{maps_counters}->{totalservice} = [
|
||||||
{ label => 'total-service', threshold => 0, set => {
|
{ label => 'total-service', threshold => 0, set => {
|
||||||
|
@ -31,13 +31,8 @@ use Digest::MD5 qw(md5_hex);
|
|||||||
|
|
||||||
sub custom_select_threshold {
|
sub custom_select_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
our $expand = $self->{result_values}->{expand};
|
our $expand = $self->{result_values}->{expand};
|
||||||
if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} &&
|
if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} &&
|
||||||
$self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{critical})) {
|
$self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{critical})) {
|
||||||
@ -53,10 +48,6 @@ sub custom_select_threshold {
|
|||||||
$self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@);
|
$self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@);
|
||||||
$self->{output}->option_exit();
|
$self->{output}->option_exit();
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
$self->{result_values}->{last_status} = $status;
|
$self->{result_values}->{last_status} = $status;
|
||||||
return $status;
|
return $status;
|
||||||
|
@ -164,11 +164,6 @@ sub connector_response_status {
|
|||||||
|
|
||||||
# Check response
|
# Check response
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{critical_connector_status}) && $self->{critical_connector_status} ne '' &&
|
if (defined($self->{critical_connector_status}) && $self->{critical_connector_status} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{critical_connector_status}, values => $self->{result})) {
|
$self->{output}->test_eval(test => $self->{critical_connector_status}, values => $self->{result})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -179,11 +174,6 @@ sub connector_response_status {
|
|||||||
$self->{output}->test_eval(test => $self->{unknown_connector_status}, values => $self->{result})) {
|
$self->{output}->test_eval(test => $self->{unknown_connector_status}, values => $self->{result})) {
|
||||||
$status = 'unknown';
|
$status = 'unknown';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => 'filter connector status issue: ' . $message);
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(long_msg => $self->{result}->{extra_message}, debug => 1);
|
$self->{output}->output_add(long_msg => $self->{result}->{extra_message}, debug => 1);
|
||||||
|
@ -29,13 +29,8 @@ use centreon::plugins::statefile;
|
|||||||
|
|
||||||
sub custom_status_threshold {
|
sub custom_status_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) {
|
||||||
$self->{instance_mode}->{dc_critical}++;
|
$self->{instance_mode}->{dc_critical}++;
|
||||||
@ -45,10 +40,6 @@ sub custom_status_threshold {
|
|||||||
$self->{instance_mode}->{dc_warning}++;
|
$self->{instance_mode}->{dc_warning}++;
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
|
@ -29,13 +29,8 @@ use centreon::plugins::statefile;
|
|||||||
|
|
||||||
sub custom_status_threshold {
|
sub custom_status_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) {
|
||||||
$self->{instance_mode}->{host_critical}++;
|
$self->{instance_mode}->{host_critical}++;
|
||||||
@ -45,10 +40,6 @@ sub custom_status_threshold {
|
|||||||
$self->{instance_mode}->{host_warning}++;
|
$self->{instance_mode}->{host_warning}++;
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
|
@ -75,11 +75,7 @@ sub check {
|
|||||||
centreon::plugins::misc::trim($3), centreon::plugins::misc::trim($4));
|
centreon::plugins::misc::trim($3), centreon::plugins::misc::trim($4));
|
||||||
|
|
||||||
$checked++;
|
$checked++;
|
||||||
my ($status, $message) = ('ok');
|
my $status = 'ok';
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -87,10 +83,7 @@ sub check {
|
|||||||
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(
|
$self->{output}->output_add(
|
||||||
severity => $status,
|
severity => $status,
|
||||||
|
@ -73,11 +73,7 @@ sub check {
|
|||||||
|
|
||||||
$checked++;
|
$checked++;
|
||||||
|
|
||||||
my ($status, $message) = ('ok');
|
my $status = 'ok';
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -85,10 +81,7 @@ sub check {
|
|||||||
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(
|
$self->{output}->output_add(
|
||||||
severity => $status,
|
severity => $status,
|
||||||
|
@ -75,11 +75,7 @@ sub check {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
my ($status, $message) = ('ok');
|
my $status = 'ok';
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -87,10 +83,7 @@ sub check {
|
|||||||
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(
|
$self->{output}->output_add(
|
||||||
severity => $status,
|
severity => $status,
|
||||||
|
@ -82,11 +82,7 @@ sub check {
|
|||||||
|
|
||||||
$checked++;
|
$checked++;
|
||||||
|
|
||||||
my ($status, $message) = ('ok');
|
my $status = 'ok'
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -94,10 +90,7 @@ sub check {
|
|||||||
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(
|
$self->{output}->output_add(
|
||||||
severity => $status,
|
severity => $status,
|
||||||
|
@ -74,11 +74,7 @@ sub check {
|
|||||||
centreon::plugins::misc::trim($4), centreon::plugins::misc::trim($5));
|
centreon::plugins::misc::trim($4), centreon::plugins::misc::trim($5));
|
||||||
|
|
||||||
$checked++;
|
$checked++;
|
||||||
my ($status, $message) = ('ok');
|
my $status = 'ok';
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -86,10 +82,7 @@ sub check {
|
|||||||
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(
|
$self->{output}->output_add(
|
||||||
severity => $status,
|
severity => $status,
|
||||||
|
@ -68,11 +68,7 @@ sub check {
|
|||||||
|
|
||||||
$checked++;
|
$checked++;
|
||||||
|
|
||||||
my ($status, $message) = ('ok');
|
my $status = 'ok';
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -80,10 +76,7 @@ sub check {
|
|||||||
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(
|
$self->{output}->output_add(
|
||||||
severity => $status,
|
severity => $status,
|
||||||
|
@ -70,11 +70,7 @@ sub check {
|
|||||||
|
|
||||||
$checked++;
|
$checked++;
|
||||||
|
|
||||||
my ($status, $message) = ('ok');
|
my $status = 'ok';
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -82,10 +78,7 @@ sub check {
|
|||||||
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
$self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
$self->{output}->output_add(
|
$self->{output}->output_add(
|
||||||
severity => $status,
|
severity => $status,
|
||||||
|
@ -33,11 +33,6 @@ use Time::HiRes qw(gettimeofday tv_interval);
|
|||||||
sub custom_select_threshold {
|
sub custom_select_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
our $expand = $self->{result_values}->{expand};
|
our $expand = $self->{result_values}->{expand};
|
||||||
if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} &&
|
if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} &&
|
||||||
@ -54,10 +49,6 @@ sub custom_select_threshold {
|
|||||||
$self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@);
|
$self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@);
|
||||||
$self->{output}->option_exit();
|
$self->{output}->option_exit();
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
$self->{result_values}->{last_status} = $status;
|
$self->{result_values}->{last_status} = $status;
|
||||||
return $status;
|
return $status;
|
||||||
|
@ -383,12 +383,6 @@ sub request {
|
|||||||
|
|
||||||
# Check response
|
# Check response
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($options{request}->{critical_status}) && $options{request}->{critical_status} ne '' &&
|
if (defined($options{request}->{critical_status}) && $options{request}->{critical_status} ne '' &&
|
||||||
$self->{output}->test_eval(test => $options{request}->{critical_status}, values => { code => $self->{response_code} })) {
|
$self->{output}->test_eval(test => $options{request}->{critical_status}, values => { code => $self->{response_code} })) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -399,11 +393,6 @@ sub request {
|
|||||||
$self->{output}->test_eval(test => $options{request}->{unknown_status}, values => { code => $self->{response_code} })) {
|
$self->{output}->test_eval(test => $options{request}->{unknown_status}, values => { code => $self->{response_code} })) {
|
||||||
$status = 'unknown';
|
$status = 'unknown';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => 'filter status issue: ' . $message);
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
my $short_msg = $self->{response_code} . ' ' .
|
my $short_msg = $self->{response_code} . ' ' .
|
||||||
|
@ -251,12 +251,6 @@ sub request {
|
|||||||
|
|
||||||
# Check response
|
# Check response
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
my $code = $self->{response}->code();
|
my $code = $self->{response}->code();
|
||||||
if (defined($request_options->{critical_status}) && $request_options->{critical_status} ne '' &&
|
if (defined($request_options->{critical_status}) && $request_options->{critical_status} ne '' &&
|
||||||
$self->{output}->test_eval(test => $request_options->{critical_status}, values => { code => $code })) {
|
$self->{output}->test_eval(test => $request_options->{critical_status}, values => { code => $code })) {
|
||||||
@ -268,11 +262,6 @@ sub request {
|
|||||||
$self->{output}->test_eval(test => $request_options->{unknown_status}, values => { code => $code })) {
|
$self->{output}->test_eval(test => $request_options->{unknown_status}, values => { code => $code })) {
|
||||||
$status = 'unknown';
|
$status = 'unknown';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => 'filter status issue: ' . $message);
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) {
|
||||||
my $short_msg = $self->{response}->status_line;
|
my $short_msg = $self->{response}->status_line;
|
||||||
|
@ -928,9 +928,15 @@ sub test_eval {
|
|||||||
die 'Unsafe code evaluation: ' . $@;
|
die 'Unsafe code evaluation: ' . $@;
|
||||||
}
|
}
|
||||||
} elsif (defined($options{values})) {
|
} elsif (defined($options{values})) {
|
||||||
# unsafe code execution. don't need to check if it's safe (with no values)
|
|
||||||
my $values = $options{values};
|
my $values = $options{values};
|
||||||
|
{
|
||||||
|
local $SIG{__WARN__} = sub {}; # ignore
|
||||||
|
|
||||||
$result = eval "$options{test}";
|
$result = eval "$options{test}";
|
||||||
|
if ($@) {
|
||||||
|
die 'Code evaluation error: ' . $@;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
|
@ -30,11 +30,6 @@ our @EXPORT_OK = qw(catalog_status_threshold catalog_status_threshold_ng catalog
|
|||||||
sub catalog_status_threshold {
|
sub catalog_status_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
my $label = $self->{label};
|
my $label = $self->{label};
|
||||||
$label =~ s/-/_/g;
|
$label =~ s/-/_/g;
|
||||||
@ -51,10 +46,6 @@ sub catalog_status_threshold {
|
|||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{'unknown_' . $label})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{'unknown_' . $label})) {
|
||||||
$status = 'unknown';
|
$status = 'unknown';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
@ -64,10 +55,6 @@ sub catalog_status_threshold_ng {
|
|||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
my $message;
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -78,10 +65,6 @@ sub catalog_status_threshold_ng {
|
|||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}})) {
|
||||||
$status = 'unknown';
|
$status = 'unknown';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
|
@ -761,7 +761,6 @@ sub change_macros {
|
|||||||
foreach (@{$options{macros}}) {
|
foreach (@{$options{macros}}) {
|
||||||
if (defined($self->{option_results}->{$_}) && $self->{option_results}->{$_} ne '') {
|
if (defined($self->{option_results}->{$_}) && $self->{option_results}->{$_} ne '') {
|
||||||
$self->{option_results}->{$_} =~ s/%\{(.*?)\}/\$values->{$1}/g;
|
$self->{option_results}->{$_} =~ s/%\{(.*?)\}/\$values->{$1}/g;
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{$_});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,14 @@ sub eval {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
my $values = $self->{result_values};
|
my $values = $self->{result_values};
|
||||||
|
{
|
||||||
|
local $SIG{__WARN__} = sub {}; # ignore
|
||||||
|
|
||||||
$result = eval "$options{value}";
|
$result = eval "$options{value}";
|
||||||
|
if ($@) {
|
||||||
|
die 'Code evaluation error: ' . $@;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
|
@ -43,13 +43,8 @@ sub prefix_metric_output {
|
|||||||
|
|
||||||
sub custom_status_threshold {
|
sub custom_status_threshold {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) {
|
||||||
$status = 'critical';
|
$status = 'critical';
|
||||||
@ -57,10 +52,6 @@ sub custom_status_threshold {
|
|||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) {
|
||||||
$status = 'warning';
|
$status = 'warning';
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ use warnings;
|
|||||||
|
|
||||||
sub custom_status_output {
|
sub custom_status_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $msg = 'Status : ' . $self->{result_values}->{linkstatus} . ' (oper: ' . $self->{result_values}->{opstatus} . ', ' . 'admin: ' . $self->{result_values}->{admstatus} . ')';
|
my $msg = 'Status : ' . $self->{result_values}->{linkstatus} . ' (oper: ' . $self->{result_values}->{opstatus} . ', ' . 'admin: ' . $self->{result_values}->{admstatus} . ')';
|
||||||
if (defined($self->{instance_mode}->{option_results}->{add_duplex_status})) {
|
if (defined($self->{instance_mode}->{option_results}->{add_duplex_status})) {
|
||||||
$msg .= ' (duplex: ' . $self->{result_values}->{duplexstatus} . ')';
|
$msg .= ' (duplex: ' . $self->{result_values}->{duplexstatus} . ')';
|
||||||
@ -324,15 +325,10 @@ sub add_result_global {
|
|||||||
admstatus => $self->{oid_adminstatus_mapping}->{$self->{results}->{$self->{oid_adminstatus} . '.' . $_}}
|
admstatus => $self->{oid_adminstatus_mapping}->{$self->{results}->{$self->{oid_adminstatus} . '.' . $_}}
|
||||||
};
|
};
|
||||||
foreach (('global_link_up', 'global_link_down', 'global_admin_up', 'global_admin_down', 'global_oper_up', 'global_oper_down')) {
|
foreach (('global_link_up', 'global_link_down', 'global_admin_up', 'global_admin_down', 'global_oper_up', 'global_oper_down')) {
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { return ; };
|
|
||||||
local $SIG{__DIE__} = sub { return ; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' &&
|
if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) {
|
$self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) {
|
||||||
$self->{global}->{$_}++;
|
$self->{global}->{$_}++;
|
||||||
}
|
}
|
||||||
};
|
|
||||||
}
|
}
|
||||||
$self->{global}->{total_port}++;
|
$self->{global}->{total_port}++;
|
||||||
}
|
}
|
||||||
|
@ -33,11 +33,6 @@ use Digest::MD5 qw(md5_hex);
|
|||||||
sub custom_threshold_output {
|
sub custom_threshold_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
my $status = 'ok';
|
my $status = 'ok';
|
||||||
my $message;
|
|
||||||
|
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { $message = $_[0]; };
|
|
||||||
local $SIG{__DIE__} = sub { $message = $_[0]; };
|
|
||||||
|
|
||||||
if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' &&
|
if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' &&
|
||||||
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) {
|
$self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) {
|
||||||
@ -51,10 +46,6 @@ sub custom_threshold_output {
|
|||||||
if (eval "$self->{instance_mode}->{check_status}") {
|
if (eval "$self->{instance_mode}->{check_status}") {
|
||||||
$self->{instance_mode}->{last_status} = 1;
|
$self->{instance_mode}->{last_status} = 1;
|
||||||
}
|
}
|
||||||
};
|
|
||||||
if (defined($message)) {
|
|
||||||
$self->{output}->output_add(long_msg => 'filter status issue: ' . $message);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
@ -1341,15 +1332,10 @@ sub add_result_global {
|
|||||||
admstatus => $self->{oid_adminstatus_mapping}->{ $self->{results}->{$self->{oid_adminstatus} . '.' . $_} }
|
admstatus => $self->{oid_adminstatus_mapping}->{ $self->{results}->{$self->{oid_adminstatus} . '.' . $_} }
|
||||||
};
|
};
|
||||||
foreach (('global_admin_up', 'global_admin_down', 'global_oper_up', 'global_oper_down')) {
|
foreach (('global_admin_up', 'global_admin_down', 'global_oper_up', 'global_oper_down')) {
|
||||||
eval {
|
|
||||||
local $SIG{__WARN__} = sub { return ; };
|
|
||||||
local $SIG{__DIE__} = sub { return ; };
|
|
||||||
|
|
||||||
if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' &&
|
if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' &&
|
||||||
$self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) {
|
$self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) {
|
||||||
$self->{global}->{$_}++;
|
$self->{global}->{$_}++;
|
||||||
}
|
}
|
||||||
};
|
|
||||||
}
|
}
|
||||||
$self->{global}->{total_port}++;
|
$self->{global}->{total_port}++;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user