Update powerwall.sh
This commit is contained in:
127
powerwall.sh
127
powerwall.sh
@@ -531,16 +531,17 @@ CHECKPOWER(){
|
|||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-avg) avgdays=${2};;
|
-avg) avgdays=${2};;
|
||||||
-offsite) PTYPE=offsite;;
|
-offsite) STYPE=offsite;;
|
||||||
-mainsite) PTYPE=mainsite;;
|
-mainsite) STYPE=mainsite;;
|
||||||
-hosts) PTYPE=hosts;;
|
-hosts) PTYPE=hosts;;
|
||||||
|
-power) PTYPE=power;;
|
||||||
esac
|
esac
|
||||||
shift 1
|
shift 1
|
||||||
done
|
done
|
||||||
[ "${avgdays}" = "0" ] && unset avgdays
|
[ "${avgdays}" = "0" ] && unset avgdays
|
||||||
[ "${avgdays}" != "" ] && avgdayshdr="${avgdays}-Day-Avg" || avgdayshdr=""
|
[ "${avgdays}" != "" ] && avgdayshdr="${avgdays}-Day-Avg" || avgdayshdr=""
|
||||||
|
|
||||||
if [ "${PTYPE}" == "" ] || [ "${PTYPE}" == "all" ] || [ "${PTYPE}" == "mainsite" ]; then
|
if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "mainsite" ]) && [ "${PTYPE}" != "hosts" ]; then
|
||||||
echo
|
echo
|
||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
echo -e "${idsCL[Yellow]}Mainsite Power Information ${avgdayshdr}"
|
echo -e "${idsCL[Yellow]}Mainsite Power Information ${avgdayshdr}"
|
||||||
@@ -665,8 +666,7 @@ CHECKPOWER(){
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "offsite" ]) && [ "${PTYPE}" != "hosts" ]; then
|
||||||
if [ "${PTYPE}" == "" ] || [ "${PTYPE}" == "all" ] || [ "${PTYPE}" == "offsite" ]; then
|
|
||||||
|
|
||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
echo -e "${idsCL[Yellow]}Offsite Power Information ${avgdayshdr}"
|
echo -e "${idsCL[Yellow]}Offsite Power Information ${avgdayshdr}"
|
||||||
@@ -726,67 +726,68 @@ CHECKPOWER(){
|
|||||||
# echo
|
# echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${PTYPE}" != "power" ]; then
|
||||||
|
DIVIDER . yellow 75
|
||||||
|
echo -e "${idsCL[Yellow]}ESXi Host Power Information ${avgdayshdr}"
|
||||||
|
DIVIDER . yellow 75
|
||||||
|
|
||||||
DIVIDER . yellow 75
|
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
||||||
echo -e "${idsCL[Yellow]}ESXi Host Power Information ${avgdayshdr}"
|
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
||||||
DIVIDER . yellow 75
|
gochk=0
|
||||||
|
if ([ "${STYPE}" == "mainsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]) || ([ "${STYPE}" == "offsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]); then
|
||||||
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
gochk=1
|
||||||
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
fi
|
||||||
gochk=0
|
if [ ${gochk} -eq 1 ]; then
|
||||||
if [ "${PTYPE}" == "" ] || [ "${PTYPE}" == "hosts" ] || ([ "${PTYPE}" == "mainsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]) || ([ "${PTYPE}" == "offsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]); then
|
echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ... "
|
||||||
gochk=1
|
|
||||||
fi
|
# HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3 | sed 's/.*: //')
|
||||||
if [ ${gochk} -eq 1 ]; then
|
# if [ "${HOST_WATTS}" = "" ]; then
|
||||||
echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ... "
|
HOST_WATT_SENSORS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1 -O vq | sed -e 's/"//g')
|
||||||
|
IFS=$'\n'
|
||||||
# HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3 | sed 's/.*: //')
|
read -rd '' -a HOST_WATT_SENSORS <<<"${HOST_WATT_SENSORS}"
|
||||||
# if [ "${HOST_WATTS}" = "" ]; then
|
unset IFS
|
||||||
HOST_WATT_SENSORS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1 -O vq | sed -e 's/"//g')
|
found=0
|
||||||
IFS=$'\n'
|
for s in {1..5}; do
|
||||||
read -rd '' -a HOST_WATT_SENSORS <<<"${HOST_WATT_SENSORS}"
|
DP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1.${s} | sed 's/.*: //')
|
||||||
unset IFS
|
if [[ "${DP}" = *"System Board"* ]]; then
|
||||||
found=0
|
found=1
|
||||||
for s in {1..5}; do
|
HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //')
|
||||||
DP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1.${s} | sed 's/.*: //')
|
# break
|
||||||
if [[ "${DP}" = *"System Board"* ]]; then
|
|
||||||
found=1
|
elif [[ "${DP}" = *"PS1"* ]]; then
|
||||||
HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //')
|
PS1=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //')
|
||||||
# break
|
elif [[ "${DP}" = *"PS2"* ]]; then
|
||||||
|
PS2=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //')
|
||||||
elif [[ "${DP}" = *"PS1"* ]]; then
|
fi
|
||||||
PS1=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //')
|
done
|
||||||
elif [[ "${DP}" = *"PS2"* ]]; then
|
if [ ${found} -eq 1 ]; then
|
||||||
PS2=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //')
|
[[ "${HOST_WATTS}" = *"Timeout"* ]] && HOST_WATTS_disp="${idsCL[LightRed]}Host Offline" || HOST_WATTS_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${HOST_WATTS}`'watts"
|
||||||
fi
|
else
|
||||||
done
|
HOST_WATTS_disp="${idsCL[LightRed]}Could not pull data"
|
||||||
if [ ${found} -eq 1 ]; then
|
fi
|
||||||
[[ "${HOST_WATTS}" = *"Timeout"* ]] && HOST_WATTS_disp="${idsCL[LightRed]}Host Offline" || HOST_WATTS_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${HOST_WATTS}`'watts"
|
# fi
|
||||||
else
|
MSG="${idsCL[White]}${SENSOR} ${idsCL[Default]}: ${HOST_WATTS_disp}"
|
||||||
HOST_WATTS_disp="${idsCL[LightRed]}Could not pull data"
|
echo -en "\r\033[K${MSG}"
|
||||||
fi
|
|
||||||
# fi
|
if [ "${avgdays}" != "" ] && [ "${HOST_WATTS}" != "0" ]; then
|
||||||
MSG="${idsCL[White]}${SENSOR} ${idsCL[Default]}: ${HOST_WATTS_disp}"
|
echo -en "${idsCL[LightYellow]} Calculating average ...${idsCL[Default]}"
|
||||||
echo -en "\r\033[K${MSG}"
|
average=$(AVERAGEPOWER ${PW_POWERSENSOR_ID[${SENSOR}]} ${avgdays}); average_disp="${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${average}`'watts"
|
||||||
|
echo -en "\r\033[K"; echo -en "${MSG}${idsCL[LightYellow]}${average_disp}"
|
||||||
if [ "${avgdays}" != "" ] && [ "${HOST_WATTS}" != "0" ]; then
|
elif [ "${HOST_WATTS}" != "0" ]; then
|
||||||
echo -en "${idsCL[LightYellow]} Calculating average ...${idsCL[Default]}"
|
[ "${PS1}" == "" ] && PS1="0.0" || PS1=`echo "scale=1; ${PS1}/10" | bc`; (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||||
average=$(AVERAGEPOWER ${PW_POWERSENSOR_ID[${SENSOR}]} ${avgdays}); average_disp="${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${average}`'watts"
|
if [ "${PS2}" == "" ]; then
|
||||||
echo -en "\r\033[K"; echo -en "${MSG}${idsCL[LightYellow]}${average_disp}"
|
PS2='0.0'
|
||||||
elif [ "${HOST_WATTS}" != "0" ]; then
|
else
|
||||||
[ "${PS1}" == "" ] && PS1="0.0" || PS1=`echo "scale=1; ${PS1}/10" | bc`; (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
PS2=`echo "scale=1; ${PS2}/10" | bc`
|
||||||
if [ "${PS2}" == "" ]; then
|
(( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||||
PS2='0.0'
|
fi
|
||||||
else
|
echo -en "${idsCL[LightCyan]} [PS1=${PS1}'A, PS2=${PS2}'A]"
|
||||||
PS2=`echo "scale=1; ${PS2}/10" | bc`
|
fi
|
||||||
(( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
echo -e "${idsCL[Default]}"
|
||||||
fi
|
|
||||||
echo -en "${idsCL[LightCyan]} [PS1=${PS1}'A, PS2=${PS2}'A]"
|
|
||||||
fi
|
fi
|
||||||
echo -e "${idsCL[Default]}"
|
|
||||||
fi
|
fi
|
||||||
fi
|
done
|
||||||
done
|
fi
|
||||||
|
|
||||||
|
|
||||||
end=`date +%s`; runtime=$((end-start)); echo -e "\nruntime: ${runtime}"
|
end=`date +%s`; runtime=$((end-start)); echo -e "\nruntime: ${runtime}"
|
||||||
|
|||||||
Reference in New Issue
Block a user