From 85f628b5ff92e97f864e2438da34c5eb1b84c8e5 Mon Sep 17 00:00:00 2001 From: garnier-quentin Date: Fri, 24 Jul 2015 11:01:22 +0200 Subject: [PATCH] + Enhance interfce status check --- centreon-plugins/snmp_standard/mode/interfaces.pm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/centreon-plugins/snmp_standard/mode/interfaces.pm b/centreon-plugins/snmp_standard/mode/interfaces.pm index 01894c6ec..ca5d5de17 100644 --- a/centreon-plugins/snmp_standard/mode/interfaces.pm +++ b/centreon-plugins/snmp_standard/mode/interfaces.pm @@ -184,9 +184,11 @@ sub custom_threshold_output { local $SIG{__WARN__} = sub { $message = $_[0]; }; local $SIG{__DIE__} = sub { $message = $_[0]; }; - if (defined($instance_mode->{option_results}->{critical_status}) && eval "$instance_mode->{option_results}->{critical_status}") { + if (defined($instance_mode->{option_results}->{critical_status}) && $instance_mode->{option_results}->{critical_status} ne '' && + eval "$instance_mode->{option_results}->{critical_status}") { $status = 'critical'; - } elsif (defined($instance_mode->{option_results}->{warning_status}) && eval "$instance_mode->{option_results}->{warning_status}") { + } elsif (defined($instance_mode->{option_results}->{warning_status}) && $instance_mode->{option_results}->{warning_status} ne '' && + eval "$instance_mode->{option_results}->{warning_status}") { $status = 'warning'; } }; @@ -480,6 +482,12 @@ sub check_oids_label { } } +sub default_warning_status { + my ($self, %options) = @_; + + return ''; +} + sub default_critical_status { my ($self, %options) = @_; @@ -510,7 +518,7 @@ sub new { "add-traffic" => { name => 'add_traffic' }, "add-errors" => { name => 'add_errors' }, "add-cast" => { name => 'add_cast' }, - "warning-status:s" => { name => 'warning_status' }, + "warning-status:s" => { name => 'warning_status', default => $self->default_warning_status() }, "critical-status:s" => { name => 'critical_status', default => $self->default_critical_status() }, "oid-filter:s" => { name => 'oid_filter', default => $self->default_oid_filter_name() }, "oid-display:s" => { name => 'oid_display', default => $self->default_oid_display_name() },