update
This commit is contained in:
@@ -58,7 +58,7 @@ PW_REMOTE_SENSORS['ServerRoomTH']='10.10.20.10'
|
||||
PW_REMOTE_SENSORS['OctoPI-CPU']='10.10.1.80'
|
||||
|
||||
#PW_SENSOR_ORD=(ServerRoomTH Powerwall-CPU OctoPI-CPU iDS-vMS-Host0 iDS-vMS-Host1 iDS-vMS-Host6 iDS-vMS-Host7 OFF-vMS-Host1)
|
||||
PW_SENSOR_ORD=(iDS-vMS-Host1)
|
||||
PW_SENSOR_ORD=(iDS-vMS-Host0)
|
||||
|
||||
declare -A PW_SENSOR_ID
|
||||
PW_SENSOR_ID['ServerRoomTH']='2'
|
||||
|
||||
53
powerwall.sh
53
powerwall.sh
@@ -34,42 +34,41 @@ CHECKTEMP(){
|
||||
vHOSTNAME=${PW_ESXI_HOST_NAMES[${vHOSTiDRACIP}]}
|
||||
echo -e "\r\033[K${idsCL[LightCyan]}${idsST[Bold]}${SENSOR} Host Sensors ${idsST[Reset]}${idsCL[LightCyan]}- ${vHOSTiDRACIP}${idsCL[Default]}"
|
||||
[ "${1}" != "noavg" ] && echo -en "${idsCL[Yellow]}Pulling data and calculating averages for '${SENSOR}' ..." || echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ..."
|
||||
if [ "$(CHECK_HOST ${vHOSTIP})" != "false" ] && [ "${RACADMONLINE}" != "false" ]; then
|
||||
vHOSTDATA=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${vHOSTiDRACIP} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep " Temp" 2>&1)
|
||||
|
||||
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')
|
||||
|
||||
# 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=$(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
|
||||
|
||||
IFS=$'\n' read -rd '' -a vHOSTDATA <<<"${vHOSTDATA}"; unset IFS
|
||||
IFS=$'\n' read -rd '' -a vHOST_TEMPNAMES <<<"${vHOST_TEMPNAMES}"; unset IFS
|
||||
echo -en "\r\033[K"
|
||||
if [ ${#vHOSTDATA[@]} > 1 ]; then
|
||||
for sensordata in "${vHOSTDATA[@]}"; do
|
||||
vSENSOR=$(echo ${sensordata} | cut -d'T' -f1 | xargs)
|
||||
temp_c=$(echo ${sensordata} | cut -d'p' -f2 | awk '/ / {print $2}' | sed -e 's/C//g'); temp_c=${temp_c/ /}
|
||||
if [ ${#vHOST_TEMPNAMES[@]} > 1 ]; then
|
||||
t=1
|
||||
for sensorname in "${vHOST_TEMPNAMES[@]}"; do
|
||||
temp_c=$(snmpwalk -v 1 -c public -t 2 10.10.2.20 .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=2; ${temp_c}/10" | bc`
|
||||
temp_warn=$(echo ${sensordata} | cut -d'p' -f2 | awk '/ / {print $7}' | sed -e 's/C//g'); temp_warn=${temp_warn/ /}
|
||||
temp_crit=$(echo ${sensordata} | cut -d'p' -f2 | awk '/ / {print $4}' | sed -e 's/C//g'); temp_crit=${temp_crit/ /}
|
||||
|
||||
reading=$(CHECKTEMPSENSOR ${SENSOR} ${temp_c} ${temp_warn} ${temp_crit} ${sensorname// /_} ${1})
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#sensorname} - 1`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
echo -e "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${reading}"
|
||||
|
||||
# echo "HERE: ${SENSOR} (${PW_SENSOR_ID[${SENSOR}]}) - ${vSENSOR// /_}"
|
||||
|
||||
reading=$(CHECKTEMPSENSOR ${SENSOR} ${temp_c} ${temp_warn} ${temp_crit} ${vSENSOR// /_} ${1})
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#vSENSOR} - 1`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
echo -e "${idsCL[LightCyan]} ${vSENSOR}${spc}${idsCL[Default]}: ${reading}"
|
||||
|
||||
((t++))
|
||||
done
|
||||
else
|
||||
echo -e "${idsCL[LightCyan]} ${vSENSOR}${spc}${idsCL[Default]}: No Data"
|
||||
echo -e "${idsCL[LightCyan]} ${vHOSTNAME}${spc}${idsCL[Default]}: No Data"
|
||||
fi
|
||||
elif [ "${RACADMONLINE}" == "false" ]; then
|
||||
echo -e "\r\033[K${idsCL[Red]}${SENSOR} RACADM is down"
|
||||
|
||||
else #host down
|
||||
echo -e "\r\033[K${idsCL[Red]}${SENSOR} Host is down"
|
||||
|
||||
Reference in New Issue
Block a user