From f752a8a4d0ce09708394cb66ae4380164dbdb953 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 1 Jun 2026 20:29:32 -0500 Subject: [PATCH] re-enabled cpu usage monitoring --- defaults.inc | 2 +- inc/status.inc | 78 +++++++++++++++++++++++++------------------------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/defaults.inc b/defaults.inc index 1f464091..91bd0c96 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='5.6.55-05162026' +VERS='5.6.60-06012026' NM_BETA=false diff --git a/inc/status.inc b/inc/status.inc index 7acfe1d3..dd53465d 100755 --- a/inc/status.inc +++ b/inc/status.inc @@ -538,45 +538,45 @@ STATUS_NODE(){ if [ ! -f ${STATUSRUN_TMPFOLDER}/.${nip}.up ]; then ############## ALERTING ON HIGH CPU USAGE ############## - # [ "${NODETYPE}" != "OFW" ] && cpu_usage=$(${NCMD} "/opt/idssys/defaults/get-data.sh cpu-usage") || cpu_usage="" - # if [ "${cpu_usage}" != "" ]; then - # if [ "${NM_HOST_CPULEVELS[${nip}]}" != "" ]; then - # cpu_warn=$(echo ${NM_HOST_CPULEVELS[${nip}]} | cut -d',' -f 1) - # cpu_crit=$(echo ${NM_HOST_CPULEVELS[${nip}]} | cut -d',' -f 2) - # else - # cpu_warn=75 - # cpu_crit=85 - # fi - # if [ $(ROUND_NUMBER ${cpu_usage}) -lt ${cpu_warn} ]; then - # CUFC="${idsCL[Green]}" - # if [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ] || [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ]; then - # if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ]; then - # echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.norm - # elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.norm)) -ge 300 ] && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.crit)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.warn)) -ge 300 ]); then - # [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.sent ] && SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] NORMAL CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has returned to normal cpu usage: ${cpu_usage}%" - # rm -f ${NM_TMPFOLDER}/${nip}.cpu_usage.* - # fi - # fi - # elif [ $(ROUND_NUMBER ${cpu_usage}) -lt ${cpu_crit} ]; then - # CUFC="${idsCL[LightYellow]}" - # if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ]; then - # echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.warn - # elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.warn)) -ge 300 ] && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.crit)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.norm)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.sent ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.sent)) -ge 3600 ]); then - # SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] WARNING HIGH CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has high cpu usage: ${cpu_usage}%" - # echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.warn - # touch ${NM_TMPFOLDER}/${nip}.cpu_usage.sent - # fi - # else - # CUFC="${idsCL[LightRed]}" - # if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ]; then - # echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.crit - # elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.crit)) -ge 300 ] && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.warn)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.norm)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.sent ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.sent)) -ge 3600 ]); then - # SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] CRITICAL HIGH CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has CRITICALLY high cpu usage: ${cpu_usage}%" 1 - # echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.crit - # touch ${NM_TMPFOLDER}/${nip}.cpu_usage.sent - # fi - # fi - # fi + [ "${NODETYPE}" != "OFW" ] && cpu_usage=$(${NCMD} "/opt/idssys/defaults/get-data.sh cpu-usage") || cpu_usage="" + if [ "${cpu_usage}" != "" ]; then + if [ "${NM_HOST_CPULEVELS[${nip}]}" != "" ]; then + cpu_warn=$(echo ${NM_HOST_CPULEVELS[${nip}]} | cut -d',' -f 1) + cpu_crit=$(echo ${NM_HOST_CPULEVELS[${nip}]} | cut -d',' -f 2) + else + cpu_warn=75 + cpu_crit=85 + fi + if [ $(ROUND_NUMBER ${cpu_usage}) -lt ${cpu_warn} ]; then + CUFC="${idsCL[Green]}" + if [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ] || [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ]; then + if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ]; then + echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.norm + elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.norm)) -ge 300 ] && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.crit)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.warn)) -ge 300 ]); then + [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.sent ] && SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] NORMAL CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has returned to normal cpu usage: ${cpu_usage}%" + rm -f ${NM_TMPFOLDER}/${nip}.cpu_usage.* + fi + fi + elif [ $(ROUND_NUMBER ${cpu_usage}) -lt ${cpu_crit} ]; then + CUFC="${idsCL[LightYellow]}" + if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ]; then + echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.warn + elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.warn)) -ge 300 ] && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.crit)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.norm)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.sent ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.sent)) -ge 3600 ]); then + SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] WARNING HIGH CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has high cpu usage: ${cpu_usage}%" + echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.warn + touch ${NM_TMPFOLDER}/${nip}.cpu_usage.sent + fi + else + CUFC="${idsCL[LightRed]}" + if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ]; then + echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.crit + elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.crit)) -ge 300 ] && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.warn)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.norm)) -ge 300 ]) && ([ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.sent ] || [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.sent)) -ge 3600 ]); then + SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] CRITICAL HIGH CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has CRITICALLY high cpu usage: ${cpu_usage}%" 1 + echo "${cpu_usage}%" >| ${NM_TMPFOLDER}/${nip}.cpu_usage.crit + touch ${NM_TMPFOLDER}/${nip}.cpu_usage.sent + fi + fi + fi touch ${STATUSRUN_TMPFOLDER}/.${nip}.up fi