Update powerwall.sh
This commit is contained in:
92
powerwall.sh
92
powerwall.sh
@@ -21,60 +21,48 @@ CHECKTEMP(){
|
|||||||
# echo -e "${idsCL[Yellow]}Sensor Temperature(s) ${idsCL[Green]}normal${idsCL[Default]} /${idsCL[Yellow]}warning${idsCL[Default]}/ ${idsCL[Red]}critical${idsCL[Default]}"
|
# echo -e "${idsCL[Yellow]}Sensor Temperature(s) ${idsCL[Green]}normal${idsCL[Default]} /${idsCL[Yellow]}warning${idsCL[Default]}/ ${idsCL[Red]}critical${idsCL[Default]}"
|
||||||
echo -e "${idsCL[Cyan]}Sensor Temperature(s) Current / 3DayAVG ${idsCL[Green]}normal${idsCL[Default]} /${idsCL[Yellow]}warning${idsCL[Default]}/ ${idsCL[Red]}critical${idsCL[Default]}"
|
echo -e "${idsCL[Cyan]}Sensor Temperature(s) Current / 3DayAVG ${idsCL[Green]}normal${idsCL[Default]} /${idsCL[Yellow]}warning${idsCL[Default]}/ ${idsCL[Red]}critical${idsCL[Default]}"
|
||||||
DIVIDER . yellow 85
|
DIVIDER . yellow 85
|
||||||
if [ "${1}" != "" ]; then
|
|
||||||
# reading=$(CHECKTEMPSENSOR ${1})
|
|
||||||
# c=0; spc=''; spc1=`expr ${cw} - ${#1}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
|
||||||
# echo -e "${idsCL[LightCyan]}${1}${spc}${idsCL[Default]}: ${reading}"
|
|
||||||
|
|
||||||
for SENSOR in ${!PW_SENSOR_ID[@]}; do
|
for SENSOR in ${!PW_SENSOR_ID[@]}; do
|
||||||
if [[ "${SENSOR}" = *"${1}"* ]]; then
|
if [ "${1}" == "" ] || [[ "${SENSOR}" = *"${1}"* ]]; then
|
||||||
echo -en "${idsCL[Yellow]}Pulling data and calculating averages for '${SENSOR}' ..."
|
|
||||||
|
|
||||||
if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "esxi" ]; then
|
|
||||||
vHOSTIP=${PW_ESXI_MON_HOSTS[${SENSOR}]}
|
|
||||||
vHOSTNAME=${PW_ESXI_HOST_NAMES[${vHOSTIP}]}
|
|
||||||
if [ "$(CHECK_HOST ${vHOSTIP})" != "false" ]; then
|
|
||||||
vHOSTDATA=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${vHOSTIP} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep " Temp" 2>&1)
|
|
||||||
IFS=$'\n' read -rd '' -a vHOSTDATA <<<"${vHOSTDATA}"; unset IFS
|
|
||||||
|
|
||||||
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/ /}
|
|
||||||
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})
|
|
||||||
c=0; spc=''; spc1=`expr ${cw} - ${#vSENSOR}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
|
||||||
echo -e "\r\033[K${idsCL[LightCyan]}${vSENSOR}${spc}${idsCL[Default]}: ${reading}"
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
else #host down
|
|
||||||
echo -e "\r\033[K${idsCL[Red]}${SENSOR} Host is down"
|
|
||||||
|
|
||||||
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then
|
|
||||||
# SENDNOTICE "${vHOSTIP} ERROR" "${vHOSTNAME} Host is down" 1
|
|
||||||
# echo "($datetime) - ${vHOSTIP} - ${vHOSTNAME} Host is down" >> ${logtemp}
|
|
||||||
# touch ${PW_TMPFOLDER}/${EHOST}.down
|
|
||||||
# fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
reading=$(CHECKTEMPSENSOR ${SENSOR})
|
|
||||||
c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
|
||||||
echo -e "\r\033[K${idsCL[LightCyan]}${SENSOR}${spc}${idsCL[Default]}: ${reading}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
else
|
|
||||||
for SENSOR in ${!PW_SENSOR_ID[@]}; do
|
|
||||||
echo -en "${idsCL[Yellow]}Pulling data and calculating averages for '${SENSOR}' ..."
|
echo -en "${idsCL[Yellow]}Pulling data and calculating averages for '${SENSOR}' ..."
|
||||||
reading=$(CHECKTEMPSENSOR ${SENSOR})
|
|
||||||
c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "esxi" ]; then
|
||||||
echo -e "\r\033[K${idsCL[LightCyan]}${SENSOR}${spc}${idsCL[Default]}: ${reading}"
|
vHOSTIP=${PW_ESXI_MON_HOSTS[${SENSOR}]}
|
||||||
done
|
vHOSTNAME=${PW_ESXI_HOST_NAMES[${vHOSTIP}]}
|
||||||
fi
|
if [ "$(CHECK_HOST ${vHOSTIP})" != "false" ]; then
|
||||||
|
vHOSTDATA=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${vHOSTIP} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep " Temp" 2>&1)
|
||||||
|
IFS=$'\n' read -rd '' -a vHOSTDATA <<<"${vHOSTDATA}"; unset IFS
|
||||||
|
|
||||||
|
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/ /}
|
||||||
|
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})
|
||||||
|
c=0; spc=''; spc1=`expr ${cw} - ${#vSENSOR}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||||
|
echo -e "\r\033[K${idsCL[LightCyan]}${vSENSOR}${spc}${idsCL[Default]}: ${reading}"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
else #host down
|
||||||
|
echo -e "\r\033[K${idsCL[Red]}${SENSOR} Host is down"
|
||||||
|
|
||||||
|
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then
|
||||||
|
# SENDNOTICE "${vHOSTIP} ERROR" "${vHOSTNAME} Host is down" 1
|
||||||
|
# echo "($datetime) - ${vHOSTIP} - ${vHOSTNAME} Host is down" >> ${logtemp}
|
||||||
|
# touch ${PW_TMPFOLDER}/${EHOST}.down
|
||||||
|
# fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
reading=$(CHECKTEMPSENSOR ${SENSOR})
|
||||||
|
c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||||
|
echo -e "\r\033[K${idsCL[LightCyan]}${SENSOR}${spc}${idsCL[Default]}: ${reading}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
[ "${action}" != "" ] && echo
|
[ "${action}" != "" ] && echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user