From 3b02d7fafba6ef35cac9af47ce046f9c7a6fc510 Mon Sep 17 00:00:00 2001 From: Jonas Genannt Date: Tue, 23 Sep 2014 12:51:55 +0200 Subject: check_file_age: Provide performance data --- NEWS | 1 + plugins-scripts/check_file_age.pl | 5 +++-- plugins-scripts/t/check_file_age.t | 8 +++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index bc5b0fae..f84318b5 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,7 @@ This file documents the major additions and syntax changes between releases. check_disk shows now troubled partions in verbose mode check_dig has now support for drill and dig check_dig has now support for -6 option + Add performance data to check_file_age FIXES Fix check_jabber to work with Openfire servers diff --git a/plugins-scripts/check_file_age.pl b/plugins-scripts/check_file_age.pl index 453e0f55..4415fdf4 100755 --- a/plugins-scripts/check_file_age.pl +++ b/plugins-scripts/check_file_age.pl @@ -34,7 +34,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"; @@ -92,6 +92,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'; @@ -103,7 +104,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 () { diff --git a/plugins-scripts/t/check_file_age.t b/plugins-scripts/t/check_file_age.t index a5156491..50a2e699 100644 --- a/plugins-scripts/t/check_file_age.t +++ b/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" ); -- cgit v1.2.3