fix(qnap/snmp): minor errors (#2859)

This commit is contained in:
qgarnier 2021-06-08 15:16:06 +02:00 committed by GitHub
parent b5d91636c2
commit 077268f836
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 20 deletions

View File

@ -117,7 +117,7 @@ sub check_fan_ex {
my $snmp_result = $self->{snmp}->get_table( my $snmp_result = $self->{snmp}->get_table(
oid => '.1.3.6.1.4.1.24681.1.4.1.1.1.1.2.2', # systemFan2Table oid => '.1.3.6.1.4.1.24681.1.4.1.1.1.1.2.2', # systemFan2Table
start => $mapping->{ex}->{status}->{oid} start => $mapping->{ex}->{description}->{oid}
); );
check_fan_result($self, type => 'ex', snmp_result => $snmp_result); check_fan_result($self, type => 'ex', snmp_result => $snmp_result);
} }

View File

@ -23,11 +23,6 @@ package storage::qnap::snmp::mode::components::temperature;
use strict; use strict;
use warnings; use warnings;
my $oid_CPU_Temperature_entry = '.1.3.6.1.4.1.24681.1.2.5';
my $oid_CPU_Temperature = '.1.3.6.1.4.1.24681.1.2.5.0';
my $oid_SystemTemperature_entry = '.1.3.6.1.4.1.24681.1.2.6';
my $oid_SystemTemperature = '.1.3.6.1.4.1.24681.1.2.6.0';
my $mapping = { my $mapping = {
legacy => { legacy => {
cpu_temp => { oid => '.1.3.6.1.4.1.24681.1.2.5' }, # cpu-Temperature cpu_temp => { oid => '.1.3.6.1.4.1.24681.1.2.5' }, # cpu-Temperature
@ -49,7 +44,7 @@ sub check_temp_result {
my ($self, %options) = @_; my ($self, %options) = @_;
$options{result}->{cpu_temp} = defined($options{result}->{cpu_temp}) ? $options{result}->{cpu_temp} : 'unknown'; $options{result}->{cpu_temp} = defined($options{result}->{cpu_temp}) ? $options{result}->{cpu_temp} : 'unknown';
if ($options{result}->{cpu_temp} =~ /([0-9]+)\s*C/ && !$self->check_filter(section => 'temperature', instance => 'cpu')) { if ($options{result}->{cpu_temp} =~ /([0-9]+)\s*C?/ && !$self->check_filter(section => 'temperature', instance => 'cpu')) {
my $value = $1; my $value = $1;
$self->{components}->{temperature}->{total}++; $self->{components}->{temperature}->{total}++;
$self->{output}->output_add( $self->{output}->output_add(
@ -76,7 +71,7 @@ sub check_temp_result {
} }
$options{result}->{system_temp} = defined($options{result}->{system_temp}) ? $options{result}->{system_temp} : 'unknown'; $options{result}->{system_temp} = defined($options{result}->{system_temp}) ? $options{result}->{system_temp} : 'unknown';
if ($options{result}->{system_temp} =~ /([0-9]+)\s*C/ && !$self->check_filter(section => 'temperature', instance => 'system')) { if ($options{result}->{system_temp} =~ /([0-9]+)\s*C?/ && !$self->check_filter(section => 'temperature', instance => 'system')) {
my $value = $1; my $value = $1;
$self->{components}->{temperature}->{total}++; $self->{components}->{temperature}->{total}++;
$self->{output}->output_add( $self->{output}->output_add(
@ -120,7 +115,7 @@ sub check_temp {
oids => [ map($_->{oid} . '.0', values(%{$mapping->{ex}}), values(%{$mapping->{legacy}})) ], oids => [ map($_->{oid} . '.0', values(%{$mapping->{ex}}), values(%{$mapping->{legacy}})) ],
); );
my $result = $self->{snmp}->map_instance(mapping => $mapping->{ex}, results => $snmp_result, instance => 0); my $result = $self->{snmp}->map_instance(mapping => $mapping->{ex}, results => $snmp_result, instance => 0);
if (defined($result->{cpu_tem})) { if (defined($result->{cpu_temp})) {
check_temp_result($self, result => $result); check_temp_result($self, result => $result);
} else { } else {
$result = $self->{snmp}->map_instance(mapping => $mapping->{legacy}, results => $snmp_result, instance => 0); $result = $self->{snmp}->map_instance(mapping => $mapping->{legacy}, results => $snmp_result, instance => 0);

View File

@ -126,8 +126,12 @@ sub check_memory {
my $result = $options{snmp}->map_instance(mapping => $mapping->{ $options{type} }, results => $options{snmp_result}, instance => 0); my $result = $options{snmp}->map_instance(mapping => $mapping->{ $options{type} }, results => $options{snmp_result}, instance => 0);
return 0 if (!defined($result->{ram_free})); return 0 if (!defined($result->{ram_free}));
if (defined($options{convert})) {
$result->{ram_total} = $self->convert_bytes(value => $result->{ram_total}); $result->{ram_total} = $self->convert_bytes(value => $result->{ram_total});
$result->{ram_free} = $self->convert_bytes(value => $result->{ram_free}); $result->{ram_free} = $self->convert_bytes(value => $result->{ram_free});
}
if (defined($result->{ram_total}) && $result->{ram_total} > 0) {
$self->{ram} = { $self->{ram} = {
total => $result->{ram_total}, total => $result->{ram_total},
used => $result->{ram_total} - $result->{ram_free}, used => $result->{ram_total} - $result->{ram_free},
@ -136,6 +140,7 @@ sub check_memory {
prct_free => $result->{ram_free} * 100 / $result->{ram_total} prct_free => $result->{ram_free} * 100 / $result->{ram_total}
}; };
} }
}
sub manage_selection { sub manage_selection {
my ($self, %options) = @_; my ($self, %options) = @_;
@ -145,8 +150,8 @@ sub manage_selection {
nothing_quit => 1 nothing_quit => 1
); );
$self->check_memory(snmp => $options{snmp}, type => 'ex', snmp_result => $snmp_result); $self->check_memory(snmp => $options{snmp}, type => 'ex', snmp_result => $snmp_result);
$self->check_memory(snmp => $options{snmp}, type => 'es', snmp_result => $snmp_result); $self->check_memory(snmp => $options{snmp}, type => 'es', snmp_result => $snmp_result, convert => 1);
$self->check_memory(snmp => $options{snmp}, type => 'legacy', snmp_result => $snmp_result); $self->check_memory(snmp => $options{snmp}, type => 'legacy', snmp_result => $snmp_result, convert => 1);
} }
1; 1;