Update powerwall.sh
This commit is contained in:
114
powerwall.sh
114
powerwall.sh
@@ -512,56 +512,18 @@ DAILYTEMP(){
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
GETHOSTPOWER(){
|
|
||||||
[ "${RACADMONLINE}" == "ns" ] && RACADMONLINE=$(CHECK_HOST ${PW_RACADM_ACCESS})
|
|
||||||
hostip=${PW_iDRACHOST_SHORTNAMES[${1}]}
|
|
||||||
hostip=${PW_HOST_ADDRESSES[${hostip}]}
|
|
||||||
if [ "$(CHECK_HOST ${hostip})" != "false" ] && [ "${RACADMONLINE}" != "false" ]; then
|
|
||||||
if [ "${1}" == "10.10.2.26" ]; then
|
|
||||||
temp=0
|
|
||||||
else
|
|
||||||
temp=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${1} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Pwr" | awk '/ / {print $6}' | sed -e 's/Watts//g' 2>&1)
|
|
||||||
fi
|
|
||||||
elif [ "${RACADMONLINE}" == "false" ]; then
|
|
||||||
temp=racadmdown
|
|
||||||
else
|
|
||||||
temp=down
|
|
||||||
fi
|
|
||||||
echo ${temp} >| ${PW_TMPFOLDER}/${1}.hostpower
|
|
||||||
}
|
|
||||||
check_GETHOSTPOWER(){
|
|
||||||
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
|
||||||
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
|
||||||
checked=""
|
|
||||||
until [ "${checked}" != "" ]; do
|
|
||||||
[ -f ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower.done ] && checked=good
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
touch ${PW_TMPFOLDER}/done.hostpower
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
CHECKPOWER(){
|
CHECKPOWER(){
|
||||||
start=`date +%s`
|
start=`date +%s`
|
||||||
rm -f ${PW_TMPFOLDER}/*.hostpower*
|
rm -f ${PW_TMPFOLDER}/*.hostpower*
|
||||||
|
|
||||||
# if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then
|
|
||||||
# for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
|
||||||
# if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
|
||||||
# GETHOSTPOWER ${PW_HOST_IDRACS[${SENSOR}]} &
|
|
||||||
# fi
|
|
||||||
# done
|
|
||||||
# check_GETHOSTPOWER &
|
|
||||||
# fi
|
|
||||||
|
|
||||||
if [ "${1}" == "" ] || [ "${1}" == "sensors" ]; then
|
if [ "${1}" == "" ] || [ "${1}" == "sensors" ]; then
|
||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
echo -e "\n${idsCL[Yellow]}Mainsite Power Information"
|
echo -e "\n${idsCL[Yellow]}Mainsite Power Information"
|
||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
|
|
||||||
if [ "$(CHECK_HOST ${PW_INVERTER_IP})" != "false" ]; then
|
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
||||||
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
if [ "#{INVSTATSINFO}" != "" ]; then
|
||||||
INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'`
|
INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'`
|
||||||
INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'`
|
INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'`
|
||||||
OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'`
|
OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'`
|
||||||
@@ -586,22 +548,23 @@ CHECKPOWER(){
|
|||||||
echo -e "${idsCL[LightCyan]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
|
||||||
SVRRM_VOLT=$(snmpwalk -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.2.1.1 | sed 's/.*: //')
|
|
||||||
SVRRM_VOLT=`echo "scale=2; ${SVRRM_VOLT}/10" | bc`
|
|
||||||
SVRRM_WATT=$(snmpwalk -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.4.1.1 | sed 's/.*: //')
|
|
||||||
[[ "${SVRRM_WATT}" == *"."* ]] && [[ "${SVRRM_WATT}" != *".0"* ]] && SVRRM_WATT_disp=`printf "%'.2f\n" ${SVRRM_WATT}` || SVRRM_WATT_disp=`printf "%'.0f\n" ${SVRRM_WATT}`
|
|
||||||
SVRRM_AMP=$(snmpwalk -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.3.1.1 | sed 's/.*: //')
|
|
||||||
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | bc`
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$(CHECK_HOST ${PW_APCPDU_IP})" != "false" ]; then
|
# if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||||
APCPDU_AMP=$(snmpwalk -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1 | sed 's/.*: //')
|
SVRRM_VOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.2.1.1 | sed 's/.*: //')
|
||||||
|
SVRRM_VOLT=`echo "scale=2; ${SVRRM_VOLT}/10" | bc`
|
||||||
|
SVRRM_WATT=$(snmpwalk -t 1 -r 0-v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.4.1.1 | sed 's/.*: //')
|
||||||
|
[[ "${SVRRM_WATT}" == *"."* ]] && [[ "${SVRRM_WATT}" != *".0"* ]] && SVRRM_WATT_disp=`printf "%'.2f\n" ${SVRRM_WATT}` || SVRRM_WATT_disp=`printf "%'.0f\n" ${SVRRM_WATT}`
|
||||||
|
SVRRM_AMP=$(snmpwalk -t 1 -r 0-v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.3.1.1 | sed 's/.*: //')
|
||||||
|
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | bc`
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# if [ "$(CHECK_HOST ${PW_APCPDU_IP})" != "false" ]; then
|
||||||
|
APCPDU_AMP=$(snmpwalk -t 1 -r 0-v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1 | sed 's/.*: //')
|
||||||
APCPDU_AMP=`echo "scale=2; ${APCPDU_AMP}/10" | bc`
|
APCPDU_AMP=`echo "scale=2; ${APCPDU_AMP}/10" | bc`
|
||||||
# APCPDU_WATT=$(snmpwalk -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //')
|
# APCPDU_WATT=$(snmpwalk -t 1 -r 0-v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //')
|
||||||
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc`
|
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc`
|
||||||
[[ "${APCPDU_WATT}" == *"."* ]] && [[ "${APCPDU_WATT}" != *".0"* ]] && APCPDU_WATT_disp=`printf "%'.2f\n" ${APCPDU_WATT}` || APCPDU_WATT_disp=`printf "%'.0f\n" ${APCPDU_WATT}`
|
[[ "${APCPDU_WATT}" == *"."* ]] && [[ "${APCPDU_WATT}" != *".0"* ]] && APCPDU_WATT_disp=`printf "%'.2f\n" ${APCPDU_WATT}` || APCPDU_WATT_disp=`printf "%'.0f\n" ${APCPDU_WATT}`
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
echo -e "${idsCL[LightCyan]}ServerRack Amps ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_AMP}'A${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}ServerRack Amps ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_AMP}'A${idsCL[Default]}"
|
||||||
echo -e "${idsCL[LightCyan]}ServerRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_WATT_disp}'W ~ estimate${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}ServerRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_WATT_disp}'W ~ estimate${idsCL[Default]}"
|
||||||
@@ -632,17 +595,17 @@ CHECKPOWER(){
|
|||||||
echo -e "${idsCL[Yellow]}Offsite Power Information"
|
echo -e "${idsCL[Yellow]}Offsite Power Information"
|
||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
|
|
||||||
if [ "$(CHECK_HOST 10.2.1.100)" != "false" ]; then
|
# if [ "$(CHECK_HOST 10.2.1.100)" != "false" ]; then
|
||||||
OFFSITE_VOLTIN=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.3.2.1.0 | sed 's/.*: //')
|
OFFSITE_VOLTIN=$(snmpwalk -t 1 -r 0-v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.3.2.1.0 | sed 's/.*: //')
|
||||||
OFFSITE_VOLTIN=`echo "scale=2; ${OFFSITE_VOLTIN}/10" | bc`
|
OFFSITE_VOLTIN=`echo "scale=2; ${OFFSITE_VOLTIN}/10" | bc`
|
||||||
OFFSITE_VOLTOUT=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.1.0 | sed 's/.*: //')
|
OFFSITE_VOLTOUT=$(snmpwalk -t 1 -r 0-v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.1.0 | sed 's/.*: //')
|
||||||
OFFSITE_VOLTOUT=`echo "scale=2; ${OFFSITE_VOLTOUT}/10" | bc`
|
OFFSITE_VOLTOUT=`echo "scale=2; ${OFFSITE_VOLTOUT}/10" | bc`
|
||||||
OFFSITE_LOAD=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.3.0 | sed 's/.*: //')
|
OFFSITE_LOAD=$(snmpwalk -t 1 -r 0-v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.3.0 | sed 's/.*: //')
|
||||||
OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | bc`
|
OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | bc`
|
||||||
OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*900" | bc`
|
OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*900" | bc`
|
||||||
OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc`
|
OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc`
|
||||||
|
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
echo -e "${idsCL[LightCyan]}UPS Voltage In ${idsCL[Default]}: ${idsCL[Green]}${OFFSITE_VOLTIN}'V${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}UPS Voltage In ${idsCL[Default]}: ${idsCL[Green]}${OFFSITE_VOLTIN}'V${idsCL[Default]}"
|
||||||
echo -e "${idsCL[LightCyan]}UPS Voltage Out ${idsCL[Default]}: ${idsCL[Green]}${OFFSITE_VOLTOUT}'V${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}UPS Voltage Out ${idsCL[Default]}: ${idsCL[Green]}${OFFSITE_VOLTOUT}'V${idsCL[Default]}"
|
||||||
@@ -655,12 +618,11 @@ CHECKPOWER(){
|
|||||||
|
|
||||||
|
|
||||||
########
|
########
|
||||||
|
|
||||||
DIVIDER . yellow 75
|
|
||||||
echo -e "${idsCL[Yellow]}ESXi Host Power Information"
|
|
||||||
DIVIDER . yellow 75
|
|
||||||
|
|
||||||
if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then
|
if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then
|
||||||
|
DIVIDER . yellow 75
|
||||||
|
echo -e "${idsCL[Yellow]}ESXi Host Power Information"
|
||||||
|
DIVIDER . yellow 75
|
||||||
|
|
||||||
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
||||||
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
||||||
@@ -670,34 +632,6 @@ CHECKPOWER(){
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# finalcheck=""
|
|
||||||
# until [ "${finalcheck}" != "" ]; do
|
|
||||||
# for hostfile in ${PW_TMPFOLDER}/*.hostpower; do
|
|
||||||
# if [ -f ${hostfile} ] && [ "${hostfile}" != "${PW_TMPFOLDER}/*.hostpower" ]; then
|
|
||||||
# host=${hostfile%.*}; host=${host##*/}
|
|
||||||
# if [ "${host}" != "*" ] && [ "${host}" != "done" ]; then
|
|
||||||
# watts=$(cat ${hostfile})
|
|
||||||
# if [ "${watts}" == "down" ]; then
|
|
||||||
# hostpower="${idsCL[LightRed]}Host Offline"
|
|
||||||
# elif [ "${watts}" == "0" ]; then
|
|
||||||
# hostpower="${idsCL[Default]}n/a"
|
|
||||||
# else
|
|
||||||
# [[ "${watts}" == *"."* ]] && [[ "${watts}" != *".0"* ]] && watts=`printf "%'.2f\n" ${watts}` || watts=`printf "%'.0f\n" ${watts}`
|
|
||||||
# hostpower="${idsCL[Green]}${watts}'W"
|
|
||||||
# fi
|
|
||||||
# echo -e "${idsCL[LightCyan]}${PW_iDRACHOST_SHORTNAMES[${host}]} ${idsCL[Default]}: ${hostpower}${idsCL[Default]}"
|
|
||||||
#
|
|
||||||
# mv ${hostfile} ${hostfile}.done
|
|
||||||
#
|
|
||||||
# elif [ "${host}" == "done" ]; then
|
|
||||||
# finalcheck=done
|
|
||||||
# rm -f ${PW_TMPFOLDER}/*.hostpower*
|
|
||||||
# fi
|
|
||||||
# fi
|
|
||||||
# done
|
|
||||||
# sleep 0.25
|
|
||||||
# done
|
|
||||||
fi
|
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