From de82f825e9c15d95b37dd7a0cc31a03b0bc8e490 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 6 Jan 2024 21:09:44 -0600 Subject: [PATCH] beta --- defaults.inc | 12 ++++++++---- inc/status.inc | 30 +++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/defaults.inc b/defaults.inc index 82e75225..fadaefd6 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='5.1.55-01062024' -NM_BETA=false +VERS='5.1.56a-01062024' +NM_BETA=true noheader=' service status-check nightlyrephp7.3-fpm,new backup report check checkcerts gitea update-nodes copynpmcerts singleservercheck update-dyndns backup-offsitepfsense gui nightlyreview update log betacheck ' CERT_DAEMON='/snap/bin/certbot' @@ -209,9 +209,13 @@ DISP_HEADER(){ } SENDNOTICE(){ - [ "${PUSHOVER_USER_TOKEN}" != "" ] && PUSH_TO_MOBILE "${2} + if [ "${PUSHOVER_USER_TOKEN}" != "" ]; then + SN_TIT="$(echo -e "${1}" | sed "s/\%/\%25 /g")" + SN_MSG="$(echo -e "${2}" | sed "s/\%/\%25 /g")" + PUSH_TO_MOBILE "${SN_MSG} -$(date)" "${1}" ${3} & +$(date)" "${SN_TIT}" ${3} & + fi [ "${EMAIL_NOTICE}" != "" ] && echo -e "${2}\n\n$(date)" | mail -s "${1}" ${EMAIL_NOTICE} } diff --git a/inc/status.inc b/inc/status.inc index 4d7c5948..b2d3d6ca 100755 --- a/inc/status.inc +++ b/inc/status.inc @@ -442,7 +442,6 @@ STATUS_NODE(){ fi if [ "${checkhost}" != "false" ] && [ "${checkhostssl}" == "ok" ]; then [ "${NODETYPE}" != "OFW" ] && cpu_usage=$(ssh -q -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${nip} "/opt/idssys/defaults/get-data.sh cpu-usage") || cpu_usage="" - if [ "${STATUS_ACTION}" != "check" ]; then if ([ "${STATUS_ACTION}" == "report" ] && [ "${2}" == "email" ]) || [ "${STATUS_ACTION}" != "report" ]; then @@ -475,6 +474,35 @@ STATUS_NODE(){ rm -f ${NM_TMPFOLDER}/${nip}.* fi + if [ "${cpu_usage}" != "" ]; then + if [ $(ROUND_NUMBER ${cpu_usage}) < 40 ]; then + if [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ] || [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ]; then + if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ]; then + touch ${NM_TMPFOLDER}/${nip}.cpu_usage.norm + elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.norm)) -ge 180 ]; then + 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}) < 80 ]; then + [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ] && rm -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm + if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.warn ]; then + touch ${NM_TMPFOLDER}/${nip}.cpu_usage.warn + elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.warn)) -ge 180 ]; then + SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] WARNING HIGH CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has high cpu usage: ${cpu_usage}%" + touch ${NM_TMPFOLDER}/${nip}.cpu_usage.warn + fi + else + [ -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm ] && rm -f ${NM_TMPFOLDER}/${nip}.cpu_usage.norm + if [ ! -f ${NM_TMPFOLDER}/${nip}.cpu_usage.crit ]; then + touch ${NM_TMPFOLDER}/${nip}.cpu_usage.crit + elif [ $(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}.cpu_usage.crit)) -ge 60 ]; then + SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}] CRITICAL HIGH CPU USAGE" "${NM_HOSTNAMES[${nip}]}[${nip}] has CRITICALLY high cpu usage: ${cpu_usage}%" 1 + touch ${NM_TMPFOLDER}/${nip}.cpu_usage.crit + fi + fi + fi + ######################## ## SERVICES CHECK ########################