Adding d/p/13_check_snmp_process_new_features
This commit is contained in:
		
							parent
							
								
									890a780886
								
							
						
					
					
						commit
						f45e77a9e1
					
				
					 2 changed files with 349 additions and 0 deletions
				
			
		
							
								
								
									
										348
									
								
								debian/patches/13_check_snmp_process_new_features
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										348
									
								
								debian/patches/13_check_snmp_process_new_features
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,348 @@
 | 
			
		|||
From 9ceabfc974d4d9bfd0731bbedfa12a035a662466 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: jimbobmcgee <jimbobmcgee@users.noreply.github.com>
 | 
			
		||||
Date: Tue, 20 Mar 2018 23:28:12 +0000
 | 
			
		||||
Subject: [PATCH] Minor feature updates to check_snmp_process.pl
 | 
			
		||||
 | 
			
		||||
The following features are included:
 | 
			
		||||
 1.  Added new `-T` option, to report/check against the total RAM of all matched processes, rather than the highest value
 | 
			
		||||
 2.  Warn/Crit values are now optional for `-m` and `-u` options, allowing for capture of these in perfdata without requiring thresholds
 | 
			
		||||
 3.  Perfdata is now always written if `-F` is supplied, even if there were no matched process (i.e. `num_process=0 memory_usage=0 cpu_usage=0`).
 | 
			
		||||
---
 | 
			
		||||
 plugins/check_snmp_process.pl | 201 +++++++++++++++++++++-------------
 | 
			
		||||
 1 file changed, 125 insertions(+), 76 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/plugins/check_snmp_process.pl b/plugins/check_snmp_process.pl
 | 
			
		||||
index 49a8cd7..2d2f72e 100755
 | 
			
		||||
--- a/plugins/check_snmp_process.pl
 | 
			
		||||
+++ b/plugins/check_snmp_process.pl
 | 
			
		||||
@@ -44,9 +44,9 @@
 | 
			
		||||
 my $o_domain    = 'udp/ipv4';                                  # Default to UDP over IPv4
 | 
			
		||||
 my $o_version2  = undef;                                       #use snmp v2c
 | 
			
		||||
 my $o_descr     = undef;                                       # description filter
 | 
			
		||||
-my $o_warn      = 0;                                           # warning limit
 | 
			
		||||
+my $o_warn      = undef;                                       # warning limit
 | 
			
		||||
 my @o_warnL     = undef;                                       # warning limits (min,max)
 | 
			
		||||
-my $o_crit      = 0;                                           # critical limit
 | 
			
		||||
+my $o_crit      = undef;                                       # critical limit
 | 
			
		||||
 my @o_critL     = undef;                                       # critical limits (min,max)
 | 
			
		||||
 my $o_help      = undef;                                       # wan't some help ?
 | 
			
		||||
 my $o_verb      = undef;                                       # verbose mode
 | 
			
		||||
@@ -74,17 +74,22 @@
 | 
			
		||||
 my $o_mem     = undef;                                         # checks memory (max)
 | 
			
		||||
 my @o_memL    = undef;                                         # warn and crit level for mem
 | 
			
		||||
 my $o_mem_avg = undef;                                         # cheks memory average
 | 
			
		||||
+my $o_mem_sum = undef;                                         # checks memory total
 | 
			
		||||
 my $o_cpu     = undef;                                         # checks CPU usage
 | 
			
		||||
 my @o_cpuL    = undef;                                         # warn and crit level for cpu
 | 
			
		||||
-my $o_delta   = $delta_of_time_to_make_average;                # delta time for CPU check
 | 
			
		||||
