check_cups_queue can query the status of a CUPS print server on a local or remote print server. Optionally, the age of jobs in the queue can be checked for age (user defined - in days). Any jobs older than X days will alert as critical. Also outputs performance data.
Requires 'lpadmin' from CUPS package on system running the script and mktemp.
Usage:
check_cups_queue -H -T -w -c -a
Notes:
-H: Hostname - Can be a hostname or IP address -T: Type of check - Can be queue size (s) or both queu size and queue age (b) -w: WARNING level for queue size -c: CRITICAL level for queue size -a: Max age of queue. Returns CRITICAL if jobs exists older than days
Example output without age check:
./check_cups_queue -H prodcups01 -T s -w 50 -c 100 OK: CUPS queue size - 3| print_jobs=3;50;100;0
Example output with age check (-a):
./check_cups_queue -H prodcups01 -T b -w 50 -c 100 -a 0 CRITICAL: Some CUPS jobs are older than 0 days| print_jobs=4;50;100;0
Example warning output:
WARNING: CUPS queue size - 5| print_jobs=5;3;10;0
Example critical output:
CRITICAL: CUPS queue size - 4| print_jobs=4;1;2;0
Example check_command:
define command {
command_name check_cups_queue
command_line $USER4$/new/check_cups_queue -H $HOSTADDRESS$ -T b -w $ARG1$ -c $ARG2$ -a $ARG3$
}
Example service definition:
define service {
service_description Check CUPS Print Queue
use generic-service-template
host_name prodcups02.clacorp.com
check_command check_cups_queue!50!100!1
}