#!/bin/sh # bb-hplj.sh # # BIG BROTHER - HP LaserJet External Script # Copyright (c) 2002 by Pascal Fuckerieder # BBPROG=bb-hplj.sh; export BBPROG # # SNMPGET shows us where to find snmpget # SNMPGET="/usr/bin/snmpget" SNMPWALK="/usr/bin/snmpwalk" if test "$BBHOME" = "" then echo "BBHOME is not set... exiting" exit 1 fi if test ! "$BBTMP" # GET DEFINITIONS IF NEEDED then . $BBHOME/etc/bbdef.sh # INCLUDE STANDARD DEFINITIONS fi # # SELECT SOME LEVELS... GREEN IS THE DEFAULT... # CONSUM_WARN="10" # GO YELLOW AT THIS LEVEL CONSUM_PANIC="5" # GO RED AND PAGE AT THIS LEVEL LINE="" COLOR="green" # # GRAB THE MODEL AND THE CONSUMABLES FROM THE PRINTER VIA SNMP # MODEL=`$SNMPGET -v 1 -c public $HOSTIP host.hrDevice.hrDeviceTable.hrDeviceEntry.hrDeviceDescr.1 2>/dev/null | cut -d" " -f3-` LOCATION=`$SNMPGET -v 1 -c public $HOSTIP system.sysLocation.0 | cut -d " " -f3-` COUNTER=`$SNMPGET -v 1 -c public $HOSTIP 43.10.2.1.4.1.1 | cut -d " " -f 4` MESSAGES=`$SNMPWALK -v 1 -c public $HOSTIP 43.18.1.1.8 | cut -d " " -f3- | tr -d "\""` BLACK_UNITNAME=`$SNMPGET -v 1 -c public $HOSTIP 43.11.1.1.6.1.1 2>/dev/null | cut -d " " -f3- | tr -d "\""` BLACK_FULL=`$SNMPGET -v 1 -c public $HOSTIP 43.11.1.1.8.1.1 2>/dev/null | cut -d " " -f3- | tr -d "\""` BLACK_STATUS=`$SNMPGET -v 1 -c public $HOSTIP 43.11.1.1.9.1.1 2>/dev/null | cut -d " " -f3- | tr -d "\""` BLACK_LEVEL=`echo $BLACK_STATUS*100/$BLACK_FULL | bc 2>/dev/null` # # CHECK BLACK TONER # if [ "$BLACK_LEVEL" = "" ] then COLOR="black" LINE="&black No status available" else if [ "$BLACK_LEVEL" -le "$CONSUM_PANIC" ] then COLOR="red" LINE="$LINE&red $BLACK_UNITNAME of $MODEL in $LOCATION is at panic level ($BLACK_LEVEL%) " else if [ "$BLACK_LEVEL" -le "$CONSUM_WARN" ] then COLOR="yellow" LINE="$LINE&yellow $BLACK_UNITNAME of $MODEL in $LOCATION is at warning level ($BLACK_LEVEL%) " fi fi fi # # CREATE OUTPUT FOR STATUS PAGE # if [ "$COLOR" = "green" ] then LINE="&green All items of $MODEL are OK " fi MSG_BLACK=`printf "%-50.50s %3.0f%%\n" "$BLACK_UNITNAME" $BLACK_LEVEL` MSG_COUNTER=`printf "%-48.48s %6.0f%\n" "Page Counter" "$COUNTER"` LINE=" $LINE $MSG_BLACK $MSG_COUNTER Messages: $MESSAGES " $BB $BBDISP "status ${MACHINE}.toner $COLOR `date` $LINE"