+my $o_delta   = undef;                                         # delta time for CPU check
 | 
			
		||||
 
 | 
			
		||||
 # functions
 | 
			
		||||
 
 | 
			
		||||
 sub p_version { print "check_snmp_process version : $VERSION\n"; }
 | 
			
		||||
 
 | 
			
		||||
 sub print_usage {
 | 
			
		||||
-    print
 | 
			
		||||
-"Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd) [-p <port>] [-P <IP Protocol>] -n <name> [-w <min_proc>[,<max_proc>] -c <min_proc>[,max_proc] ] [-m<warn Mb>,<crit Mb> -a -u<warn %>,<crit%> -d<delta> ] [-t <timeout>] [-o <octet_length>] [-f -A -F ] [-r] [-V] [-g]\n";
 | 
			
		||||
+    print "Usage: $0 [-v] -H <host> [-p <port>] [-P <IP Protocol>] "
 | 
			
		||||
+        . "((-C <snmp_community> [-2]) | (-l login -x passwd)) "
 | 
			
		||||
+        . "-n <name> [-f] [-A] [-r] [-w <min_proc>[,<max_proc>] -c <min_proc>[,<max_proc>]] "
 | 
			
		||||
+        . "[-m [<warnMB>,<critMB>] [-a|-T]] "
 | 
			
		||||
+        . "[-u [<warn%>,<crit%>] -d<delta>] "
 | 
			
		||||
+        . "[-t <timeout>] [-o <octet_length>] [-F] [-V] [-g]\n";
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 sub isnotnum {                                                 # Return true if arg is not a number
 | 
			
		||||
@@ -186,7 +191,7 @@ sub help {
 | 
			
		||||
    ex : "named.*-t /var/named/chroot" will only select named process with this parameter 
 | 
			
		||||
 -F, --perfout
 | 
			
		||||
    Add performance output
 | 
			
		||||
-   outputs : memory_usage, num_process, cpu_usage
 | 
			
		||||
+   outputs: num_processes, memory_usage (if -m), cpu_usage (if -u)
 | 
			
		||||
 -w, --warn=MIN[,MAX]
 | 
			
		||||
    Number of process that will cause a warning 
 | 
			
		||||
    -1 for no warning, MAX must be >0. Ex : -w-1,50
 | 
			
		||||
@@ -197,15 +202,21 @@ sub help {
 | 
			
		||||
    with the following options : -w m1,x1 -c m2,x2
 | 
			
		||||
    you must have : m2 <= m1 < x1 <= x2
 | 
			
		||||
    you can omit x1 or x2 or both
 | 
			
		||||
--m, --memory=WARN,CRIT
 | 
			
		||||
+-m, --memory[=WARN,CRIT]
 | 
			
		||||
    checks memory usage (default max of all process)
 | 
			
		||||
-   values are warning and critical values in Mb
 | 
			
		||||
+   WARN,CRIT values are warning and critical values in MB
 | 
			
		||||
+   if WARN,CRIT values are not given, just report
 | 
			
		||||
 -a, --average
 | 
			
		||||
    makes an average of memory used by process instead of max
 | 
			
		||||
--u, --cpu=WARN,CRIT
 | 
			
		||||
+   (implies -m, cannot be used with -T)
 | 
			
		||||
+-T, --total
 | 
			
		||||
+   checks the total memory used by processes instead of max
 | 
			
		||||
+   (implies -m, cannot be used with -a)
 | 
			
		||||
+-u, --cpu[=WARN,CRIT]
 | 
			
		||||
    checks cpu usage of all process
 | 
			
		||||
    values are warning and critical values in % of CPU usage
 | 
			
		||||
    if more than one CPU, value can be > 100% : 100%=1 CPU
 | 
			
		||||
+   if WARN,CRIT values are not given, just report
 | 
			
		||||
 -d, --delta=seconds
 | 
			
		||||
    make an average of <delta> seconds for CPU (default 300=5min)   
 | 
			
		||||
 -g, --getall
 | 
			
		||||
@@ -272,6 +283,8 @@ sub check_options {
 | 
			
		||||
         'memory:s'      => \$o_mem,
 | 
			
		||||
         'a'             => \$o_mem_avg,
 | 
			
		||||
         'average'       => \$o_mem_avg,
 | 
			
		||||
+        'T'             => \$o_mem_sum,
 | 
			
		||||
+        'total'         => \$o_mem_sum,
 | 
			
		||||
         'u:s'           => \$o_cpu,
 | 
			
		||||
         'cpu'           => \$o_cpu,
 | 
			
		||||
         '2'             => \$o_version2,
 | 
			
		||||
@@ -327,9 +340,11 @@ sub check_options {
 | 
			
		||||
 
 | 
			
		||||
     # Check compulsory attributes
 | 
			
		||||
     if (!defined($o_descr) || !defined($o_host)) { print_usage(); exit $ERRORS{"UNKNOWN"} }
 | 
			
		||||
-    @o_warnL = split(/,/, $o_warn);
 | 
			
		||||
-    @o_critL = split(/,/, $o_crit);
 | 
			
		||||
-    verb("$o_warn $o_crit $#o_warnL $#o_critL");
 | 
			
		||||
+
 | 
			
		||||
+    # Check warn/crit values
 | 
			
		||||
+    @o_warnL = split(/,/, ($o_warn // "0"));
 | 
			
		||||
+    @o_critL = split(/,/, ($o_crit // "0"));
 | 
			
		||||
+    verb("Warn: " . ($o_warn // "undef") . "; Crit: " . ($o_crit // "undef") . "; #Warn: " .  $#o_warnL . "; #Crit: " . $#o_critL);
 | 
			
		||||
     if (isnotnum($o_warnL[0]) || isnotnum($o_critL[0])) {
 | 
			
		||||
         print "Numerical values for warning and critical\n";
 | 
			
		||||
         print_usage();
 | 
			
		||||
@@ -348,7 +363,6 @@ sub check_options {
 | 
			
		||||
         exit $ERRORS{"UNKNOWN"};
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
-    # Check min_crit < min warn < max warn < crit warn
 | 
			
		||||
     if ($o_warnL[0] < $o_critL[0]) {
 | 
			
		||||
         print " warn minimum must be >= crit minimum\n";
 | 
			
		||||
         print_usage();
 | 
			
		||||
@@ -371,7 +385,15 @@ sub check_options {
 | 
			
		||||
         exit $ERRORS{"UNKNOWN"};
 | 
			
		||||
     }
 | 
			
		||||
     #### Memory checks
 | 
			
		||||
-    if (defined($o_mem)) {
 | 
			
		||||
+    if (defined($o_mem_sum) && defined($o_mem_avg)) {
 | 
			
		||||
+        print "cannot test memory average and memory total\n";
 | 
			
		||||
+        print_usage();
 | 
			
		||||
+        exit $ERRORS{"UNKNOWN"};
 | 
			
		||||
+    }
 | 
			
		||||
+    if (defined($o_mem_sum) || defined($o_mem_avg)) {
 | 
			
		||||
+        $o_mem = $o_mem // "";
 | 
			
		||||
+    }
 | 
			
		||||
+    if (defined($o_mem) && length($o_mem)) {
 | 
			
		||||
         @o_memL = split(/,/, $o_mem);
 | 
			
		||||
         if ($#o_memL != 1) { print "2 values (warning,critical) for memory\n"; print_usage(); exit $ERRORS{"UNKNOWN"} }
 | 
			
		||||
         if (isnotnum($o_memL[0]) || isnotnum($o_memL[1])) {
 | 
			
		||||
@@ -386,7 +408,16 @@ sub check_options {
 | 
			
		||||
         }
 | 
			
		||||
     }
 | 
			
		||||
     #### CPU checks
 | 
			
		||||
-    if (defined($o_cpu)) {
 | 
			
		||||
+    if (defined($o_delta)) {
 | 
			
		||||
+        if (isnotnum($o_delta)) {
 | 
			
		||||
+            print "Numeric values for delta!\n";
 | 
			
		||||
+            print_usage();
 | 
			
		||||
+            exit $ERRORS{"UNKNOWN"};
 | 
			
		||||
+        }
 | 
			
		||||
+        $o_cpu = $o_cpu // "";
 | 
			
		||||
+    }
 | 
			
		||||
+    if (defined($o_cpu) && length($o_cpu)) {
 | 
			
		||||
+        $o_delta = $o_delta // $delta_of_time_to_make_average;
 | 
			
		||||
         @o_cpuL = split(/,/, $o_cpu);
 | 
			
		||||
         if ($#o_cpuL != 1) { print "2 values (warning,critical) for cpu\n"; print_usage(); exit $ERRORS{"UNKNOWN"} }
 | 
			
		||||
         if (isnotnum($o_cpuL[0]) || isnotnum($o_cpuL[1])) {
 | 
			
		||||
@@ -619,24 +650,11 @@ sub check_options {
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
-if ($num_int == 0) {
 | 
			
		||||
-    print "No process ", (defined($o_noreg)) ? "named " : "matching ", $o_descr, " found : ";
 | 
			
		||||
-    if ($o_critL[0] >= 0) {
 | 
			
		||||
-        print "CRITICAL\n";
 | 
			
		||||
-        exit $ERRORS{"CRITICAL"};
 | 
			
		||||
-    } elsif ($o_warnL[0] >= 0) {
 | 
			
		||||
-        print "WARNING\n";
 | 
			
		||||
-        exit $ERRORS{"WARNING"};
 | 
			
		||||
-    }
 | 
			
		||||
-    print "YOU told me it was : OK\n";
 | 
			
		||||
-    exit $ERRORS{"OK"};
 | 
			
		||||
-}
 | 
			
		||||
-
 | 
			
		||||
 my $result     = undef;
 | 
			
		||||
 my $num_int_ok = 0;
 | 
			
		||||
 
 | 
			
		||||
 # Splitting snmp request because can't use get_bulk_request with v1 protocol
 | 
			
		||||
-if (!defined($o_get_all)) {
 | 
			
		||||
+if ($num_int != 0 && !defined($o_get_all)) {
 | 
			
		||||
     if ($count_oid >= 50) {
 | 
			
		||||
         my @toid       = undef;
 | 
			
		||||
         my $tmp_num    = 0;
 | 
			
		||||
@@ -697,13 +715,21 @@ sub check_options {
 | 
			
		||||
 my ($res_memory, $res_cpu) = (0, 0);
 | 
			
		||||
 my $memory_print = "";
 | 
			
		||||
 my $cpu_print    = "";
 | 
			
		||||
+
 | 
			
		||||
 ###### Checks memory usage
 | 
			
		||||
 
 | 
			
		||||
 if (defined($o_mem)) {
 | 
			
		||||
-    if (defined($o_mem_avg)) {
 | 
			
		||||
-        for (my $i = 0; $i < $num_int; $i++) { $res_memory += $result_cons{ $proc_mem_table . "." . $tindex[$i] }; }
 | 
			
		||||
-        $res_memory /= ($num_int_ok * 1024);
 | 
			
		||||
-        verb("Memory average : $res_memory");
 | 
			
		||||
+    if (defined($o_mem_avg) || defined($o_mem_sum)) {
 | 
			
		||||
+	verb("Check average: " . ($o_mem_avg // 0) . "; total: " . ($o_mem_sum // 0));
 | 
			
		||||
+        for (my $i = 0; $i < $num_int; $i++) { 
 | 
			
		||||
+            $res_memory += $result_cons{ $proc_mem_table . "." . $tindex[$i] }; 
 | 
			
		||||
+        }
 | 
			
		||||
+        $res_memory /= 1024;   # to Mbytes
 | 
			
		||||
+        verb("Memory total : $res_memory MB");
 | 
			
		||||
+        if (defined($o_mem_avg)) {
 | 
			
		||||
+            $res_memory /= $num_int_ok;
 | 
			
		||||
+            verb("Memory average : $res_memory MB");
 | 
			
		||||
+        }
 | 
			
		||||
     } else {
 | 
			
		||||
         for (my $i = 0; $i < $num_int; $i++) {
 | 
			
		||||
             $res_memory
 | 
			
		||||
@@ -714,17 +740,22 @@ sub check_options {
 | 
			
		||||
         $res_memory /= 1024;
 | 
			
		||||
         verb("Memory max : $res_memory");
 | 
			
		||||
     }
 | 
			
		||||
-    if ($res_memory > $o_memL[1]) {
 | 
			
		||||
-        $final_status = 2;
 | 
			
		||||
-        $memory_print = ", Mem : " . sprintf("%.1f", $res_memory) . "Mb > " . $o_memL[1] . " CRITICAL";
 | 
			
		||||
-    } elsif ($res_memory > $o_memL[0]) {
 | 
			
		||||
-        $final_status = 1;
 | 
			
		||||
-        $memory_print = ", Mem : " . sprintf("%.1f", $res_memory) . "Mb > " . $o_memL[0] . " WARNING";
 | 
			
		||||
-    } else {
 | 
			
		||||
-        $memory_print = ", Mem : " . sprintf("%.1f", $res_memory) . "Mb OK";
 | 
			
		||||
-    }
 | 
			
		||||
     if (defined($o_perf)) {
 | 
			
		||||
-        $perf_output = "'memory_usage'=" . sprintf("%.1f", $res_memory) . "MB;" . $o_memL[0] . ";" . $o_memL[1];
 | 
			
		||||
+        $perf_output = "'memory_usage'=" . sprintf("%.1f", $res_memory) . "MB";
 | 
			
		||||
+    }
 | 
			
		||||
+    if (length($o_mem)) {
 | 
			
		||||
+        if ($res_memory > $o_memL[1]) {
 | 
			
		||||
+            $final_status = 2;
 | 
			
		||||
+            $memory_print = ", Mem : " . sprintf("%.1f", $res_memory) . "MB > " . $o_memL[1] . " CRITICAL";
 | 
			
		||||
+        } elsif ($res_memory > $o_memL[0]) {
 | 
			
		||||
+            $final_status = 1;
 | 
			
		||||
+            $memory_print = ", Mem : " . sprintf("%.1f", $res_memory) . "MB > " . $o_memL[0] . " WARNING";
 | 
			
		||||
+        } else {
 | 
			
		||||
+            $memory_print = ", Mem : " . sprintf("%.1f", $res_memory) . "MB OK";
 | 
			
		||||
+        }
 | 
			
		||||
+        if (defined($o_perf)) {
 | 
			
		||||
+            $perf_output .= ";" . $o_memL[0] . ";" . $o_memL[1];
 | 
			
		||||
+        }
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -789,19 +820,24 @@ sub check_options {
 | 
			
		||||
     if ($return != 0) { $cpu_print .= "! ERROR writing file $temp_file_name !"; $final_status = 3; }
 | 
			
		||||
     ##### Check values (if something to check...)
 | 
			
		||||
     if (defined($found_value)) {
 | 
			
		||||
-        if ($found_value > $o_cpuL[1]) {
 | 
			
		||||
-            $final_status = 2;
 | 
			
		||||
-            $cpu_print .= ", Cpu : " . sprintf("%.0f", $found_value) . "% > " . $o_cpuL[1] . " CRITICAL";
 | 
			
		||||
-        } elsif ($found_value > $o_cpuL[0]) {
 | 
			
		||||
-            $final_status = ($final_status == 2) ? 2 : 1;
 | 
			
		||||
-            $cpu_print .= ", Cpu : " . sprintf("%.0f", $found_value) . "% > " . $o_cpuL[0] . " WARNING";
 | 
			
		||||
-        } else {
 | 
			
		||||
-            $cpu_print .= ", Cpu : " . sprintf("%.0f", $found_value) . "% OK";
 | 
			
		||||
-        }
 | 
			
		||||
         if (defined($o_perf)) {
 | 
			
		||||
             if (!defined($perf_output)) { $perf_output = ""; }
 | 
			
		||||
             else                        { $perf_output .= " "; }
 | 
			
		||||
-            $perf_output .= "'cpu_usage'=" . sprintf("%.0f", $found_value) . "%;" . $o_cpuL[0] . ";" . $o_cpuL[1];
 | 
			
		||||
+            $perf_output .= "'cpu_usage'=" . sprintf("%.0f", $found_value) . "%";
 | 
			
		||||
+        }
 | 
			
		||||
+        if (length($o_cpu)) {
 | 
			
		||||
+            if ($found_value > $o_cpuL[1]) {
 | 
			
		||||
+                $final_status = 2;
 | 
			
		||||
+                $cpu_print .= ", CPU : " . sprintf("%.0f", $found_value) . "% > " . $o_cpuL[1] . " CRITICAL";
 | 
			
		||||
+            } elsif ($found_value > $o_cpuL[0]) {
 | 
			
		||||
+                $final_status = ($final_status == 2) ? 2 : 1;
 | 
			
		||||
+                $cpu_print .= ", CPU : " . sprintf("%.0f", $found_value) . "% > " . $o_cpuL[0] . " WARNING";
 | 
			
		||||
+            } else {
 | 
			
		||||
+                $cpu_print .= ", CPU : " . sprintf("%.0f", $found_value) . "% OK";
 | 
			
		||||
+            }
 | 
			
		||||
+            if (defined($o_perf)) {
 | 
			
		||||
+                $perf_output .= ";" . $o_cpuL[0] . ";" . $o_cpuL[1];
 | 
			
		||||
+            }
 | 
			
		||||
         }
 | 
			
		||||
     } else {
 | 
			
		||||
         if ($final_status == 0) { $final_status = 3 }
 | 
			
		||||
@@ -809,35 +845,48 @@ sub check_options {
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
-print $num_int_ok, " process ", (defined($o_noreg)) ? "named " : "matching ", $o_descr, " ";
 | 
			
		||||
-
 | 
			
		||||
-#### Check for min and max number of process
 | 
			
		||||
-if ($num_int_ok <= $o_critL[0]) {
 | 
			
		||||
-    print "(<= ", $o_critL[0], " : CRITICAL)";
 | 
			
		||||
-    $final_status = 2;
 | 
			
		||||
-} elsif ($num_int_ok <= $o_warnL[0]) {
 | 
			
		||||
-    print "(<= ", $o_warnL[0], " : WARNING)";
 | 
			
		||||
-    $final_status = ($final_status == 2) ? 2 : 1;
 | 
			
		||||
-} else {
 | 
			
		||||
-    print "(> ", $o_warnL[0], ")";
 | 
			
		||||
+if ($num_int == 0) {
 | 
			
		||||
+    print "No processes ", (defined($o_noreg) ? "named " : "matching "), $o_descr, " found : ";
 | 
			
		||||
+    if ($o_critL[0] >= 0) {
 | 
			
		||||
+        print "CRITICAL";
 | 
			
		||||
+        $final_status = 2;
 | 
			
		||||
+    } elsif ($o_warnL[0] >= 0) {
 | 
			
		||||
+        print "WARNING";
 | 
			
		||||
+        $final_status = ($final_status == 2) ? 2 : 1;
 | 
			
		||||
+    }
 | 
			
		||||
 }
 | 
			
		||||
-if (defined($o_critL[1]) && ($num_int_ok > $o_critL[1])) {
 | 
			
		||||
-    print " (> ", $o_critL[1], " : CRITICAL)";
 | 
			
		||||
-    $final_status = 2;
 | 
			
		||||
-} elsif (defined($o_warnL[1]) && ($num_int_ok > $o_warnL[1])) {
 | 
			
		||||
-    print " (> ", $o_warnL[1], " : WARNING)";
 | 
			
		||||
-    $final_status = ($final_status == 2) ? 2 : 1;
 | 
			
		||||
-} elsif (defined($o_warnL[1])) {
 | 
			
		||||
-    print " (<= ", $o_warnL[1], "):OK";
 | 
			
		||||
+else {
 | 
			
		||||
+    print $num_int_ok, " process", ($num_int_ok == 1 ? " " : "es "), (defined($o_noreg) ? "named " : "matching "), $o_descr, " ";
 | 
			
		||||
+
 | 
			
		||||
+    #### Check for min and max number of process
 | 
			
		||||
+    if ($num_int_ok <= $o_critL[0]) {
 | 
			
		||||
+        print "(<= ", $o_critL[0], " : CRITICAL)";
 | 
			
		||||
+        $final_status = 2;
 | 
			
		||||
+    } elsif ($num_int_ok <= $o_warnL[0]) {
 | 
			
		||||
+        print "(<= ", $o_warnL[0], " : WARNING)";
 | 
			
		||||
+        $final_status = ($final_status == 2) ? 2 : 1;
 | 
			
		||||
+    } else {
 | 
			
		||||
+        print "(> ", $o_warnL[0], ")";
 | 
			
		||||
+    }
 | 
			
		||||
+    if (defined($o_critL[1]) && ($num_int_ok > $o_critL[1])) {
 | 
			
		||||
+        print " (> ", $o_critL[1], " : CRITICAL)";
 | 
			
		||||
+        $final_status = 2;
 | 
			
		||||
+    } elsif (defined($o_warnL[1]) && ($num_int_ok > $o_warnL[1])) {
 | 
			
		||||
+        print " (> ", $o_warnL[1], " : WARNING)";
 | 
			
		||||
+        $final_status = ($final_status == 2) ? 2 : 1;
 | 
			
		||||
+    } elsif (defined($o_warnL[1])) {
 | 
			
		||||
+        print " (<= ", $o_warnL[1], "):OK";
 | 
			
		||||
+    }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 print $memory_print, $cpu_print;
 | 
			
		||||
 
 | 
			
		||||
 if (defined($o_perf)) {
 | 
			
		||||
-    if (!defined($perf_output)) { $perf_output = ""; }
 | 
			
		||||
-    else                        { $perf_output .= " "; }
 | 
			
		||||
-    $perf_output .= "'num_process'=" . $num_int_ok . ";" . $o_warnL[0] . ";" . $o_critL[0];
 | 
			
		||||
-    print " | ", $perf_output;
 | 
			
		||||
+    print " | 'num_process'=" . $num_int_ok;
 | 
			
		||||
+    print ";" . $o_warnL[0]     if defined($o_warn);
 | 
			
		||||
+    print ";"                   if defined($o_crit) && !defined($o_warn);
 | 
			
		||||
+    print ";" . $o_critL[0]     if defined($o_crit);
 | 
			
		||||
+    print " " . $perf_output    if length($perf_output // "");
 | 
			
		||||
 }
 | 
			
		||||
 print "\n";
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								debian/patches/series
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								debian/patches/series
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
10_check_snmp_storage_error_handling
 | 
			
		||||
11_check_snmp_int_agent_workaround
 | 
			
		||||
12_check_snmp_mem_perf
 | 
			
		||||
13_check_snmp_process_new_features
 | 
			
		||||
50_disable_epn
 | 
			
		||||
51_fix_privacy_doc
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue