Explorar el Código

check_file_age: Provide performance data

Jonas Genannt hace 11 años
padre
commit
04a3d7d250
Se han modificado 2 ficheros con 10 adiciones y 3 borrados
  1. 3 2
      plugins-scripts/check_file_age.pl
  2. 7 1
      plugins-scripts/t/check_file_age.t

+ 3 - 2
plugins-scripts/check_file_age.pl

@@ -33,7 +33,7 @@ sub print_help ();
 sub print_usage ();
 
 my ($opt_c, $opt_f, $opt_w, $opt_C, $opt_W, $opt_h, $opt_V, $opt_i);
-my ($result, $message, $age, $size, $st);
+my ($result, $message, $age, $size, $st, $perfdata);
 
 $PROGNAME="check_file_age";
 
@@ -87,6 +87,7 @@ unless (-e $opt_f) {
 $st = File::stat::stat($opt_f);
 $age = time - $st->mtime;
 $size = $st->size;
+$perfdata = "age=${age}s;${opt_w};${opt_c} size=${size}B;${opt_W};${opt_C};0";
 
 
 $result = 'OK';
@@ -98,7 +99,7 @@ elsif (($opt_w and $age > $opt_w) or ($opt_W and $size < $opt_W)) {
 	$result = 'WARNING';
 }
 
-print "FILE_AGE $result: $opt_f is $age seconds old and $size bytes\n";
+print "FILE_AGE $result: $opt_f is $age seconds old and $size bytes | $perfdata\n";
 exit $ERRORS{$result};
 
 sub print_usage () {

+ 7 - 1
plugins-scripts/t/check_file_age.t

@@ -5,13 +5,14 @@
 #
 
 use strict;
-use Test::More tests => 16;
+use Test::More tests => 17;
 use NPTest;
 
 my $successOutput = '/^FILE_AGE OK: /';
 my $warningOutput = '/^FILE_AGE WARNING: /';
 my $criticalOutput = '/^FILE_AGE CRITICAL: /';
 my $unknownOutput = '/^FILE_AGE UNKNOWN: /';
+my $performanceOutput = '/ \| age=[0-9]+s;[0-9]+;[0-9]+ size=[0-9]+B;[0-9]+;[0-9]+;0$/';
 
 my $result;
 my $temp_file = "/tmp/check_file_age.tmp";
@@ -57,6 +58,11 @@ $result = NPTest->testCmd(
 	);
 cmp_ok( $result->return_code, '==', 0, "Checking file size" );
 
+$result = NPTest->testCmd(
+	"./check_file_age -f $temp_file -c 1000 -W 100"
+	);
+like( $result->output, $performanceOutput, "Checking for performance output" );
+
 $result = NPTest->testCmd(
 	"./check_file_age -f /non/existent --ignore-missing"
 	);