Update power.inc.sh
This commit is contained in:
@@ -1143,6 +1143,8 @@ POWERLOGGER_SERVICE(){
|
||||
LogDataTime=`date +'%Y-%m-%d %H:%M:%S'`
|
||||
source ${PW_FOLDER}/defaults.inc
|
||||
|
||||
if [[ "${IP}" != "10.6.1"* ]]; then
|
||||
|
||||
INVSTATSINFO=$(curl -m 3 -s "http://${PW_INVERTER_IP}/stats.json")
|
||||
if [ "${INVSTATSINFO}" != "" ]; then
|
||||
INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'`
|
||||
@@ -1342,6 +1344,84 @@ POWERLOGGER_SERVICE(){
|
||||
fi
|
||||
fi
|
||||
done
|
||||
#############################################################
|
||||
else ################# KYLE #########################
|
||||
|
||||
if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||
UPS_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.3.3.1.3.1 | sed 's/.*: //')
|
||||
UPS_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //')
|
||||
UPS_LOAD=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.2.2.1.11.3 | sed 's/.*: //')
|
||||
UPS_LOAD=`echo "scale=2; ${UPS_LOAD}/10" | bc`
|
||||
UPS_AMPSIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.3.3.1.4.1 | sed 's/.*: //')\
|
||||
UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | bc`
|
||||
UPS_AMPSOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //')\
|
||||
UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | bc`
|
||||
UPS_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.2.2.1.8.3 | sed 's/.*: //')
|
||||
UPS_BATT_RUNTIME=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.18.0 | sed 's/.*: //')
|
||||
UPS_BATT_VOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.10.0 | sed 's/.*: //')
|
||||
UPS_BATT_CAP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.19.0 | sed 's/.*: //')
|
||||
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp) VALUES ('${PW_POWERSENSOR_ID['ups-input']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${UPS_VOLTIN}','${UPS_AMPSIN}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID['ups-output']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${UPS_VOLTOUT}','${UPS_AMPSOUT}','${UPS_WATTS}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt) VALUES ('${PW_POWERSENSOR_ID['ups-battery']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${UPS_BATT_VOLT}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
fi
|
||||
|
||||
for mSENSOR in "${PW_POWERSENSOR_MISC[@]}"; do
|
||||
IFS=: read -r AMP WATT VOLT <<< $(GET_TUYA_POWER ${mSENSOR}); unset IFS
|
||||
if [ "${VOLT}" != "" ] && [ "${PW_POWERSENSOR_ID[${mSENSOR}]}" != "" ]; then
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID[${mSENSOR}]}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${VOLT}','${AMP}','${WATT}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
fi
|
||||
done
|
||||
|
||||
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
||||
[[ "${PW_HOST_IDRACS[${SENSOR}]}" = "10.6."* ]] && ESXI_PASS=${PW_ESXI_PASS_KP} || ESXI_PASS=${PW_ESXI_PASS}
|
||||
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ] && [ "$(ipmitool -I lanplus -H ${PW_HOST_IDRACS[${SENSOR}]} -U ${PW_ESXI_USER} -P "${ESXI_PASS}" chassis power status | grep 'Power is on')" != "" ]; then
|
||||
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')
|
||||
if [[ "${HOST_WATTS}" != *"Timeout"* ]] && [ "${HOST_WATT_SENSORS}" != "" ]; then
|
||||
IFS=$'\n'
|
||||
read -rd '' -a HOST_WATT_SENSORS <<<"${HOST_WATT_SENSORS}"
|
||||
unset IFS
|
||||
if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.disable ] || ([ -f ${PW_TMPFOLDER}/${SENSOR}.disable ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.disable)) -ge 120 ]); then
|
||||
[ -f ${PW_TMPFOLDER}/shutdown.${PW_HOST_ADDRESSES[${SENSOR}]} ] && rm -f ${PW_TMPFOLDER}/shutdown.${PW_HOST_ADDRESSES[${SENSOR}]}
|
||||
[ -f ${PW_TMPFOLDER}/shutdown.ALL ] && rm -f ${PW_TMPFOLDER}/shutdown.ALL
|
||||
[[ "${PW_OFFSITE_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]] && rm -f ${PW_TMPFOLDER}/shutdown.OFFSITE
|
||||
[[ "${PW_MAINSITE_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]] && rm -f ${PW_TMPFOLDER}/shutdown.MAINSITE
|
||||
[[ "${PW_MAIN_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]] && rm -f ${PW_TMPFOLDER}/shutdown.MAIN
|
||||
[[ "${PW_SYS_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]] && rm -f ${PW_TMPFOLDER}/shutdown.SYS
|
||||
rm -f ${PW_TMPFOLDER}/${SENSOR}.disable
|
||||
fi
|
||||
|
||||
|
||||
PS1='0.0'; PS2='0.0'; HOST_WATTS=0
|
||||
for s in {1..5}; do
|
||||
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/.*: //')
|
||||
if [[ "${DP}" = *"System Board"* ]]; then
|
||||
found=1
|
||||
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/.*: //')
|
||||
|
||||
elif [[ "${DP}" = *"PS1"* ]]; then
|
||||
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/.*: //')
|
||||
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/.*: //')
|
||||
fi
|
||||
done
|
||||
if [ ${found} -eq 1 ] && [ "${HOST_WATTS}" != "0" ] && [ "${HOST_WATTS}" != "" ] && [[ "${HOST_WATTS}" != *"Timeout"* ]]; then
|
||||
[ "${PS1}" != "0.0" ] && PS1=`echo "scale=1; ${PS1}/10" | bc` && (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||
[ "${PS2}" != "0.0" ] && PS2=`echo "scale=1; ${PS2}/10" | bc` && (( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||
HOST_AMPS=`echo "scale=1; ${PS1}+${PS2}" | bc`
|
||||
QRY="INSERT INTO power_data (sensorid, date, amp, watt) VALUES ('${PW_POWERSENSOR_ID[${SENSOR}]}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${HOST_AMPS}','${HOST_WATTS}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
fi
|
||||
|
||||
if ([ "$(compgen -G "${PW_TMPFOLDER}/temp.*")" != "" ] && [ "$(compgen -G "${PW_TMPFOLDER}/temp.*CPU*")" = "" ]) || [ "$(compgen -G "${PW_TMPFOLDER}/power.*.low")" != "" ]; then
|
||||
sleep ${PW_MYSQL_LOG_INTERVAL_ABNORMAL}m
|
||||
|
||||
Reference in New Issue
Block a user