From 99a3283fd5e978a616b84c0210529a81269ce7da Mon Sep 17 00:00:00 2001 From: garnier-quentin Date: Wed, 18 Dec 2019 15:07:42 +0100 Subject: [PATCH] Fix #1768 --- .../common/cisco/standard/snmp/mode/stack.pm | 4 +- centreon-plugins/changelog | 10 +++++ .../extreme/snmp/mode/components/fan.pm | 43 ++++++++++++++----- .../extreme/snmp/mode/components/poe.pm | 38 +++++++++++----- .../extreme/snmp/mode/components/psu.pm | 25 +++++++---- .../extreme/snmp/mode/components/slot.pm | 24 ++++++++--- .../snmp/mode/components/temperature.pm | 26 +++++++---- 7 files changed, 126 insertions(+), 44 deletions(-) diff --git a/centreon-plugins/centreon/common/cisco/standard/snmp/mode/stack.pm b/centreon-plugins/centreon/common/cisco/standard/snmp/mode/stack.pm index 35a35bc8f..b2d4f9620 100644 --- a/centreon-plugins/centreon/common/cisco/standard/snmp/mode/stack.pm +++ b/centreon-plugins/centreon/common/cisco/standard/snmp/mode/stack.pm @@ -28,14 +28,14 @@ use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold sub custom_stack_status_output { my ($self, %options) = @_; - + my $msg = sprintf("Stack status is '%s'", $self->{result_values}->{stack_status}); return $msg; } sub custom_status_output { my ($self, %options) = @_; - + my $msg = sprintf("State is '%s', Role is '%s'", $self->{result_values}->{state}, $self->{result_values}->{role}); return $msg; } diff --git a/centreon-plugins/changelog b/centreon-plugins/changelog index 65bac93f0..295331cfd 100644 --- a/centreon-plugins/changelog +++ b/centreon-plugins/changelog @@ -1,3 +1,13 @@ +2019-12-XX Quentin Garnier + * Plugin added: CouchDB Rest API + * Plugin added: Maltem Insight Performance Rest API + * Plugin added: Hikvision camera SNMP + * Plugin added: Avaya CM SNMP + * Plugin added: Palo Alto SSH + * Mode added: [linux/snmp] 'udpcon' + * Mode added: [cisco/standard/snmp] 'load' + * Fix: Ctrl+F "Fix" on commits page + 2019-10-16 Colin Gagnaire * Plugin added: ABB CMS700 SNMP * Mode added: [linux/local] 'discovery-nmap' diff --git a/centreon-plugins/network/extreme/snmp/mode/components/fan.pm b/centreon-plugins/network/extreme/snmp/mode/components/fan.pm index f19edd3ee..743219c49 100644 --- a/centreon-plugins/network/extreme/snmp/mode/components/fan.pm +++ b/centreon-plugins/network/extreme/snmp/mode/components/fan.pm @@ -37,14 +37,18 @@ my $oid_extremeFanStatusEntry = '.1.3.6.1.4.1.1916.1.1.1.9.1'; sub load { my ($self) = @_; - push @{$self->{request}}, { oid => $oid_extremeFanStatusEntry, end => $mapping->{extremeFanOperational}->{oid} }; + push @{$self->{request}}, { + oid => $oid_extremeFanStatusEntry, + start => $mapping->{extremeFanOperational}->{oid}, + end => $mapping->{extremeFanSpeed}->{oid} + }; } sub check { my ($self) = @_; $self->{output}->output_add(long_msg => "Checking fans"); - $self->{components}->{fan} = {name => 'fans', total => 0, skip => 0}; + $self->{components}->{fan} = { name => 'fans', total => 0, skip => 0 }; return if ($self->check_filter(section => 'fan')); my ($exit, $warn, $crit, $checked); @@ -56,19 +60,37 @@ sub check { next if ($self->check_filter(section => 'fan', instance => $instance)); $self->{components}->{fan}->{total}++; - $self->{output}->output_add(long_msg => sprintf("Fan '%s' status is '%s' [instance = %s, speed = %s]", - $instance, $result->{extremeFanOperational}, $instance, defined($result->{extremeFanSpeed}) ? $result->{extremeFanSpeed} : 'unknown')); + $self->{output}->output_add(long_msg => + sprintf( + "Fan '%s' status is '%s' [instance = %s, speed = %s]", + $instance, + $result->{extremeFanOperational}, + $instance, + defined($result->{extremeFanSpeed}) ? $result->{extremeFanSpeed} : 'unknown' + ) + ); $exit = $self->get_severity(section => 'fan', value => $result->{extremeFanOperational}); if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { - $self->{output}->output_add(severity => $exit, - short_msg => sprintf("Fan '%s' status is '%s'", $instance, $result->{extremeFanOperational})); - next; + $self->{output}->output_add( + severity => $exit, + short_msg => sprintf( + "Fan '%s' status is '%s'", + $instance, + $result->{extremeFanOperational} + ) + ); } ($exit, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'fan', instance => $instance, value => $result->{extremeFanSpeed}); if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { - $self->{output}->output_add(severity => $exit, - short_msg => sprintf("Fan '%s' is '%s' rpm", $instance, $result->{extremeFanSpeed})); + $self->{output}->output_add( + severity => $exit, + short_msg => sprintf( + "Fan '%s' is '%s' rpm", + $instance, + $result->{extremeFanSpeed} + ) + ); } $self->{output}->perfdata_add( label => 'fan', unit => 'rpm', @@ -76,7 +98,8 @@ sub check { instances => $instance, value => $result->{extremeFanSpeed}, warning => $warn, - critical => $crit, min => 0 + critical => $crit, + min => 0 ); } } diff --git a/centreon-plugins/network/extreme/snmp/mode/components/poe.pm b/centreon-plugins/network/extreme/snmp/mode/components/poe.pm index 79a878512..17aa3bcca 100644 --- a/centreon-plugins/network/extreme/snmp/mode/components/poe.pm +++ b/centreon-plugins/network/extreme/snmp/mode/components/poe.pm @@ -54,7 +54,7 @@ sub check { my ($self) = @_; $self->{output}->output_add(long_msg => "Checking poes"); - $self->{components}->{poe} = {name => 'poes', total => 0, skip => 0}; + $self->{components}->{poe} = { name => 'poes', total => 0, skip => 0 }; return if ($self->check_filter(section => 'poe')); my ($exit, $warn, $crit, $checked); @@ -70,22 +70,39 @@ sub check { sprintf("%.3f", $result2->{extremePethSlotMeasuredPower} / 1000) : 'unknown'; $self->{components}->{poe}->{total}++; - $self->{output}->output_add(long_msg => sprintf("Poe '%s' status is '%s' [instance = %s, power = %s]", - $instance, $result->{extremePethSlotPoeStatus}, - $instance, $result2->{extremePethSlotMeasuredPower})); + $self->{output}->output_add( + long_msg => sprintf( + "Poe '%s' status is '%s' [instance = %s, power = %s]", + $instance, + $result->{extremePethSlotPoeStatus}, + $instance, + $result2->{extremePethSlotMeasuredPower} + ) + ); $exit = $self->get_severity(section => 'poe', value => $result->{extremePethSlotPoeStatus}); if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { - $self->{output}->output_add(severity => $exit, - short_msg => sprintf("Poe '%s' status is '%s'", $instance, $result->{extremePethSlotPoeStatus})); - next; + $self->{output}->output_add( + severity => $exit, + short_msg => sprintf( + "Poe '%s' status is '%s'", + $instance, + $result->{extremePethSlotPoeStatus} + ) + ); } next if ($result2->{extremePethSlotMeasuredPower} !~ /\d+/); ($exit, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'poe', instance => $instance, value => $result2->{extremePethSlotMeasuredPower}); if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { - $self->{output}->output_add(severity => $exit, - short_msg => sprintf("Poe '%s' is '%s' W", $instance, $result2->{extremePethSlotMeasuredPower})); + $self->{output}->output_add( + severity => $exit, + short_msg => sprintf( + "Poe '%s' is '%s' W", + $instance, + $result2->{extremePethSlotMeasuredPower} + ) + ); } $self->{output}->perfdata_add( label => 'poe_power', unit => 'W', @@ -93,7 +110,8 @@ sub check { instances => $instance, value => $result2->{extremePethSlotMeasuredPower}, warning => $warn, - critical => $crit, min => 0 + critical => $crit, + min => 0 ); } } diff --git a/centreon-plugins/network/extreme/snmp/mode/components/psu.pm b/centreon-plugins/network/extreme/snmp/mode/components/psu.pm index 6c2b4a31e..60fc6fa36 100644 --- a/centreon-plugins/network/extreme/snmp/mode/components/psu.pm +++ b/centreon-plugins/network/extreme/snmp/mode/components/psu.pm @@ -54,14 +54,22 @@ sub check_fan_speed { my ($exit, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'psu.fan', instance => $options{instance}, value => $options{value}); if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { - $self->{output}->output_add(severity => $exit, - short_msg => sprintf("Power supply fan '%s' is '%s' rpm", $options{instance}, $options{value})); + $self->{output}->output_add( + severity => $exit, + short_msg => sprintf( + "Power supply fan '%s' is '%s' rpm", + $options{instance}, + $options{value} + ) + ); } - $self->{output}->perfdata_add(label => 'psu_fan_' . $options{instance}, unit => 'rpm', - value => $options{value}, - warning => $warn, - critical => $crit, min => 0 - ); + $self->{output}->perfdata_add( + label => 'psu_fan_' . $options{instance}, unit => 'rpm', + value => $options{value}, + warning => $warn, + critical => $crit, + min => 0 + ); } sub check { @@ -109,7 +117,8 @@ sub check { instances => $instance, value => $power, warning => $warn, - critical => $crit, min => 0 + critical => $crit, + min => 0 ); } } diff --git a/centreon-plugins/network/extreme/snmp/mode/components/slot.pm b/centreon-plugins/network/extreme/snmp/mode/components/slot.pm index 8dd33d688..9a1394648 100644 --- a/centreon-plugins/network/extreme/snmp/mode/components/slot.pm +++ b/centreon-plugins/network/extreme/snmp/mode/components/slot.pm @@ -57,7 +57,7 @@ sub check { my ($self) = @_; $self->{output}->output_add(long_msg => "Checking slots"); - $self->{components}->{slot} = {name => 'slots', total => 0, skip => 0}; + $self->{components}->{slot} = { name => 'slots', total => 0, skip => 0 }; return if ($self->check_filter(section => 'slot')); foreach my $oid ($self->{snmp}->oid_lex_sort(keys %{$self->{results}->{$oid_extremeSlotEntry}})) { @@ -72,14 +72,26 @@ sub check { } $self->{components}->{slot}->{total}++; - $self->{output}->output_add(long_msg => sprintf("Slot '%s' status is '%s' [instance = %s]", - $result->{extremeSlotName}, $result->{extremeSlotModuleState}, $instance)); + $self->{output}->output_add(long_msg => + sprintf( + "Slot '%s' status is '%s' [instance = %s]", + $result->{extremeSlotName}, + $result->{extremeSlotModuleState}, + $instance + ) + ); my $exit = $self->get_severity(section => 'slot', value => $result->{extremeSlotModuleState}); if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { - $self->{output}->output_add(severity => $exit, - short_msg => sprintf("Slot '%s' status is '%s'", $result->{extremeSlotName}, $result->{extremeSlotModuleState})); + $self->{output}->output_add( + severity => $exit, + short_msg => sprintf( + "Slot '%s' status is '%s'", + $result->{extremeSlotName}, + $result->{extremeSlotModuleState} + ) + ); } } } -1; \ No newline at end of file +1; diff --git a/centreon-plugins/network/extreme/snmp/mode/components/temperature.pm b/centreon-plugins/network/extreme/snmp/mode/components/temperature.pm index 8fd87f274..8eccb804c 100644 --- a/centreon-plugins/network/extreme/snmp/mode/components/temperature.pm +++ b/centreon-plugins/network/extreme/snmp/mode/components/temperature.pm @@ -36,8 +36,8 @@ sub load { sub check { my ($self) = @_; - $self->{output}->output_add(long_msg => "Checking temperatures"); - $self->{components}->{temperature} = {name => 'temperatures', total => 0, skip => 0}; + $self->{output}->output_add(long_msg => 'Checking temperatures'); + $self->{components}->{temperature} = { name => 'temperatures', total => 0, skip => 0 }; return if ($self->check_filter(section => 'temperature')); return if (!defined($self->{results}->{$mapping->{extremeCurrentTemperature}->{oid}}->{$mapping->{extremeCurrentTemperature}->{oid} . '.0'})); @@ -47,16 +47,26 @@ sub check { next if ($self->check_filter(section => 'temperature', instance => $instance)); $self->{components}->{temperature}->{total}++; - $self->{output}->output_add(long_msg => sprintf("temperature is %dC [instance: %s].", - $result->{extremeCurrentTemperature}, - $instance)); + $self->{output}->output_add( + long_msg => sprintf( + 'temperature is %dC [instance: %s].', + $result->{extremeCurrentTemperature}, + $instance + ) + ); my ($exit, $warn, $crit) = $self->get_severity_numeric(section => 'temperature', instance => $instance, value => $result->{extremeCurrentTemperature}); if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { - $self->{output}->output_add(severity => $exit, - short_msg => sprintf("Temperature is %s degree centigrade", $result->{extremeCurrentTemperature})); + $self->{output}->output_add( + severity => $exit, + short_msg => sprintf( + 'Temperature is %s degree centigrade', + $result->{extremeCurrentTemperature} + ) + ); } + $self->{output}->perfdata_add( - label => "temp", unit => 'C', + label => 'temp', unit => 'C', nlabel => 'hardware.temperature.celsius', value => $result->{extremeCurrentTemperature}, warning => $warn,