Update powerwall.sh
This commit is contained in:
186
powerwall.sh
186
powerwall.sh
@@ -84,7 +84,7 @@ CHECKTEMP(){
|
|||||||
|
|
||||||
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then
|
# if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then
|
||||||
# SENDNOTICE "${vHOSTiDRACIP} ERROR" "${vHOSTNAME} Host is down" 1
|
# SENDNOTICE "${vHOSTiDRACIP} ERROR" "${vHOSTNAME} Host is down" 1
|
||||||
# echo "(${datetime}) - ${vHOSTiDRACIP} - ${vHOSTNAME} Host is down" >> ${logtemp}
|
# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${vHOSTiDRACIP} - ${vHOSTNAME} Host is down" >> ${logtemp}
|
||||||
# touch ${PW_TMPFOLDER}/${EHOST}.down
|
# touch ${PW_TMPFOLDER}/${EHOST}.down
|
||||||
# fi
|
# fi
|
||||||
fi
|
fi
|
||||||
@@ -215,7 +215,7 @@ CHECKTEMP_SERVICE(){
|
|||||||
# if ([ "${PW_REMOTE_SENSORS[${SENSORa}]}" != "" ] && [ "$(CHECK_HOST ${PW_REMOTE_SENSORS[${SENSORa}]})" != "false" ]); then
|
# if ([ "${PW_REMOTE_SENSORS[${SENSORa}]}" != "" ] && [ "$(CHECK_HOST ${PW_REMOTE_SENSORS[${SENSORa}]})" != "false" ]); then
|
||||||
if [ -f ${PW_TMPFOLDER}/${SENSORa}.down ]; then
|
if [ -f ${PW_TMPFOLDER}/${SENSORa}.down ]; then
|
||||||
SENDNOTICE "${SENSORa} Online" "${SENSORa} Sensor is back online"
|
SENDNOTICE "${SENSORa} Online" "${SENSORa} Sensor is back online"
|
||||||
echo "(${datetime}) - ${SENSORa} - Sensor is back online" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${SENSORa} - Sensor is back online" >> ${logtemp}
|
||||||
rm -f ${PW_TMPFOLDER}/${SENSORa}.down
|
rm -f ${PW_TMPFOLDER}/${SENSORa}.down
|
||||||
fi
|
fi
|
||||||
if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ]; then
|
if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ]; then
|
||||||
@@ -271,12 +271,11 @@ CHECKTEMP_SERVICE(){
|
|||||||
((t++))
|
((t++))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
datetime=`date +'%Y-%m-%d %H:%M:%S'`
|
|
||||||
logtemp=${PW_LOGFOLDER}/log-temp-${SENSOR}
|
logtemp=${PW_LOGFOLDER}/log-temp-${SENSOR}
|
||||||
if [ "${temp_c}" != "null" ] && [ "${temp_c}" != "" ]; then
|
if [ "${temp_c}" != "null" ] && [ "${temp_c}" != "" ]; then
|
||||||
if [ -f ${PW_TMPFOLDER}/${SENSOR}-error.reading ]; then
|
if [ -f ${PW_TMPFOLDER}/${SENSOR}-error.reading ]; then
|
||||||
SENDNOTICE "${SENSOR} Data" "${SENSOR} is reporting data again"
|
SENDNOTICE "${SENSOR} Data" "${SENSOR} is reporting data again"
|
||||||
echo "(${datetime}) - ${SENSOR} - Sensor is reporting data again" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${SENSOR} - Sensor is reporting data again" >> ${logtemp}
|
||||||
rm -f ${PW_TMPFOLDER}/${SENSOR}-error.reading
|
rm -f ${PW_TMPFOLDER}/${SENSOR}-error.reading
|
||||||
|
|
||||||
fi
|
fi
|
||||||
@@ -301,9 +300,9 @@ CHECKTEMP_SERVICE(){
|
|||||||
if [ $(bc -l <<< "${temp_f} >= ${temp_warn}") -eq 1 ] && [ $(bc -l <<< "${temp_f} < ${temp_crit}") -eq 1 ]; then
|
if [ $(bc -l <<< "${temp_f} >= ${temp_warn}") -eq 1 ] && [ $(bc -l <<< "${temp_f} < ${temp_crit}") -eq 1 ]; then
|
||||||
touch ${PW_TMPFOLDER}/temp.warn
|
touch ${PW_TMPFOLDER}/temp.warn
|
||||||
if [ $(bc -l <<< "${temp_diff} > 1") -eq 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then
|
if [ $(bc -l <<< "${temp_diff} > 1") -eq 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then
|
||||||
SENDNOTICE "${SENSOR} TEMP WARNING" "(${datetime}) WARNING TEMP: ${temp_f}'F - (Difference of ${temp_diff}')" 1
|
SENDNOTICE "${SENSOR} TEMP WARNING" "WARNING TEMP: ${temp_f}'F - (Difference of ${temp_diff}')" 1
|
||||||
last_temp[${SENSOR}]=${temp_f}
|
last_temp[${SENSOR}]=${temp_f}
|
||||||
echo "(${datetime}) - ${temp_f}'F - WARNING TEMP - (Difference of ${temp_diff}')" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - WARNING TEMP - (Difference of ${temp_diff}')" >> ${logtemp}
|
||||||
|
|
||||||
# iDS-vMS-Offsite Fan Issue Workaround
|
# iDS-vMS-Offsite Fan Issue Workaround
|
||||||
if [ "${PW_HOST_IDRACS[${SENSORa}]}" == "10.2.1.21" ] && [ ${FanSpeed} -ne 80 ]; then
|
if [ "${PW_HOST_IDRACS[${SENSORa}]}" == "10.2.1.21" ] && [ ${FanSpeed} -ne 80 ]; then
|
||||||
@@ -316,15 +315,15 @@ CHECKTEMP_SERVICE(){
|
|||||||
elif [ $(bc -l <<< "${temp_f} >= ${temp_crit}") -eq 1 ] && [ $(bc -l <<< "${temp_f} < ${temp_crit}_sys") -eq 1 ]; then
|
elif [ $(bc -l <<< "${temp_f} >= ${temp_crit}") -eq 1 ] && [ $(bc -l <<< "${temp_f} < ${temp_crit}_sys") -eq 1 ]; then
|
||||||
touch ${PW_TMPFOLDER}/temp.crit
|
touch ${PW_TMPFOLDER}/temp.crit
|
||||||
if [ ${temp_diff} -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then
|
if [ ${temp_diff} -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then
|
||||||
SENDNOTICE "${SENSOR} TEMP CRITICAL" "(${datetime}) CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}')
|
SENDNOTICE "${SENSOR} TEMP CRITICAL" "CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}')
|
||||||
Shutting down servers!!" 1
|
Shutting down servers!!" 1
|
||||||
echo "(${datetime}) - ${temp_f}'F - CRITICAL - (Difference of ${temp_diff}'F)" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - CRITICAL - (Difference of ${temp_diff}'F)" >> ${logtemp}
|
||||||
echo -e "(${datetime}) - ${SENSOR} - ${temp_f}'F - CRITICAL TEMP - (Difference of ${temp_diff}')" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${SENSOR} - ${temp_f}'F - CRITICAL TEMP - (Difference of ${temp_diff}')" >> ${PW_LOGFILE}
|
||||||
last_temp[${SENSOR}]=${temp_f}
|
last_temp[${SENSOR}]=${temp_f}
|
||||||
|
|
||||||
if [[ "${PW_OFFSITEHOSTS}" != *"${PW_HOST_IDRACS[${SENSORa}]}"* ]]; then
|
if [[ "${PW_OFFSITEHOSTS}" != *"${PW_HOST_IDRACS[${SENSORa}]}"* ]]; then
|
||||||
SHUTDOWN_MAIN ${SENSOR} &
|
SHUTDOWN_MAIN ${SENSOR} &
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - Shutting down MAIN servers" >> ${logtemp}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - Shutting down MAIN servers" >> ${logtemp}
|
||||||
|
|
||||||
elif [ ! -f ${PW_TMPFOLDER}/power.${SENSORa}.off ]; then
|
elif [ ! -f ${PW_TMPFOLDER}/power.${SENSORa}.off ]; then
|
||||||
SENDNOTICE "${SENSORa} TEMP CRITICAL" "Host system and VMs shutting down!!" 1
|
SENDNOTICE "${SENSORa} TEMP CRITICAL" "Host system and VMs shutting down!!" 1
|
||||||
@@ -336,32 +335,32 @@ Shutting down servers!!" 1
|
|||||||
elif [ $(bc -l <<< "${temp_f} >= ${temp_crit}_sys") -eq 1 ]; then
|
elif [ $(bc -l <<< "${temp_f} >= ${temp_crit}_sys") -eq 1 ]; then
|
||||||
touch ${PW_TMPFOLDER}/temp.critsys
|
touch ${PW_TMPFOLDER}/temp.critsys
|
||||||
if [ ${temp_diff} -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then
|
if [ ${temp_diff} -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then
|
||||||
SENDNOTICE "${SENSOR} TEMP CRITICAL" "(${datetime}) SYSTEM CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}')" 1
|
SENDNOTICE "${SENSOR} TEMP CRITICAL" "SYSTEM CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}')" 1
|
||||||
echo "(${datetime}) - ${temp_f}'F - SYSTEM CRITICAL - (Difference of ${temp_diff})" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - SYSTEM CRITICAL - (Difference of ${temp_diff})" >> ${logtemp}
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - ${SENSOR} - CRITICAL TEMP SYSTEM - (Difference of ${temp_diff}')" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - ${SENSOR} - CRITICAL TEMP SYSTEM - (Difference of ${temp_diff}')" >> ${PW_LOGFILE}
|
||||||
last_temp[${SENSOR}]=${temp_f}
|
last_temp[${SENSOR}]=${temp_f}
|
||||||
SHUTDOWN_SYS ${SENSOR} TEMP &
|
SHUTDOWN_SYS ${SENSOR} TEMP &
|
||||||
SHUTDOWN_CRIT ${SENSOR} &
|
SHUTDOWN_CRIT ${SENSOR} &
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - Sending system shutdown signals, if applicable. Check main Powerwall Logs" >> ${logtemp}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - Sending system shutdown signals, if applicable. Check main Powerwall Logs" >> ${logtemp}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|
||||||
if [ ${last_temp[${SENSOR}]} -gt 1 ]; then
|
if [ ${last_temp[${SENSOR}]} -gt 1 ]; then
|
||||||
SENDNOTICE "${SENSOR} BACK TO NORMAL" "(${datetime}) NORMAL TEMP: ${temp_f}'F
|
SENDNOTICE "${SENSOR} BACK TO NORMAL" "NORMAL TEMP: ${temp_f}'F
|
||||||
Previous Temp: ${last_temp[${SENSOR}]}'F"
|
Previous Temp: ${last_temp[${SENSOR}]}'F"
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - Back to NORMAL TEMP - Previous Temp: ${last_temp[${SENSOR}]}'F" >> ${logtemp}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - Back to NORMAL TEMP - Previous Temp: ${last_temp[${SENSOR}]}'F" >> ${logtemp}
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - ${SENSOR} - Back to NORMAL TEMP" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - ${SENSOR} - Back to NORMAL TEMP" >> ${PW_LOGFILE}
|
||||||
[ "$(compgen -G "${PW_FOLDER}/shutdown.*")" != "" ] && rm -f ${PW_FOLDER}/shutdown.*
|
[ "$(compgen -G "${PW_FOLDER}/shutdown.*")" != "" ] && rm -f ${PW_FOLDER}/shutdown.*
|
||||||
|
|
||||||
elif [ ${last_temp[${SENSOR}]} -eq 0 ]; then
|
elif [ ${last_temp[${SENSOR}]} -eq 0 ]; then
|
||||||
# SENDNOTICE "${SENSOR} TEMP NORMAL" "(${datetime}) Service Startup
|
# SENDNOTICE "${SENSOR} TEMP NORMAL" "Service Startup
|
||||||
# NORMAL TEMP: ${temp_f}'F"
|
# NORMAL TEMP: ${temp_f}'F"
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - Service Startup - NORMAL TEMP" >> ${logtemp}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - Service Startup - NORMAL TEMP" >> ${logtemp}
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - ${SENSOR} - Service Startup" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - ${SENSOR} - Service Startup" >> ${PW_LOGFILE}
|
||||||
[ "$(compgen -G "${PW_FOLDER}/shutdown.*")" != "" ] && rm -f ${PW_FOLDER}/shutdown.*
|
[ "$(compgen -G "${PW_FOLDER}/shutdown.*")" != "" ] && rm -f ${PW_FOLDER}/shutdown.*
|
||||||
|
|
||||||
elif [ ${relog} -eq 1 ]; then
|
elif [ ${relog} -eq 1 ]; then
|
||||||
echo "(${datetime}) - ${temp_f}'F - Normal Temp" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - Normal Temp" >> ${logtemp}
|
||||||
|
|
||||||
fi
|
fi
|
||||||
rm -f ${PW_TMPFOLDER}/temp.*
|
rm -f ${PW_TMPFOLDER}/temp.*
|
||||||
@@ -391,23 +390,23 @@ Previous Temp: ${last_temp[${SENSOR}]}'F"
|
|||||||
fi
|
fi
|
||||||
entityid=${entityid[1]}
|
entityid=${entityid[1]}
|
||||||
|
|
||||||
QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`entity\`, \`date\`, \`temp\`) VALUES ('${PW_SENSOR_ID[${SENSORa}]}','${entityid}','${datetime}','${temp_f}')"
|
QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`entity\`, \`date\`, \`temp\`) VALUES ('${PW_SENSOR_ID[${SENSORa}]}','${entityid}','$(date +'%Y-%m-%d %H:%M:%S')','${temp_f}')"
|
||||||
if [ "${PW_HOST_IDRACS[${SENSORa}]}" == "10.2.1.21" ] && [ "${vSENSOR// /_}" == "System_Board_Inlet" ]; then
|
if [ "${PW_HOST_IDRACS[${SENSORa}]}" == "10.2.1.21" ] && [ "${vSENSOR// /_}" == "System_Board_Inlet" ]; then
|
||||||
QRY2="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`speed\`) VALUES ('14','${datetime}','${FanSpeed}')"
|
QRY2="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`speed\`) VALUES ('14','$(date +'%Y-%m-%d %H:%M:%S')','${FanSpeed}')"
|
||||||
${mysql_conn} -e "${QRY2}"
|
${mysql_conn} -e "${QRY2}"
|
||||||
fi
|
fi
|
||||||
elif [ "${temp_h}" != "" ]; then
|
elif [ "${temp_h}" != "" ]; then
|
||||||
QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`, \`hum\`) VALUES ('${PW_SENSOR_ID[${SENSORa}]}','${datetime}','${temp_f}','${temp_h}')"
|
QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`, \`hum\`) VALUES ('${PW_SENSOR_ID[${SENSORa}]}','$(date +'%Y-%m-%d %H:%M:%S')','${temp_f}','${temp_h}')"
|
||||||
else
|
else
|
||||||
QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`) VALUES ('${PW_SENSOR_ID[${SENSORa}]}','${datetime}','${temp_f}')"
|
QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`) VALUES ('${PW_SENSOR_ID[${SENSORa}]}','$(date +'%Y-%m-%d %H:%M:%S')','${temp_f}')"
|
||||||
fi
|
fi
|
||||||
${mysql_conn} -e "${QRY}"
|
${mysql_conn} -e "${QRY}"
|
||||||
touch ${PW_TMPFOLDER}/${SENSOR}.insert
|
touch ${PW_TMPFOLDER}/${SENSOR}.insert
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ ! -f ${PW_TMPFOLDER}/${SENSOR}-error.reading ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}-error.reading)) -ge 1800 ]; then
|
if [ ! -f ${PW_TMPFOLDER}/${SENSOR}-error.reading ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}-error.reading)) -ge 1800 ]; then
|
||||||
SENDNOTICE "${SENSOR} Sensor ERROR" "(${datetime}) ERROR reading sensor data" 1
|
SENDNOTICE "${SENSOR} Sensor ERROR" "ERROR reading sensor data" 1
|
||||||
echo "(${datetime}) - ${SENSOR} Sensor - ERROR reading sensor data" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${SENSOR} Sensor - ERROR reading sensor data" >> ${logtemp}
|
||||||
touch ${PW_TMPFOLDER}/${SENSOR}-error.reading
|
touch ${PW_TMPFOLDER}/${SENSOR}-error.reading
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -422,7 +421,7 @@ Previous Temp: ${last_temp[${SENSOR}]}'F"
|
|||||||
elif [ "${PW_HOST_ADDRESSES[${SENSORa}]}" == "" ]; then #sensor down
|
elif [ "${PW_HOST_ADDRESSES[${SENSORa}]}" == "" ]; then #sensor down
|
||||||
if [ ! -f ${PW_TMPFOLDER}/${SENSORa}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSORa}.down)) -ge 1800 ]; then
|
if [ ! -f ${PW_TMPFOLDER}/${SENSORa}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSORa}.down)) -ge 1800 ]; then
|
||||||
SENDNOTICE "${SENSORa} ERROR" "${SENSORa} Sensor is down" 1
|
SENDNOTICE "${SENSORa} ERROR" "${SENSORa} Sensor is down" 1
|
||||||
echo "(${datetime}) - ${SENSORa} - ${SENSORa} Sensor is down" >> ${logtemp}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${SENSORa} - ${SENSORa} Sensor is down" >> ${logtemp}
|
||||||
touch ${PW_TMPFOLDER}/${SENSORa}.down
|
touch ${PW_TMPFOLDER}/${SENSORa}.down
|
||||||
|
|
||||||
fi
|
fi
|
||||||
@@ -628,7 +627,6 @@ CHECKPOWER_SERVICE(){
|
|||||||
voltstatus=0
|
voltstatus=0
|
||||||
battstatus=0
|
battstatus=0
|
||||||
while true; do
|
while true; do
|
||||||
datetime=`date +'%Y-%m-%d %H:%M:%S'`
|
|
||||||
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
||||||
SVRRM_UPS_INPUTACV=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.2.2.1.3.1.1 | sed 's/.*: //')
|
SVRRM_UPS_INPUTACV=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.2.2.1.3.1.1 | sed 's/.*: //')
|
||||||
|
|
||||||
@@ -637,7 +635,7 @@ CHECKPOWER_SERVICE(){
|
|||||||
touch ${PW_TMPFOLDER}/power.ups.low
|
touch ${PW_TMPFOLDER}/power.ups.low
|
||||||
|
|
||||||
elif [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ups.low)) -ge 60 ]; then
|
elif [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ups.low)) -ge 60 ]; then
|
||||||
SENDNOTICE "POWER ALERT - UPS POWER OFF/LOW POWER!!" "(${datetime}) UPS has no power for 1min, shutting all servers down!" 1
|
SENDNOTICE "POWER ALERT - UPS POWER OFF/LOW POWER!!" "UPS has no power for 1min, shutting all servers down!" 1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -651,56 +649,61 @@ CHECKPOWER_SERVICE(){
|
|||||||
|
|
||||||
if (( $(bc <<<"${INPUTACV} >= ${min_acvolt}") )); then
|
if (( $(bc <<<"${INPUTACV} >= ${min_acvolt}") )); then
|
||||||
if [ ${voltstatus} -eq 3 ]; then
|
if [ ${voltstatus} -eq 3 ]; then
|
||||||
echo "(${datetime}) - ${INPUTACV}'V - Back to Normal Voltage" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V - Back to Normal Voltage" >> ${PW_LOGPOWER}
|
||||||
SENDNOTICE "POWER NOMINAL AGAIN" "(${datetime}) Normal voltage detected
|
SENDNOTICE "POWER NOMINAL AGAIN" "Normal voltage detected
|
||||||
VOLTAGE: ${INPUTACV}'V"
|
VOLTAGE: ${INPUTACV}'V"
|
||||||
echo -e "(${datetime}) - ${INPUTACV}'V - POWER NOMINAL AGAIN" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V - POWER NOMINAL AGAIN" >> ${PW_LOGFILE}
|
||||||
battstatus=0
|
battstatus=0
|
||||||
else
|
else
|
||||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge 3600 ] && echo "(${datetime}) - ${INPUTACV}'V - Normal Voltage" >> ${PW_LOGPOWER}
|
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge 3600 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V - Normal Voltage" >> ${PW_LOGPOWER}
|
||||||
if [ ${voltstatus} -eq 0 ]; then
|
if [ ${voltstatus} -eq 0 ]; then
|
||||||
SENDNOTICE "Power Nominal" "(${datetime}) Service Startup
|
SENDNOTICE "Power Nominal" "Service Startup
|
||||||
Normal voltage detected
|
Normal voltage detected
|
||||||
VOLTAGE: ${INPUTACV}'V
|
VOLTAGE: ${INPUTACV}'V
|
||||||
BATT VOLTAGE: ${BATTVOLT}'V"
|
BATT VOLTAGE: ${BATTVOLT}'V"
|
||||||
echo "(${datetime}) - Input: ${INPUTACV}'V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - Input: ${INPUTACV}'V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
|
||||||
echo -e "(${datetime}) - ${INPUTACV}'V / ${BATTVOLT}'V - Service Startup - Normal Voltage" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V / ${BATTVOLT}'V - Service Startup - Normal Voltage" >> ${PW_LOGFILE}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
voltstatus=1
|
voltstatus=1
|
||||||
rm -f ${PW_TMPFOLDER}/power.ac.*
|
rm -f ${PW_TMPFOLDER}/power.*
|
||||||
else
|
else
|
||||||
echo "(${datetime}) - ${INPUTACV}'V - POWER OFF/LOW POWER" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V - POWER OFF/LOW POWER" >> ${PW_LOGPOWER}
|
||||||
echo -e "(${datetime}) - ${INPUTACV}'V - POWER OFF/LOW POWER" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V - POWER OFF/LOW POWER" >> ${PW_LOGFILE}
|
||||||
if [ ${voltstatus} -lt 3 ]; then
|
if [ ${voltstatus} -lt 3 ]; then
|
||||||
SENDNOTICE "POWER ALERT - POWER OFF/LOW POWER!!" "(${datetime}) Power off or low voltage detected
|
SENDNOTICE "POWER ALERT - POWER OFF/LOW POWER!!" "Power off or low voltage detected
|
||||||
VOLTAGE: ${INPUTACV}'V
|
VOLTAGE: ${INPUTACV}'V
|
||||||
BATT VOLTAGE: ${BATTVOLT}'V" 1
|
BATT VOLTAGE: ${BATTVOLT}'V" 1
|
||||||
last_battvolt=${BATTVOLT}
|
last_battvolt=${BATTVOLT}
|
||||||
|
voltstatus=3
|
||||||
|
touch ${PW_TMPFOLDER}/power.ac.low
|
||||||
|
fi
|
||||||
|
if [ ! -f ${PW_TMPFOLDER}/power.ac.conserve ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge 300 ]; then
|
||||||
|
SENDNOTICE "POWER ALERT - Conserving Power" "Shutting down iSCSI VM's and Host to conserve power" 1
|
||||||
|
SHUTDOWN_SERVER 10.10.2.10 &
|
||||||
|
touch ${PW_TMPFOLDER}/power.ac.conserve
|
||||||
fi
|
fi
|
||||||
voltstatus=3
|
|
||||||
touch ${PW_TMPFOLDER}/power.ac.low
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( $(bc <<<"${BATTVOLT} < ${min_battvolt} && ${BATTVOLT} > ${min_battvolt_sys}") )); then
|
if (( $(bc <<<"${BATTVOLT} < ${min_battvolt} && ${BATTVOLT} > ${min_battvolt_sys}") )); then
|
||||||
echo "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
|
||||||
echo -e "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
|
||||||
touch ${PW_TMPFOLDER}/power.dc.low
|
touch ${PW_TMPFOLDER}/power.dc.low
|
||||||
if (( $(bc <<<"${battstatus} < 2 && ${INPUTACV} < ${min_acvolt}") )); then
|
if (( $(bc <<<"${battstatus} < 2 && ${INPUTACV} < ${min_acvolt}") )); then
|
||||||
echo "(${datetime}) - ${BATTVOLT}'V - Shutting down main servers..." >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Shutting down main servers..." >> ${PW_LOGPOWER}
|
||||||
SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "(${datetime}) Battery Voltage LOW: ${BATTVOLT}'V
|
SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "Battery Voltage LOW: ${BATTVOLT}'V
|
||||||
Shutting down main servers" 1
|
Shutting down main servers" 1
|
||||||
SHUTDOWN_MAIN POWER &
|
SHUTDOWN_MAIN POWER &
|
||||||
battstatus=2
|
battstatus=2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif (( $(bc <<<"${BATTVOLT} <= ${min_battvolt_sys}") )); then
|
elif (( $(bc <<<"${BATTVOLT} <= ${min_battvolt_sys}") )); then
|
||||||
echo "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
|
||||||
echo "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
|
||||||
touch ${PW_TMPFOLDER}/power.dc.low
|
touch ${PW_TMPFOLDER}/power.dc.low
|
||||||
if (( $(bc <<<"${battstatus} < 3 && ${INPUTACV} < ${min_acvolt}") )); then
|
if (( $(bc <<<"${battstatus} < 3 && ${INPUTACV} < ${min_acvolt}") )); then
|
||||||
echo "(${datetime}) - ${BATTVOLT}'V - Shutting down all remaining servers..." >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Shutting down all remaining servers..." >> ${PW_LOGPOWER}
|
||||||
SENDNOTICE "BATT-VOLT REALLY LOW: SHUTDOWN SYS SERVERS" "(${datetime}) Battery Voltage REALLY LOW: ${BATTVOLT}'V
|
SENDNOTICE "BATT-VOLT REALLY LOW: SHUTDOWN SYS SERVERS" "Battery Voltage REALLY LOW: ${BATTVOLT}'V
|
||||||
Shutting down all servers" 1
|
Shutting down all servers" 1
|
||||||
SHUTDOWN_SYS POWER &
|
SHUTDOWN_SYS POWER &
|
||||||
|
|
||||||
@@ -709,20 +712,19 @@ Shutting down all servers" 1
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge 3600 ] && echo "(${datetime}) - ${BATTVOLT}'V - Battery Voltage" >> ${PW_LOGPOWER}
|
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge 3600 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Battery Voltage" >> ${PW_LOGPOWER}
|
||||||
if [ ${battstatus} -eq 0 ]; then
|
if [ ${battstatus} -eq 0 ]; then
|
||||||
echo "(${datetime}) - Battery: ${BATTVOLT}'V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - Battery: ${BATTVOLT}'V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
|
||||||
fi
|
fi
|
||||||
rm -f ${PW_TMPFOLDER}/power.dc.*
|
|
||||||
battstatus=1
|
battstatus=1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
volt_diff=`echo "scale=1; ${last_battvolt}-${BATTVOLT}" | bc`
|
volt_diff=`echo "scale=1; ${last_battvolt}-${BATTVOLT}" | bc`
|
||||||
(( $(bc <<<"${volt_diff} < 0") )) && temp_diff=`echo "scale=1; ${volt_diff} * -1" | bc`
|
(( $(bc <<<"${volt_diff} < 0") )) && temp_diff=`echo "scale=1; ${volt_diff} * -1" | bc`
|
||||||
if (( $(bc <<<"${volt_diff} > 0") )); then
|
if (( $(bc <<<"${volt_diff} > 0.5") )); then
|
||||||
SENDNOTICE "BATTERY VOLTAGE CHANGE" "(${datetime}) Battery Voltage: ${BATTVOLT}'V"
|
SENDNOTICE "BATTERY VOLTAGE CHANGE" "Battery Voltage: ${BATTVOLT}'V"
|
||||||
echo -e "(${datetime}) - ${BATTVOLT}'V - Battery Voltage Change" >> ${PW_LOGPOWER}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Battery Voltage Change" >> ${PW_LOGPOWER}
|
||||||
last_battvolt=${BATTVOLT}
|
last_battvolt=${BATTVOLT}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@@ -738,20 +740,20 @@ Shutting down all servers" 1
|
|||||||
|
|
||||||
if (( $(bc <<<"${OFFSITE_VOLTIN} >= ${min_acvolt}") )); then
|
if (( $(bc <<<"${OFFSITE_VOLTIN} >= ${min_acvolt}") )); then
|
||||||
if [ -f ${PW_TMPFOLDER}/power.offsite.ac.low ]; then
|
if [ -f ${PW_TMPFOLDER}/power.offsite.ac.low ]; then
|
||||||
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - Offsite Back to Normal Voltage" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - Offsite Back to Normal Voltage" >> ${PW_LOGPOWER}
|
||||||
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER NOMINAL AGAIN" >> ${PW_LOGFILE}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER NOMINAL AGAIN" >> ${PW_LOGFILE}
|
||||||
SENDNOTICE "OFFSITE POWER NOMINAL AGAIN" "(${datetime}) Normal voltage detected
|
SENDNOTICE "OFFSITE POWER NOMINAL AGAIN" "Normal voltage detected
|
||||||
VOLTAGE: ${OFFSITE_VOLTIN}'V"
|
VOLTAGE: ${OFFSITE_VOLTIN}'V"
|
||||||
rm -f ${PW_TMPFOLDER}/power.offsite.*
|
rm -f ${PW_TMPFOLDER}/power.offsite.*
|
||||||
else
|
else
|
||||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -le 300 ] && echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - Offsite Normal Voltage" >> ${PW_LOGPOWER}
|
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -le 300 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - Offsite Normal Voltage" >> ${PW_LOGPOWER}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGPOWER}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGPOWER}
|
||||||
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGFILE}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGFILE}
|
||||||
|
|
||||||
if [ ! -f ${PW_TMPFOLDER}/power.offsite.ac.low ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.ac.low)) -ge 300 ]; then
|
if [ ! -f ${PW_TMPFOLDER}/power.offsite.ac.low ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.ac.low)) -ge 300 ]; then
|
||||||
SENDNOTICE "OFFSITE POWER ALERT - POWER OFF/LOW!!" "(${datetime}) Power off or low voltage detected
|
SENDNOTICE "OFFSITE POWER ALERT - POWER OFF/LOW!!" "Power off or low voltage detected
|
||||||
VOLTAGE: ${OFFSITE_VOLTIN}'V" 1
|
VOLTAGE: ${OFFSITE_VOLTIN}'V" 1
|
||||||
touch ${PW_TMPFOLDER}/power.offsite.ac.low
|
touch ${PW_TMPFOLDER}/power.offsite.ac.low
|
||||||
fi
|
fi
|
||||||
@@ -770,7 +772,7 @@ VOLTAGE: ${OFFSITE_VOLTIN}'V" 1
|
|||||||
|
|
||||||
POWERLOGGER_SERVICE(){
|
POWERLOGGER_SERVICE(){
|
||||||
while true; do
|
while true; do
|
||||||
datetime=`date +'%Y-%m-%d %H:%M:%S'`
|
LogDataTime=`date +'%Y-%m-%d %H:%M:%S'`
|
||||||
|
|
||||||
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
||||||
if [ "${INVSTATSINFO}" != "" ]; then
|
if [ "${INVSTATSINFO}" != "" ]; then
|
||||||
@@ -782,14 +784,14 @@ POWERLOGGER_SERVICE(){
|
|||||||
BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'`
|
BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'`
|
||||||
BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'`
|
BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'`
|
||||||
|
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`) VALUES ('3','${datetime}','${INPUTV}','${INPUTA}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`) VALUES ('3','${LogDataTime}','${INPUTV}','${INPUTA}')"
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('4','${datetime}','${OUTPUTV}','${OUTPUTA}','${OUTPUTW}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('4','${LogDataTime}','${OUTPUTV}','${OUTPUTA}','${OUTPUTW}')"
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`) VALUES ('5','${datetime}','${BATTV}','${BATTA}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`) VALUES ('5','${LogDataTime}','${BATTV}','${BATTA}')"
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
|
|
||||||
QRY="INSERT INTO inv_jsonstats (\`date\`, \`data\`) VALUES ('${datetime}','${INVSTATSINFO}')"
|
QRY="INSERT INTO inv_jsonstats (\`date\`, \`data\`) VALUES ('${LogDataTime}','${INVSTATSINFO}')"
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -800,7 +802,7 @@ POWERLOGGER_SERVICE(){
|
|||||||
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=$(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`
|
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | bc`
|
||||||
|
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('11','${datetime}','${SVRRM_VOLT}','${SVRRM_AMP}','${SVRRM_WATT}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('11','${LogDataTime}','${SVRRM_VOLT}','${SVRRM_AMP}','${SVRRM_WATT}')"
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -809,9 +811,9 @@ POWERLOGGER_SERVICE(){
|
|||||||
APCPDU_AMP=`echo "scale=1; ${APCPDU_AMP}/10" | bc`
|
APCPDU_AMP=`echo "scale=1; ${APCPDU_AMP}/10" | bc`
|
||||||
if [ "${SVRRM_VOLT}" != "" ]; then
|
if [ "${SVRRM_VOLT}" != "" ]; then
|
||||||
APCPDU_WATT=`echo "scale=1; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc`
|
APCPDU_WATT=`echo "scale=1; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc`
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('12','${datetime}','${SVRRM_VOLT}','${APCPDU_AMP}','${APCPDU_WATT}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('12','${LogDataTime}','${SVRRM_VOLT}','${APCPDU_AMP}','${APCPDU_WATT}')"
|
||||||
else
|
else
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`amp\`) VALUES ('12','${datetime}','${APCPDU_AMP}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`amp\`) VALUES ('12','${LogDataTime}','${APCPDU_AMP}')"
|
||||||
fi
|
fi
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
fi
|
fi
|
||||||
@@ -820,7 +822,7 @@ POWERLOGGER_SERVICE(){
|
|||||||
NETRK_AMP=`echo "scale=1; ${SVRRM_AMP}-${APCPDU_AMP}" | bc`
|
NETRK_AMP=`echo "scale=1; ${SVRRM_AMP}-${APCPDU_AMP}" | bc`
|
||||||
NETRK_WATT=`echo "scale=0; ${SVRRM_WATT}-${APCPDU_WATT}" | bc`
|
NETRK_WATT=`echo "scale=0; ${SVRRM_WATT}-${APCPDU_WATT}" | bc`
|
||||||
|
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('13','${datetime}','${SVRRM_VOLT}','${NETRK_AMP}','${NETRK_WATT}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('13','${LogDataTime}','${SVRRM_VOLT}','${NETRK_AMP}','${NETRK_WATT}')"
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -832,11 +834,11 @@ POWERLOGGER_SERVICE(){
|
|||||||
OFFSITE_WATTS=`echo "scale=1; ${OFFSITE_LOAD}*900" | bc`
|
OFFSITE_WATTS=`echo "scale=1; ${OFFSITE_LOAD}*900" | bc`
|
||||||
OFFSITE_AMPS=`echo "scale=1; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc`
|
OFFSITE_AMPS=`echo "scale=1; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc`
|
||||||
|
|
||||||
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('15','${datetime}','${OFFSITE_VOLTOUT}','${OFFSITE_AMPS}','${OFFSITE_WATTS}')"
|
QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('15','${LogDataTime}','${OFFSITE_VOLTOUT}','${OFFSITE_AMPS}','${OFFSITE_WATTS}')"
|
||||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$(compgen -G "${PW_TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.dc.*")" != "" ]; then
|
if [ "$(compgen -G "${PW_TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.*")" != "" ]; then
|
||||||
sleep 1m
|
sleep 1m
|
||||||
else
|
else
|
||||||
sleep 5m
|
sleep 5m
|
||||||
@@ -917,10 +919,9 @@ SHUTDOWN_MAIN(){
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${sendnotice}" == "true"]; then
|
if [ "${sendnotice}" == "true"]; then
|
||||||
datetime=`date +'%Y-%m-%d %H:%M:%S'`
|
SENDNOTICE "MAIN SERVERS SHUTDOWN" "MAIN servers have been shutdown
|
||||||
SENDNOTICE "MAIN SERVERS SHUTDOWN" "(${datetime}) MAIN servers have been shutdown
|
${reason}" 1
|
||||||
${reason}" 1
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - Main servers have been shutdown, ${reason}" >> ${PW_LOGFILE}
|
||||||
echo -e "(${datetime}) - Main servers have been shutdown, ${reason}" >> ${PW_LOGFILE}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
@@ -941,11 +942,10 @@ SHUTDOWN_SYS(){
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${sendnotice}" == "true"]; then
|
if [ "${sendnotice}" == "true"]; then
|
||||||
datetime=`date +'%Y-%m-%d %H:%M:%S'`
|
SENDNOTICE "SYS SERVERS SHUTDOWN" "SYS servers have been shutdown
|
||||||
SENDNOTICE "SYS SERVERS SHUTDOWN" "(${datetime}) SYS servers have been shutdown
|
|
||||||
${reason}" 1
|
${reason}" 1
|
||||||
echo -e "(${datetime}) - SYS servers have been shutdown, ${reason}" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - SYS servers have been shutdown, ${reason}" >> ${PW_LOGFILE}
|
||||||
echo -e "(${datetime}) - ${temp_f}'F - Shutting down SYS servers" >> ${logtemp}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${temp_f}'F - Shutting down SYS servers" >> ${logtemp}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# curl --data "cmd=PWRoff" http://${PW_INVERTER_IP}/cmd
|
# curl --data "cmd=PWRoff" http://${PW_INVERTER_IP}/cmd
|
||||||
@@ -953,16 +953,16 @@ SHUTDOWN_SYS(){
|
|||||||
}
|
}
|
||||||
SHUTDOWN_CRIT(){
|
SHUTDOWN_CRIT(){
|
||||||
if [ "${1}" == "Powerwall-CPU" ]; then
|
if [ "${1}" == "Powerwall-CPU" ]; then
|
||||||
SENDNOTICE "${SENSOR} TEMP CRITICAL" "(${datetime}) Powerwall System shutting down" 1
|
SENDNOTICE "${SENSOR} TEMP CRITICAL" "Powerwall System shutting down" 1
|
||||||
echo -e "(${datetime}) - CRITICAL TEMP - Powerwall System shutting down" >> ${PW_LOGFOLDER}/log-temp-${1}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - CRITICAL TEMP - Powerwall System shutting down" >> ${PW_LOGFOLDER}/log-temp-${1}
|
||||||
echo -e "(${datetime}) - ${SENSOR} TEMP CRITICAL - Powerwall System shutting down" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${SENSOR} TEMP CRITICAL - Powerwall System shutting down" >> ${PW_LOGFILE}
|
||||||
sleep 1s
|
sleep 1s
|
||||||
/sbin/poweroff
|
/sbin/poweroff
|
||||||
|
|
||||||
elif [ "${1}" == "OctoPI-CPU" ]; then
|
elif [ "${1}" == "OctoPI-CPU" ]; then
|
||||||
SENDNOTICE "${SENSOR} TEMP CRITICAL" "(${datetime}) OctoPI System shutting down" 1
|
SENDNOTICE "${SENSOR} TEMP CRITICAL" "OctoPI System shutting down" 1
|
||||||
echo -e "(${datetime}) - CRITICAL TEMP - OctoPI System shutting down" >> ${PW_LOGFOLDER}/log-temp-${1}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - CRITICAL TEMP - OctoPI System shutting down" >> ${PW_LOGFOLDER}/log-temp-${1}
|
||||||
echo -e "(${datetime}) - ${SENSOR} TEMP CRITICAL - OctoPI System shutting down" >> ${PW_LOGFILE}
|
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${SENSOR} TEMP CRITICAL - OctoPI System shutting down" >> ${PW_LOGFILE}
|
||||||
sleep 1s
|
sleep 1s
|
||||||
ssh root@${PW_REMOTE_SENSORS[${1}]} /sbin/poweroff
|
ssh root@${PW_REMOTE_SENSORS[${1}]} /sbin/poweroff
|
||||||
|
|
||||||
@@ -971,7 +971,7 @@ SHUTDOWN_CRIT(){
|
|||||||
SHUTDOWN_OFFSITE(){
|
SHUTDOWN_OFFSITE(){
|
||||||
if [ ! -f ${PW_FOLDER}/shutdown.offsite ]; then
|
if [ ! -f ${PW_FOLDER}/shutdown.offsite ]; then
|
||||||
for offsite_host in "${PW_OFFSITEHOSTS[@]}"; do
|
for offsite_host in "${PW_OFFSITEHOSTS[@]}"; do
|
||||||
SENDNOTICE "OFFSITE SHUTDOWN - POWER OFF/LOW!!" "(${datetime}) Shutting down '${PW_ESXI_HOST_NAMES[${offsite_host}]}'" 1
|
SENDNOTICE "OFFSITE SHUTDOWN - POWER OFF/LOW!!" "Shutting down '${PW_ESXI_HOST_NAMES[${offsite_host}]}'" 1
|
||||||
SHUTDOWN_SERVER ${offsite_host} &
|
SHUTDOWN_SERVER ${offsite_host} &
|
||||||
done
|
done
|
||||||
touch ${PW_FOLDER}/shutdown.offsite
|
touch ${PW_FOLDER}/shutdown.offsite
|
||||||
@@ -980,7 +980,7 @@ SHUTDOWN_OFFSITE(){
|
|||||||
|
|
||||||
SHUTDOWN_SERVERS(){
|
SHUTDOWN_SERVERS(){
|
||||||
# TEST=true
|
# TEST=true
|
||||||
echo "(${datetime}) - Shutting down ${1} servers" >> ${PW_LOGFILE}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - Shutting down ${1} servers" >> ${PW_LOGFILE}
|
||||||
[ "${TEST}" == "true" ] && echo "RUNNING IN TEST MODE">>${PW_LOGFILE}
|
[ "${TEST}" == "true" ] && echo "RUNNING IN TEST MODE">>${PW_LOGFILE}
|
||||||
|
|
||||||
if [ "${1^^}" == "MAIN" ]; then
|
if [ "${1^^}" == "MAIN" ]; then
|
||||||
@@ -1195,7 +1195,7 @@ SHUTDOWN_SERVER(){
|
|||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "(${datetime}) - Shutting down ${host} (${ESXIHOST})" >> ${PW_LOGFILE}
|
echo "($(date +'%Y-%m-%d %H:%M:%S')) - Shutting down ${host} (${ESXIHOST})" >> ${PW_LOGFILE}
|
||||||
|
|
||||||
if [ "${ESXIHOST}" == "10.10.2.10" ]; then
|
if [ "${ESXIHOST}" == "10.10.2.10" ]; then
|
||||||
echo -e "${idsCL[LightYellow]}Since this is the iSCSI-PRI host server, all iSCSI-PRI VM's are being shutdown ... "
|
echo -e "${idsCL[LightYellow]}Since this is the iSCSI-PRI host server, all iSCSI-PRI VM's are being shutdown ... "
|
||||||
@@ -1410,7 +1410,7 @@ TEST(){
|
|||||||
echo "Average: ${average}'F"
|
echo "Average: ${average}'F"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# QRY="INSERT INTO inv_jsonstats (\`date\`, \`data\`) VALUES ('${datetime}','${INVSTATSINFO}')"
|
# QRY="INSERT INTO inv_jsonstats (\`date\`, \`data\`) VALUES ('$(date +'%Y-%m-%d %H:%M:%S')','${INVSTATSINFO}')"
|
||||||
# ${mysql_conn} -e "USE servermonitor; ${QRY}"
|
# ${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||||
|
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
|
|||||||
Reference in New Issue
Block a user