#!/bin/bash # # Wildcard-plugin to monitor Condor queue. # # Author: Šarūnas Burdulis, sarunas(a)mail.saabnet.com, 2008 # # Runs 'condor_q -g' (list global queue), tail's to the last # line of output (contains job summary) and # gets numbers of queued, idle, running and held jobs. # # Parameters understood: # # config (required) # autoconf (optional - used by munin-config) # suggest (optional - used by munin-config) # # Configurable variables: # # env.condor_q - Path to condor_q executable, # defaults to /usr/local/condor/bin/condor_q # env.title - Graph title, overrides "Condor Queue [suffix]". # env.options - Additional command line options to condor_q. # Only a limited set of options can be used, as many # of them eliminate the summary line from condor_q output. # # Magic markers - optional - used by installation scripts and # munin-config: # #%# family=contrib #%# capabilities=autoconf # optional tag in symlink TAG=`basename $0 | sed 's/^condor_queue_//g'` # env.title TITLE="$title" # env.condor_q if [ ! -z "$condor_q" ]; then CQ="$condor_q" else CQ="/usr/local/condor/bin/condor_q" fi # env.options OPTIONS="$options" if [ ! -z "$TITLE" ]; then GRAPHTITLE="$TITLE" elif [ ! -z "$TAG" ]; then GRAPHTITLE="Queue (${TAG})" else GRAPHTITLE="Queue" fi if [ "$1" = "autoconf" ]; then echo "no" exit 0 fi if [ "$1" = "suggest" ]; then echo "For example: condor_queue_clusterTwo." exit 0 fi if [ "$1" = "config" ]; then echo "graph_title "$GRAPHTITLE"" echo "graph_order held running idle queue" echo "graph_args --lower-limit 0 " echo "graph_vlabel Jobs" echo "graph_scale no" echo "graph_info Shows global Condor queue from condor_q -g." echo "graph_category htc" echo "graph_period second" echo "held.label Held" echo "held.draw AREA" echo "held.type GAUGE" echo "held.info Held" echo "running.label Running" echo "running.draw STACK" echo "running.type GAUGE" echo "running.info Running" echo "idle.label Idle" echo "idle.draw STACK" echo "idle.type GAUGE" echo "idle.info Idle" echo "queue.label Queue" echo "queue.draw LINE" echo "queue.type GAUGE" echo "queue.info Queue" exit 0 fi # example: 3076 jobs; 3052 idle, 24 running, 0 held $CQ -g $OPTIONS | tail -n1 | awk '{print "queue.value " $1 "\nheld.value " $7 "\nrunning.value " $5 "\nidle.value " $3}'