#!/bin/ksh [ "${UXDEBUG}" = "on" ] && set -x # Script example for the generic supervision # AUTOMIC S.A. check_params() { if [ $1 -lt "${nb_params_required}" ];then echo "${STR_DATE}:${STR_TIME}:ERROR:Invalid number of parameters [$1] for alarm $2" exit 1 fi } if [ $(uname) == "AIX" ]; then BIN_SEND_NSCA=/usr/local/nagios/bin/send_nsca CFG_SEND_NSCA=/usr/local/nagios/etc/send_nsca.cfg else BIN_SEND_NSCA=/usr/sbin/send_nsca CFG_SEND_NSCA=/etc/nagios/send_nsca.cfg fi STR_DATE=`date "+%y/%m/%d"` STR_TIME=`date "+%Hh%M"` export DU_ALERT_LEVEL="$2" export DU_ALERT_LABEL="$3" export DU_COMPANY="$4" export DU_AREA="$5" export DU_NODE="$6" DU_NODE=$(echo $DU_NODE | tr -d '"') export STATUS=`echo $1 | tr -d '"'` case ${STATUS} in JOB_STATUS) nb_params_required=25 check_params $# ${STATUS} export DU_UPROC="$7" DU_UPROC=$(echo $DU_UPROC | tr -d '"') export DU_VERPROC="$8" export DU_MU="$9" DU_MU=$(echo $DU_MU | tr -d '"') shift export DU_NUMLANC="$9" DU_NUMLANC=$(echo $DU_NUMLANC | tr -d '"') shift export DU_NUMPROC="$9" shift export DU_QUEUE="$9" shift export DU_PRIORITY="$9" shift export DU_APPLICATION="$9" shift export DU_DOMAIN="$9" shift export DU_ACCOUNT="$9" shift export DU_PDATE="$9" shift export DU_STATUS="$9" DU_STATUS=$(echo $DU_STATUS | tr -d '"') shift export DU_TASK="$9" shift export DU_TASK_MU="$9" shift export DU_SESSION="$9" DU_SESSION=$(echo $DU_SESSION | tr -d '"') shift export DU_VERSESS="$9" shift export DU_NUMSESS="$9" shift export DU_SEVERITY="$9" shift export DU_INFORMATION="$9" if [ $DU_SESSION == "n/a" ]; then DU_SESSION="" fi echo "${STR_DATE}:${STR_TIME}:INFO: ${DU_NODE}-DU;Universe_LAR_Jobs_${DU_SESSION}_${DU_UPROC}_Status;2;CRITICAL : mu ${DU_MU} numlanc ${DU_NUMLANC} status ${DU_STATUS}." echo "${DU_NODE}-DU;Universe_LAR_Jobs_${DU_SESSION}_${DU_UPROC}_Status;2;CRITICAL : mu ${DU_MU} numlanc ${DU_NUMLANC} status ${DU_STATUS}." | $BIN_SEND_NSCA -H 192.168.132.57 -c $CFG_SEND_NSCA -d ";" echo "${STR_DATE}:${STR_TIME}:INFO: ${DU_NODE}-DU;APP_DU_JOB_${DU_SESSION}_${DU_UPROC}_${DU_MU};2;CRITICAL : mu ${DU_MU} numlanc ${DU_NUMLANC} status ${DU_STATUS}." echo "${DU_NODE}-DU;APP_DU_JOB_${DU_SESSION}_${DU_UPROC}_${DU_MU};2;CRITICAL : mu ${DU_MU} numlanc ${DU_NUMLANC} status ${DU_STATUS}." | $BIN_SEND_NSCA -H 192.168.132.57 -c $CFG_SEND_NSCA -d ";" ;; SESSION_STATUS) nb_params_required=13 check_params $# ${STATUS} export DU_SESSION="$7" export DU_VERSESS="$8" export DU_MU="$9" shift export DU_NUMSESS="$9" shift export DU_PDATE="$9" shift export DU_STATUS="$9" shift export DU_TASK="$9" echo "${STR_DATE}:${STR_TIME}:INFO:Status alert for Session ${DU_SESSION} numsess ${DU_NUMSESS} status ${DU_STATUS}." ;; ALERT_TIME_JOB) nb_params_required=28 check_params $# ${STATUS} export DU_ALERT_TYPE="$7" export DU_UPROC="$8" export DU_VERPROC="$9" shift export DU_MU="$9" shift export DU_NUMLANC="$9" shift export DU_NUMPROC="$9" shift export DU_QUEUE="$9" shift export DU_PRIORITY="$9" shift export DU_APPLICATION="$9" shift export DU_DOMAIN="$9" shift export DU_ACCOUNT="$9" shift export DU_PDATE="$9" shift export DU_STATUS="$9" shift export DU_TIME_LIMIT="$9" shift export DU_PERCENT_LIMIT="$9" shift export DU_TASK="$9" shift export DU_TASK_MU="$9" shift export DU_SESSION="$9" shift export DU_VERSESS="$9" shift export DU_NUMSESS="$9" shift export DU_SEVERITY="$9" shift export DU_INFORMATION="$9" echo "${STR_DATE}:${STR_TIME}:INFO:${DU_ALERT_TYPE} alert for Uproc ${DU_UPROC} numlanc ${DU_NUMLANC} status ${DU_STATUS}." ;; ALERT_TIME_SESSION) nb_params_required=16 check_params $# ${STATUS} export DU_ALERT_TYPE="$7" export DU_SESSION="$8" export DU_VERSESS="$9" shift export DU_MU="$9" shift export DU_NUMSESS="$9" shift export DU_PDATE="$9" shift export DU_STATUS="$9" shift export DU_TIME_LIMIT="$9" shift export DU_PERCENT_LIMIT="$9" shift export DU_TASK="$9" echo "${STR_DATE}:${STR_TIME}:INFO:${DU_ALERT_TYPE} alert for Session ${DU_SESSION} numsess ${DU_NUMSESS} status ${DU_STATUS}." ;; *) echo "${STR_DATE}:${STR_TIME}:ERROR:Unknown alert type ${1}." return 1 esac return 0