Update temp.inc.sh
This commit is contained in:
@@ -35,6 +35,7 @@ CHECKTEMP(){
|
||||
-a|-avg) avgdays=${2};;
|
||||
-S|-sensors) temptype="sensors";;
|
||||
-e|-esxi) temptype="esxi";;
|
||||
-f|-fans) temptype="fans";;
|
||||
-s|-search) search=${2};;
|
||||
esac
|
||||
shift 1
|
||||
@@ -68,7 +69,7 @@ CHECKTEMP(){
|
||||
|
||||
if [ "${search}" == "" ] || [[ "${SENSOR,,}" = *"${search,,}"* ]]; then
|
||||
|
||||
if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "esxi" ] && [ "${temptype}" != "sensors" ]; then
|
||||
if ([ "${PW_SENSOR_TYPE[${SENSOR}]}" == "esxi" ] || [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "fans" ]) && [ "${temptype}" != "sensors" ]; then
|
||||
vHOSTiDRACIP=${PW_HOST_IDRACS[${SENSOR}]}
|
||||
vHOSTIP=${PW_HOST_ADDRESSES[${SENSOR}]}
|
||||
vHOSTNAME=${PW_ESXI_HOST_NAMES[${vHOSTiDRACIP}]}
|
||||
@@ -102,47 +103,49 @@ CHECKTEMP(){
|
||||
else
|
||||
echo -e "${idsCL[Default]}"
|
||||
fi
|
||||
DIVIDER . lightCyan 70
|
||||
echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ... "
|
||||
if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "esxi" ]; then
|
||||
DIVIDER . lightCyan 70
|
||||
echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ... "
|
||||
|
||||
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] && [ "$(CHECK_HOST ${vHOSTIP})" != "false" ]; then
|
||||
if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ]; then
|
||||
vHOST_TEMPNAMES=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.8 -O vq | sed -e 's/"//g' | sed -e 's/ Temp//g')
|
||||
IFS=$'\n'
|
||||
read -rd '' -a vHOST_TEMPNAMES <<<"${vHOST_TEMPNAMES}"
|
||||
unset IFS
|
||||
echo -en "\r\033[K"
|
||||
if [ ${#vHOST_TEMPNAMES[@]} -gt 1 ]; then
|
||||
t=1
|
||||
for sensorname in "${vHOST_TEMPNAMES[@]}"; do
|
||||
temp_c=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.6.1.${t} -O vq | sed -e 's/"//g')
|
||||
temp_c=`echo "scale=1; ${temp_c}/10" | bc`
|
||||
temp_warn=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.11.1.${t} -O vq | sed -e 's/"//g')
|
||||
temp_warn=`echo "scale=1; ${temp_warn}/10" | bc`
|
||||
temp_crit=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.10.1.${t} -O vq | sed -e 's/"//g')
|
||||
temp_crit=`echo "scale=1; ${temp_crit}/10" | bc`
|
||||
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] && [ "$(CHECK_HOST ${vHOSTIP})" != "false" ]; then
|
||||
if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ]; then
|
||||
vHOST_TEMPNAMES=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.8 -O vq | sed -e 's/"//g' | sed -e 's/ Temp//g')
|
||||
IFS=$'\n'
|
||||
read -rd '' -a vHOST_TEMPNAMES <<<"${vHOST_TEMPNAMES}"
|
||||
unset IFS
|
||||
echo -en "\r\033[K"
|
||||
if [ ${#vHOST_TEMPNAMES[@]} -gt 1 ]; then
|
||||
t=1
|
||||
for sensorname in "${vHOST_TEMPNAMES[@]}"; do
|
||||
temp_c=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.6.1.${t} -O vq | sed -e 's/"//g')
|
||||
temp_c=`echo "scale=1; ${temp_c}/10" | bc`
|
||||
temp_warn=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.11.1.${t} -O vq | sed -e 's/"//g')
|
||||
temp_warn=`echo "scale=1; ${temp_warn}/10" | bc`
|
||||
temp_crit=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.10.1.${t} -O vq | sed -e 's/"//g')
|
||||
temp_crit=`echo "scale=1; ${temp_crit}/10" | bc`
|
||||
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#sensorname} - 1`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#sensorname} - 1`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
|
||||
[ "${avgdays}" != "noavg" ] && echo -en "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${idsCL[Yellow]}Calculating ${avgdays_disp} average ... "
|
||||
reading=$(CHECKTEMPSENSOR ${SENSOR} ${temp_c} ${temp_warn} ${temp_crit} ${sensorname// /_} ${avgdays})
|
||||
[ "${avgdays}" != "noavg" ] && echo -en "\r\033[K"
|
||||
echo -e "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${reading}"
|
||||
[ "${avgdays}" != "noavg" ] && echo -en "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${idsCL[Yellow]}Calculating ${avgdays_disp} average ... "
|
||||
reading=$(CHECKTEMPSENSOR ${SENSOR} ${temp_c} ${temp_warn} ${temp_crit} ${sensorname// /_} ${avgdays})
|
||||
[ "${avgdays}" != "noavg" ] && echo -en "\r\033[K"
|
||||
echo -e "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${reading}"
|
||||
|
||||
((t++))
|
||||
done
|
||||
else
|
||||
echo -e "${idsCL[LightCyan]} ${vHOSTNAME}${spc}${idsCL[Default]}: No Data"
|
||||
((t++))
|
||||
done
|
||||
else
|
||||
echo -e "${idsCL[LightCyan]} ${vHOSTNAME}${spc}${idsCL[Default]}: No Data"
|
||||
fi
|
||||
|
||||
else #host down
|
||||
echo -e "\r\033[K${idsCL[LightRed]}${SENSOR} Host is down${idsCL[Default]}"
|
||||
|
||||
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then
|
||||
# SENDNOTICE "${vHOSTiDRACIP} ERROR" "${vHOSTNAME} Host is down" 1
|
||||
# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${vHOSTiDRACIP} - ${vHOSTNAME} Host is down" >> ${logtemp}
|
||||
# touch ${PW_TMPFOLDER}/${EHOST}.down
|
||||
# fi
|
||||
fi
|
||||
|
||||
else #host down
|
||||
echo -e "\r\033[K${idsCL[LightRed]}${SENSOR} Host is down${idsCL[Default]}"
|
||||
|
||||
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then
|
||||
# SENDNOTICE "${vHOSTiDRACIP} ERROR" "${vHOSTNAME} Host is down" 1
|
||||
# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${vHOSTiDRACIP} - ${vHOSTNAME} Host is down" >> ${logtemp}
|
||||
# touch ${PW_TMPFOLDER}/${EHOST}.down
|
||||
# fi
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user