From 156498ef86a0f936e6e6f04c181d5b823f659992 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Tue, 30 Jan 2024 21:29:50 -0600 Subject: [PATCH] Update temp.inc.sh --- inc/temp.inc.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index b5147baa..d9e87d73 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -124,14 +124,21 @@ CHECKTEMP(){ 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 - [ "${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} ${temptype}) [ "${avgdays}" != "noavg" ] && echo -en "\r\033[K" echo -e "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${reading}" - + if [ "${temptype}" == "fans" ]; then + last_check=$(SHOW_TIME $(tail -n 1 ${PW_TMPFOLDER}/.lastfancheck/${SENSOR}) s) + MSG=" Last checked" + c=0; spc=''; spc1=`expr ${cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done + echo -e "${MSG}${spc}: ${idsCL[White]}${last_check}${idsCL[Default]}" + last_set=$(SHOW_TIME $(tail -n 1 ${PW_TMPFOLDER}/.lastfancheck/${SENSOR}.set) s) + MSG=" Last set" + c=0; spc=''; spc1=`expr ${cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done + echo -e "${MSG}${spc}: ${idsCL[White]}${last_set}${idsCL[Default]}" + fi fi ((t++)) done @@ -615,7 +622,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ echo ${PW_THRESHOLDS[${SENSOR}]} | cut -d',' -f 3 | read temp_crit_sys ##### ESXI FAN CONTROL ##### - elif [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${SENSORa}]}"* ]] && [[ "${vSENSOR}" = *"Exhaust"* ]]; then + elif [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${SENSORa}]}"* ]] && [[ "${vSENSOR}" = *"Exhaust"* ]] && [ "${FanSpeed}" != "" ]; then if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set)) -ge 300 ]; then # echo "${temp_f} -- scale=2; ${DEFAULT_ESXI_EXHAUST_MIN}+${ESXI_FANSPEED_GL_ZONE} - ${GL_HIGH} - ${GL_LOW}" ### GOLDILOCK ZONE ### @@ -623,13 +630,13 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl ] && [ -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set)) -ge 3600 ]; then SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FAN CONTROL" "Goldilock Zone Found at ${FanSpeed}%" echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl - echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SET_HOST} - Goldilock Zone Found (1HR)" >> ${logtemp} - echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SET_HOST} - Goldilock Zone Found (1HR)" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log + echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - Goldilock Zone Found (1HR)" >> ${logtemp} + echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - Goldilock Zone Found (1HR)" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log elif [ -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl ] && [ ${FanSpeed} -gt ${DEFAULT_ESXI_FANSPEED} ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl)) -ge 10800 ]; then SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FAN CONTROL" "DAAAMMMNN GOLDIE!!!! Decreasing by 5 $(expr ${FanSpeed} - 5) -> ${FanSpeed}%" - echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SET_HOST} - DAAAMMMNN GOLDIE!!!! Decreasing by 5 $(expr ${FanSpeed} - 5) -> ${FanSpeed}%" >> ${logtemp} - echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SET_HOST} - DAAAMMMNN GOLDIE!!!! Decreasing by 5 $(expr ${FanSpeed} - 5) -> ${FanSpeed}%" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log + echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - DAAAMMMNN GOLDIE!!!! Decreasing by 5 $(expr ${FanSpeed} - 5) -> ${FanSpeed}%" >> ${logtemp} + echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - DAAAMMMNN GOLDIE!!!! Decreasing by 5 $(expr ${FanSpeed} - 5) -> ${FanSpeed}%" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log SET_ESXI_FANSPEED $(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) - 5) ${SENSORa} >/dev/null 2>&1 & elif [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ]; then @@ -663,7 +670,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ ipmitool -I lanplus -H ${PW_HOST_IDRACS[${SENSORa}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x01 >/dev/null 2>&1 [ "${PW_HOST_IDRACS[${SENSORa}]}" == "10.10.2.27" ] && ipmitool -I lanplus -H 10.10.2.26 -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x01 >/dev/null 2>&1 - elif [ ${FanSpeed} -ge 90 ] && [ ! -f ${PW_TMPFOLDER}/temp.* ]; then + elif [ "${FanSpeed}" != "" ]&& [ ${FanSpeed} -ge 90 ] && [ ! -f ${PW_TMPFOLDER}/temp.* ]; then SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FAN ISSUE?!" "Possible fan issue, currently running at ${FanSpeed}%" 1 fi