
#!/bin/sh
# File	: dfm_alarm2logger.sh
# By	: Maarten.deBoer@AtosOrigin.com, 100928
# Subject	: To send DFM-alarm via `logger` into messages file, for Nagios monitoring
#(0.2)	: Added CI_EXCL (CI=DFM_HOST_NAME)
#(0.3)	: Added DFMNAME, DFMTYPE
#(0.4)	: Mod DFM_-var's

PGM="`basename $0|cut -d\. -f1`"
VERSION="0.4"
PWD="`pwd`"
LOG="/home/aodfm01a/dfm_alarm2logger_warning.log"
HOSTNAME="`hostname|cut -d\. -f1`"
CI_EXCL="/home/aodfm01a/dfm_alarm2logger.ci_excludes"

touch ${CI_EXCL}

touch ${LOG}
chmod 666 ${LOG}
echo "* `/bin/date +'%Y-%m-%d %H:%M:%S'`" >> ${LOG}
echo "DFM_ALARM_ID: $DFM_ALARM_ID" >> ${LOG}
echo "DFM_EVENT_ID: $DFM_EVENT_ID" >> ${LOG}
echo "DFM_EVENT_NAME_CLI: $DFM_EVENT_NAME_CLI" >> ${LOG}
echo "DFM_EVENT_NAME_GUI: $DFM_EVENT_NAME_GUI" >> ${LOG}
echo "DFM_EVENT_SEVERITY: $DFM_EVENT_SEVERITY" >> ${LOG}
echo "DFM_EVENT_TIMESTAMP: $DFM_EVENT_TIMESTAMP" >> ${LOG}
echo "DFM_LINK_EVENT: $DFM_LINK_EVENT" >> ${LOG}
echo "DFM_SERIAL_NUMBER: $DFM_SERIAL_NUMBER" >> ${LOG}
echo "DFM_SOURCE_ID: $DFM_SOURCE_ID" >> ${LOG}
echo "DFM_SOURCE_NAME: $DFM_SOURCE_NAME" >> ${LOG}
echo "DFM_SOURCE_TYPE: $DFM_SOURCE_TYPE" >> ${LOG}
echo "DFM_HOST_ID: $DFM_HOST_ID" >> ${LOG}
echo "DFM_HOST_NAME: $DFM_HOST_NAME" >> ${LOG}
echo "DFM_HOST_TYPE: $DFM_HOST_TYPE" >> ${LOG}

DFMTYPE=${DFM_SOURCE_TYPE}
# If no DFM_HOST_NAME, use DFM-server-name
if [ "${DFM_HOST_NAME}" = "" ]; then
  CI=${HOSTNAME}
else
  CI="`echo ${DFM_HOST_NAME}|cut -d\. -f1`"
fi
MSGTEXTSTR="CI=${CI} ${DFM_EVENT_NAME_GUI} ${DFM_SOURCE_NAME} (DFM-${HOSTNAME})"

#
# (DFM)Severity	Action
# -------       ------
# Emergency	USD + Pager/SMS
# Critical	USD + Pager/SMS
# Error		USD + Pager/SMS
# Warning	USD
# Information	Information message in DFM
# Normal		Message out of DFM
#
# Nagios
# ------
# ((MINOR 	Nagios-WARNING & SEV.3))
# WARNING	Nagios-WARNING & SEV.3
# CRITICAL	Nagios-CRITICAL & SEV.2
# FATAL		Nagios-CRITICAL & SEV.2
# logger -t NOTIFY FSOD-SUPPORT <Nagios-SEV> "Text"
#
NAGIOSSEV=""
case ${DFM_EVENT_SEVERITY} in
  Emergency)  NAGIOSSEV="WARNING" ;;
  Critical)  NAGIOSSEV="WARNING" ;;
  Error)  NAGIOSSEV="WARNING" ;;
  Warning)  NAGIOSSEV="WARNING" ;;
  Information)  NAGIOSSEV="information" ;;
  Normal)  NAGIOSSEV="normal" ;;
esac


if [ "${NAGIOSSEV}" != "" ]; then
  grep ${CI} ${CI_EXCL}
  EC=$?
  if [ ${EC} -eq 0 ]; then  # CI found in exclude, so NOT process
    echo "`date`: Excluded CI (${MSGTEXTSTR})"  >> ${LOG}
  else
    echo ""
    /usr/bin/logger -t NOTIFY FSOD-SUPPORT ${NAGIOSSEV} "${MSGTEXTSTR}" 
    echo "`date`: logger -t NOTIFY FSOD-SUPPORT ${NAGIOSSEV} ${MSGTEXTSTR}"  >> ${LOG}
  fi
fi

exit 0

