From e3ea8366a647fbad3a74943b678a4a0dd63ebd8d Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Tue, 9 Jan 2024 15:02:49 -0600 Subject: [PATCH] update --- inc/power.inc.sh | 22 ---------------------- inc/temp.inc.sh | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/inc/power.inc.sh b/inc/power.inc.sh index daa4e1d6..e2642dc1 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -13,21 +13,6 @@ AVERAGEPOWER(){ echo ${average} } -GET_OFFSITEHOST_FANSPEED(){ - vHOSTFAN=$(ssh -q -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${PW_RACADM_ACCESS} racadm -r 10.2.1.21 -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Fan3" 2>&1) - FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $8}' | sed -e 's/%//g') - echo ${FanSpeed} > ${PW_TMPFOLDER}/.fanspeed -} -GET_HOST_FANSPEED(){ - vHOSTFAN=$(ssh -q -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${PW_RACADM_ACCESS} racadm -r ${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${1}]}]} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Fan3" 2>&1) - if [ "$(echo ${vHOSTFAN} | awk '/ / {print $4}' | sed -e 's/%//g')" == "RPM" ]; then - FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $9}' | sed -e 's/%//g') - else - FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $8}' | sed -e 's/%//g') - fi - echo ${FanSpeed} > ${PW_TMPFOLDER}/.fanspeed.${PW_ESXI_HOST_NAMES[${1}]} -} - CHECKPOWER(){ start=`date +%s` rm -f ${PW_TMPFOLDER}/*.hostpower* @@ -51,13 +36,6 @@ CHECKPOWER(){ done [ "${avgdays}" == "0" ] && unset avgdays [ "${avgdays}" != "" ] && avgdayshdr="${avgdays}-Day-Avg" || avgdayshdr="" - if [ "${PTYPE}" != "power" ]; then - for ESXIHOST in "${PW_ALLHOSTS[@]}"; do - if [ ! -f ${PW_TMPFOLDER}/${PW_ESXI_HOST_NAMES[${ESXIHOST}]}.down ]; then - GET_HOST_FANSPEED ${ESXIHOST} & - fi - done - fi if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "mainsite" ]) && [ "${PTYPE}" != "esxi" ]; then [ ${REPORT} -eq 0 ] && echo diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index 0aa7d9a4..0aff120e 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -1,3 +1,17 @@ +GET_OFFSITEHOST_FANSPEED(){ + vHOSTFAN=$(ssh -q -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${PW_RACADM_ACCESS} racadm -r 10.2.1.21 -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Fan3" 2>&1) + FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $8}' | sed -e 's/%//g') + echo ${FanSpeed} > ${PW_TMPFOLDER}/.fanspeed +} +GET_HOST_FANSPEED(){ + vHOSTFAN=$(ssh -q -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${PW_RACADM_ACCESS} racadm -r ${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${1}]}]} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Fan3" 2>&1) + if [ "$(echo ${vHOSTFAN} | awk '/ / {print $4}' | sed -e 's/%//g')" == "RPM" ]; then + FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $9}' | sed -e 's/%//g') + else + FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $8}' | sed -e 's/%//g') + fi + echo ${FanSpeed} > ${PW_TMPFOLDER}/.fanspeed.${PW_ESXI_HOST_NAMES[${1}]} +} CHECKTEMP(){ start=`date +%s` cw=25; @@ -10,6 +24,13 @@ CHECKTEMP(){ esac shift 1 done + if [ "${temptype}" != "sensors" ]; then + for ESXIHOST in "${PW_ALLHOSTS[@]}"; do + if [ ! -f ${PW_TMPFOLDER}/${PW_ESXI_HOST_NAMES[${ESXIHOST}]}.down ]; then + GET_HOST_FANSPEED ${ESXIHOST} & + fi + done + fi echo if [ "${avgdays}" != "" ]; then if [ $(bc -l <<< "${avgdays} < 1") -eq 1 ]; then @@ -34,7 +55,17 @@ CHECKTEMP(){ vHOSTiDRACIP=${PW_HOST_IDRACS[${SENSOR}]} vHOSTIP=${PW_HOST_ADDRESSES[${SENSOR}]} vHOSTNAME=${PW_ESXI_HOST_NAMES[${vHOSTiDRACIP}]} - echo -e "\r\033[K${idsCL[White]}${idsST[Bold]}${SENSOR} Host Sensors ${idsST[Reset]}${idsCL[White]}[${vHOSTiDRACIP}]${idsCL[Default]}" + + echo -en "\r\033[K${idsCL[White]}${idsST[Bold]}${SENSOR} Host Sensors ${idsST[Reset]}${idsCL[White]}[${vHOSTiDRACIP}]" + if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] && [ "${SENSOR}" != "iDS-vMS-Host6" ] + echo -en "${idsCL[LightCyan]} Getting FanSpeed..." + [ ! -f ${PW_TMPFOLDER}/.fanspeed.${SENSOR} ] && until [ -f ${PW_TMPFOLDER}/.fanspeed.${SENSOR} ]; do tmp=tmp; done + echo -en "\r\033[K${idsCL[White]}${idsST[Bold]}${SENSOR} Host Sensors ${idsST[Reset]}${idsCL[White]}[${vHOSTiDRACIP}]" + echo -e "${idsCL[LightCyan]} [FanSpeed=$(cat ${PW_TMPFOLDER}/.fanspeed.${SENSOR})'%]${idsCL[Default]}" + else + echo -e "${idsCL[Default]}" + fi + DIVIDER . lightCyan 70 echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ... " # if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] && [ "$(CHECK_HOST ${vHOSTIP})" != "false" ]; then