From b45d740617e2ce606ef5850d3a207e24d5f00077 Mon Sep 17 00:00:00 2001 From: qgarnier Date: Mon, 15 Nov 2021 11:41:59 +0100 Subject: [PATCH] enh(qnap/snmp): memory mode - add force-counters-legacy option (#3250) --- storage/qnap/snmp/mode/memory.pm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/storage/qnap/snmp/mode/memory.pm b/storage/qnap/snmp/mode/memory.pm index 757844510..17e8ab89a 100644 --- a/storage/qnap/snmp/mode/memory.pm +++ b/storage/qnap/snmp/mode/memory.pm @@ -78,6 +78,10 @@ sub new { my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1); bless $self, $class; + $options{options}->add_options(arguments => { + 'force-counters-legacy' => { name => 'force_counters_legacy' } + }); + return $self; } @@ -166,9 +170,12 @@ sub manage_selection { ], nothing_quit => 1 ); - $self->check_memory(snmp => $options{snmp}, type => 'qts', 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, convert => 1); + + if (!defined($self->{option_results}->{force_counters_legacy})) { + $self->check_memory(snmp => $options{snmp}, type => 'qts', 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, convert => 1); + } $self->check_memory(snmp => $options{snmp}, type => 'legacy', snmp_result => $snmp_result, convert => 1); } @@ -182,6 +189,10 @@ Check memory. =over 8 +=item B<--force-counters-legacy> + +Force to use legacy counters. Should be used when EX/ES/QTS counters are buggy. + =item B<--warning-*> B<--critical-*> Thresholds. @@ -190,4 +201,3 @@ Can be: 'memory-usage' (B), 'memory-usage-free' (B), 'memory-usage-prct' (%). =back =cut -