From 2778fcb5a47725a64b02a068778b5314c9f10c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1ll=20Gu=C3=B0j=C3=B3n=20Sigur=C3=B0sson?= Date: Wed, 25 Aug 2010 16:43:54 +0000 Subject: [PATCH] Draft of check_mssql_dbsize.pl added --- check_mssql/trunk/check_mssql_dbsize.pl | 34 +++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 check_mssql/trunk/check_mssql_dbsize.pl diff --git a/check_mssql/trunk/check_mssql_dbsize.pl b/check_mssql/trunk/check_mssql_dbsize.pl new file mode 100644 index 0000000..08618d3 --- /dev/null +++ b/check_mssql/trunk/check_mssql_dbsize.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl +# +# This script will check MSSQL Database size via check_nrpe and NSclient. returns performance data in Nagios format +# Author Pall Sigurdsson +# + +$HOSTNAME=$ARGV[0]; + + +$databases = `check_nrpe -H $HOSTNAME -c listCounterInstances -a "SQLServer:Databases"`; +@array1 = split(/\,/, $databases); + + +#[root@nagios ~]# check_nrpe -H $HOSTNAME -c CheckCounter -a "Counter:Vanskilaskra=\SQLServer:Databases(Vanskilaskra)\Data File(s) Size (KB)"# OK all counters within bounds.|'Vanskilaskra'=30996480;0;0; +$num_databases = 0; +$perfdata = ""; +foreach $database (@array1) +{ + # Strip whitespace + $database =~ s/^\s*(.*?)\s*$/$1/; + + # Call check_nrpe + $dbSize = `check_nrpe -H $HOSTNAME -c CheckCounter -a 'Counter:$database=\\SQLServer:Databases($database)\\Data File(s) Size (KB)'`; + + # Strip everything but the performance data + $dbSize =~ s/^.*\|(.*?)$/$1/; + chomp($dbSize); + $perfdata = $perfdata . " " . $dbSize; + $num_databases = $num_databases + 1; + + +} + +print "$num_databases databases found | $perfdata \n";