diff --git a/powerwall.sh b/powerwall.sh index 1ef41ed5..dbe556f5 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -43,17 +43,17 @@ CHECKTEMP(){ if [ "$(CHECK_HOST ${vHOSTIP})" != "false" ]; 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') - # # iDS-vMS-Offsite Fan Issue Workaround - # if [ "${vHOSTiDRACIP}" == "10.2.1.21" ]; then - # vHOSTFAN=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${vHOSTiDRACIP} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Fan1" 2>&1) - # FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $8}' | sed -e 's/%//g') - # if [ ${FanSpeed} -gt 90 ]; then - # SENDNOTICE "${vHOSTiDRACIP} Fan Issue" "Workaround commands sent to set the Fans at 30%" 1 - # run=$(ipmitool -I lanplus -H ${vHOSTiDRACIP} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x00) - # run=$(ipmitool -I lanplus -H ${vHOSTiDRACIP} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x02 0xff 0x1E) - # fi - # - # fi + # iDS-vMS-Offsite Fan Issue Workaround + if [ "${vHOSTiDRACIP}" == "10.2.1.21" ]; then + vHOSTFAN=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.12.1.6.1.1 -O vq) + FanSpeed=`echo "scale=2; ${vHOSTFAN}/21200" | bc`; FanSpeed=`echo "scale=0; ${FanSpeed}*100" | bc | sed -e 's/.00//g'` + if [ ${FanSpeed} -gt 92 ]; then + SENDNOTICE "${vHOSTiDRACIP} Fan Issue" "Workaround commands sent to set the Fans at 30%" 1 + run=$(ipmitool -I lanplus -H ${vHOSTiDRACIP} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x00) + run=$(ipmitool -I lanplus -H ${vHOSTiDRACIP} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x02 0xff 0x1E) + fi + + fi IFS=$'\n' read -rd '' -a vHOST_TEMPNAMES <<<"${vHOST_TEMPNAMES}"; unset IFS echo -en "\r\033[K" @@ -223,17 +223,15 @@ CHECKTEMP_SERVICE(){ fi [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ] && [ "${RACADMONLINE}" == "ns" ] && RACADMONLINE=$(CHECK_HOST ${PW_RACADM_ACCESS}) if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ] && [ "${RACADMONLINE}" != "false" ]; then - unset IFS - SENSORS_CHECK=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${PW_HOST_IDRACS[${SENSORa}]} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep " Temp" 2>&1) - IFS=$'\n' read -rd '' -a SENSORS_CHECK <<<"${SENSORS_CHECK}"; unset IFS - # SENSORS_CHECK='' + 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') + unset IFS; IFS=$'\n' read -rd '' -a SENSORS_CHECK <<<"${vHOST_TEMPNAMES}"; unset IFS # for i in ${SENSORS_CHECK[@]}; do echo $i; done # iDS-vMS-Offsite Fan Issue Workaround if [ "${PW_HOST_IDRACS[${SENSORa}]}" == "10.2.1.21" ]; then - vHOSTFAN=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${PW_HOST_IDRACS[${SENSORa}]} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Fan1" 2>&1) - FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $8}' | sed -e 's/%//g') + vHOSTFAN=$(snmpwalk -v 1 -c public -t 2 10.2.1.21 .1.3.6.1.4.1.674.10892.5.4.700.12.1.6.1.1 -O vq) + FanSpeed=`echo "scale=2; ${vHOSTFAN}/21200" | bc`; FanSpeed=`echo "scale=0; ${FanSpeed}*100" | bc | sed -e 's/.00//g'` if [ ${FanSpeed} -gt 92 ]; then SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Fan Issue" "Workaround commands sent to set the Fans at 30(percent)" 1 run=$(ipmitool -I lanplus -H ${vHOSTiDRACIP} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x00) @@ -277,7 +275,7 @@ CHECKTEMP_SERVICE(){ temp_crit_sys=`echo $(bc <<< "scale=2; (${temp_crit_sys/ /}*1.8+32)/1") | awk '{print int($1+0.5)}'` temp_h='' - vSENSOR=$(echo ${SENSOR} | cut -d'T' -f1 | xargs) + vSENSOR=${SENSOR} SENSOR="${SENSORa}-${vSENSOR// /_}" fi @@ -464,9 +462,8 @@ DAILYTEMP(){ for SENSORa in ${PW_SENSOR_ORD[@]}; do [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ] && [ "${RACADMONLINE}" == "ns" ] && RACADMONLINE=$(CHECK_HOST ${PW_RACADM_ACCESS}) if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ] && [ "${RACADMONLINE}" != "false" ]; then - unset IFS - SENSORS_CHECK=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${PW_HOST_IDRACS[${SENSORa}]} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep " Temp" 2>&1) - IFS=$'\n' read -rd '' -a SENSORS_CHECK <<<"${SENSORS_CHECK}"; unset IFS + 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') + unset IFS; IFS=$'\n' read -rd '' -a SENSORS_CHECK <<<"${vHOST_TEMPNAMES}"; unset IFS elif [ "${RACADMONLINE}" == "false" ]; then SENSORS_CHECK='' else @@ -490,7 +487,7 @@ DAILYTEMP(){ elif [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ]; then temp_c=$(echo ${SENSOR} | cut -d'p' -f2 | awk '/ / {print $2}' | sed -e 's/C//g'); temp_c=${temp_c/ /} - vSENSOR=$(echo ${SENSOR} | cut -d'T' -f1 | xargs) + vSENSOR=${SENSOR} SENSOR="${SENSORa}-${vSENSOR// /_}" else