#!/usr/bin/php5 -q ] [-c ] [-l ] [-h]\n"; echo "\nOptions:\n"; echo "\n-h\n"; echo "\tPrint help screen"; echo "\n-H\n"; echo "\tMySql hostname"; echo "\n-u\n"; echo "\tMySql user"; echo "\n-p\n"; echo "\tMySql pass"; echo "\n-d\n"; echo "\tMySql db-name"; echo "\n-q\n"; echo "\tQueue to query"; echo "\n-t\n"; echo "\tType to query by typing the ID (for example 4 = open tickets in default configuration)\n"; echo "\tYou also can use \"*\" for all types, by using double quotes. [default]\n"; echo "\n-w\n"; echo "\tWarning"; echo "\n-c\n"; echo "\tCritical"; echo "\n-l\n"; echo "\tQuery to mysql database from otrs to inform about available queues or types.\n"; echo "\tMySql information are required.\n"; exit(0); } //Options $options = getopt("H:u:p:d:q:t:l:h:w:c:"); if($argc == "1"){ help(); } for ($i = 1; $i < $_SERVER["argc"]; $i++) { switch($_SERVER["argv"][$i]) { case "-H": $mysqlhost = $options['H']; break; case "-u": $mysqluser = $options['u']; break; case "-p": $mysqlpass = $options['p']; break; case "-d": $mysqldb = $options['d']; break; case "-q": $queuename = $options['q']; case "-t": if($options['t'] != ""){ $type = $options['t']; } else{ $type = "*"; } break; case "-w": $warning = $options['w']; break; case "-c": $critical = $options['c']; break; case "-h": help(); break; case "-l": $list = $options['l']; break; } } // Check thresholds if($critical != "" && $warning != ""){ if($critical <= $warning){ echo "Please check the thresholds\n"; exit(1); } } // mysql connect & select $link=mysql_connect($mysqlhost,$mysqluser,$mysqlpass) or die("Connection failed, missing mysql-authentification info?\n"); mysql_select_db($mysqldb, $link) or die("Could not choose database, may db-information is missing?\n"); // start action with option list` if($list != ""){ if($list == "queue"){ $query = "SELECT `id`,`name` FROM `queue`"; $result = mysql_query($query) or die('Query failed: '. mysql_error()); while($name = mysql_fetch_assoc($result)){ echo $name['id'] . "\t" . $name['name'] . "\n"; } } if($list == "type"){ $query = "SELECT `id`,`name` FROM `ticket_state`"; $result = mysql_query($query) or die('Query failed: '. mysql_error()); while($name = mysql_fetch_assoc($result)){ echo $name['id'] . "\t" . $name['name'] . "\n"; } } } // query ticket number with data you provide if($list == ""){ $query = "SELECT `id` FROM `queue` WHERE `name` = '$queuename'"; $result = mysql_query($query) or die('Query failed: '. mysql_error()); $queue_id = mysql_fetch_assoc($result); if($queue_id['id'] == ""){ echo "Name of queue wrong?!\n"; exit(1); } else{ $queue_id = $queue_id['id']; if($type != "*"){ $query = "SELECT COUNT(*) FROM `ticket` WHERE `queue_id` = '$queue_id' AND `ticket_state_id` = '$type'"; } else{ $query = "SELECT COUNT(*) FROM `ticket` WHERE `queue_id` = '$queue_id'"; } $result = mysql_query($query) or die('Query failed: '. mysql_error()); $counts = mysql_fetch_assoc($result); $count = $counts["COUNT(*)"]; $query = "SELECT `name` FROM `ticket_state` WHERE `id` = '$type'"; $result = mysql_query($query) or die('Query failed: '. mysql_error()); $type = mysql_fetch_assoc($result); $type = $type['name']; if($count >= $warning && $count <= $critical){ fwrite(STDOUT,$count . " Tickets in queue ". $queuename ." from type ". $type ."|". $queuename."=".$count.";".$warning.";".$critical.";0;\n"); exit(1); } elseif($count >= $critical){ fwrite(STDOUT,$count . " Tickets in queue ". $queuename ." from type ". $type ."|". $queuename."=".$count.";".$warning.";".$critical.";0;\n"); exit(2); } else{ fwrite(STDOUT,$count . " Tickets in queue ". $queuename ." from type ". $type ."|". $queuename."=".$count.";".$warning.";".$critical.";0;\n"); exit(0); } } } ?>