#!/usr/bin/php \n"; echo " host is the wisdom database hosts. User and password to connect to the database.\n"; echo " maxlics is the maximum value of licenses (taken from the wisdom console\n"; echo " Warning and Critical values should be positive integers in FREE licenses\n"; exit; } $host = $argv[1]; $user = $argv[2]; $password = $argv[3]; $maxlics = $argv[4]; $warn = $argv[5]; $crit = $argv[6]; # connect to a DSN "MSSQLTest" with a user "cheech" and password "chong" #$link = mssql_connect("ms114", "nagios", "l2lLyEUn"); $link = mssql_connect( $host, $user, $password); if (!$link || !mssql_select_db('Wisdom', $link)) { die('Unable to connect or select database!'); } // Do a simple query, select the version of // MSSQL and print it. $query = mssql_query('SELECT COUNT(*) FROM tblAgents WHERE lngSystemType = 1'); $row = mssql_fetch_array($query); $pc = ($row[0]); $query = mssql_query('SELECT COUNT(*) FROM tblAgents WHERE lngSystemType = 2'); $row = mssql_fetch_array($query); $servers = ($row[0]) * 4; $query = mssql_query('SELECT COUNT(*) FROM tblAgents WHERE lngSystemType = 3'); $row = mssql_fetch_array($query); $termservers = ($row[0]) * 8; $query = mssql_query('SELECT COUNT(*) FROM tblConnectors WHERE lngType = 3'); $row = mssql_fetch_array($query); $dirservers = ($row[0]) * 32; $query = mssql_query('SELECT COUNT(*) FROM tblConnectors WHERE lngType = 4'); $row = mssql_fetch_array($query); $mailservers = ($row[0]) * 16; $totallics = $pc+$servers+$termservers+$mailservers+$dirservers; $free = $maxlics - $totallics; #echo "total: ", $totallics ," pc: ", $pc," servers: ", $servers, " terminalservers: ", $termservers, " dirservers: ",$dirservers," mailservers: ",$mailservers; if ($free > $warn ) { $format = 'OK - %d licenses used %d free|totallicenses=%d freelics=%d;%d;%d pc=%d servers=%d termservers=%d dirservers=%d mailservers=%d'; printf($format,$totallics,$free,$totallics,$free,$warn,$crit, $pc, $servers, $termservers, $dirservers, $mailservers); exit(0); } if (($free <= $warn) && ($free > $crit)) { $format = 'WARNING - %d licenses used %d free|totallicenses=%d freelics=%d;%d;%d pc=%d servers=%d termservers=%d dirservers=%d mailservers=%d'; printf($format,$totallics,$free,$totallics,$free,$warn,$crit, $pc, $servers, $termservers, $dirservers, $mailservers); exit(1); } else { $format = 'CRITICAL - %d licenses used %d free|totallicenses=%d freelics=%d;%d;%d pc=%d servers=%d termservers=%d dirservers=%d mailservers=%d'; printf($format,$totallics,$free,$totallics,$free,$warn,$crit, $pc, $servers, $termservers, $dirservers, $mailservers); exit(2); } // Clean up mssql_free_result($query); ?>