* Added log_healthy to check_hpux_ovpa_status plugin

* Better log_healthy handling in check_linux_process_limits plugin
* Fix for empty HC_MSG_FILE in handle_hc()
This commit is contained in:
Patrick Van der Veken 2018-07-11 10:50:45 +02:00
parent a28bad7f9e
commit 347377d475
3 changed files with 55 additions and 20 deletions

View File

@ -799,7 +799,7 @@ typeset HC_STDOUT_LOG_SHORT=""
typeset HC_STDERR_LOG_SHORT="" typeset HC_STDERR_LOG_SHORT=""
typeset HC_MSG_ENTRY="" typeset HC_MSG_ENTRY=""
typeset HC_STC_RC=0 typeset HC_STC_RC=0
typeset ONE_MSG_STC="" typeset ONE_MSG_STC=0
typeset ONE_MSG_TIME="" typeset ONE_MSG_TIME=""
typeset ONE_MSG_TEXT="" typeset ONE_MSG_TEXT=""
typeset ONE_MSG_CUR_VAL="" typeset ONE_MSG_CUR_VAL=""
@ -824,6 +824,9 @@ then
ALL_MSG_STC=$(print "${HC_MSG_VAR}" | awk -F"${MSG_SEP}" 'BEGIN { stc = 0 } { for (i=1;i<=NF;i++) { stc = stc + $1 }} END { print stc }' 2>/dev/null) ALL_MSG_STC=$(print "${HC_MSG_VAR}" | awk -F"${MSG_SEP}" 'BEGIN { stc = 0 } { for (i=1;i<=NF;i++) { stc = stc + $1 }} END { print stc }' 2>/dev/null)
(( ARG_DEBUG != 0 )) && debug "HC all STC: ${ALL_MSG_STC}" (( ARG_DEBUG != 0 )) && debug "HC all STC: ${ALL_MSG_STC}"
$(data_is_numeric ${ALL_MSG_STC}) || die "HC all STC computes to a non-numeric value" $(data_is_numeric ${ALL_MSG_STC}) || die "HC all STC computes to a non-numeric value"
else
# nothing to do
return 0
fi fi
# display routines # display routines

View File

@ -24,6 +24,7 @@
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 2016-04-08: initial version [Patrick Van der Veken] # @(#) 2016-04-08: initial version [Patrick Van der Veken]
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken] # @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
# @(#) 2018-07-10: added log_healthy hc_arg [Patrick Van der Veken]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING! # DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#****************************************************************************** #******************************************************************************
@ -32,7 +33,7 @@
function check_hpux_ovpa_status function check_hpux_ovpa_status
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _VERSION="2016-12-01" # YYYY-MM-DD typeset _VERSION="2018-07-10" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
typeset _OVPA_BIN="/opt/perf/bin/perfstat" typeset _OVPA_BIN="/opt/perf/bin/perfstat"
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -44,6 +45,7 @@ typeset _ARGS=$(data_space2comma "$*")
typeset _ARG="" typeset _ARG=""
typeset _MSG="" typeset _MSG=""
typeset _STC=0 typeset _STC=0
typeset _LOG_HEALTHY=0
typeset _OVPA_MATCH=0 typeset _OVPA_MATCH=0
typeset _OVPA_VERSION="" typeset _OVPA_VERSION=""
typeset _OVPA_DAEMONS="" typeset _OVPA_DAEMONS=""
@ -52,12 +54,28 @@ typeset _OVPA_DAEMONS=""
for _ARG in ${_ARGS} for _ARG in ${_ARGS}
do do
case "${_ARG}" in case "${_ARG}" in
log_healthy)
_LOG_HEALTHY=1
;;
help) help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0 _show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;; ;;
esac esac
done done
# log_healthy
if (( _LOG_HEALTHY > 0 ))
then
if (( ARG_LOG > 0 ))
then
log "logging/showing passed health checks"
else
log "showing passed health checks (but not logging)"
fi
else
log "not logging/showing passed health checks"
fi
# check & get ovpa status # check & get ovpa status
if [[ ! -x ${_OVPA_BIN} ]] if [[ ! -x ${_OVPA_BIN} ]]
then then
@ -96,9 +114,12 @@ do
;; ;;
esac esac
# handle unit result # handle result
log_hc "$0" ${_STC} "${_MSG}" if (( _LOG_HEALTHY > 0 || _STC > 0 ))
_STC=0 then
log_hc "$0" ${_STC} "${_MSG}"
_STC=0
fi
done done
return 0 return 0

View File

@ -23,6 +23,7 @@
# #
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 2018-07-10: original version [Patrick Van der Veken] # @(#) 2018-07-10: original version [Patrick Van der Veken]
# @(#) 2018-07-11: better log_healthy handling [Patrick Van der Veken]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING! # DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#****************************************************************************** #******************************************************************************
@ -32,7 +33,7 @@ function check_linux_process_limits
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf" typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
typeset _VERSION="2018-07-10" # YYYY-MM-DD typeset _VERSION="2018-07-11" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -45,6 +46,7 @@ typeset _MSG=""
typeset _STC=0 typeset _STC=0
typeset _DUMMY="" typeset _DUMMY=""
typeset _LINE_COUNT=1 typeset _LINE_COUNT=1
typeset _CFG_HEALTHY=""
typeset _LOG_HEALTHY=0 typeset _LOG_HEALTHY=0
typeset _MAX_OPEN_FILES=0 typeset _MAX_OPEN_FILES=0
typeset _MAX_PROCESSES=0 typeset _MAX_PROCESSES=0
@ -70,6 +72,9 @@ trap "rm -f ${_INSTANCE_RUN_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
for _ARG in ${_ARGS} for _ARG in ${_ARGS}
do do
case "${_ARG}" in case "${_ARG}" in
log_healthy)
_LOG_HEALTHY=1
;;
help) help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0 _show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;; ;;
@ -84,23 +89,29 @@ then
return 1 return 1
fi fi
# read required configuration values # read required configuration values
_LOG_HEALTHY=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'log_healthy') _CFG_HEALTHY=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'log_healthy')
case "${_LOG_HEALTHY}" in case "${_CFG_HEALTHY}" in
no|NO|No) yes|YES|Yes)
_LOG_HEALTHY=0
log "not logging/showing passed health checks"
;;
*)
_LOG_HEALTHY=1 _LOG_HEALTHY=1
if (( ARG_LOG > 0 )) *)
then # do not override hc_arg
log "logging/showing passed health checks" (( _LOG_HEALTHY > 0 )) || _LOG_HEALTHY=0
else
log "showing passed health checks (but not logging)"
fi
;; ;;
esac esac
# log_healthy
if (( _LOG_HEALTHY > 0 ))
then
if (( ARG_LOG > 0 ))
then
log "logging/showing passed health checks"
else
log "showing passed health checks (but not logging)"
fi
else
log "not logging/showing passed health checks"
fi
# check PROCESS stanzas # check PROCESS stanzas
grep -i '^process' ${_CONFIG_FILE} 2>/dev/null |\ grep -i '^process' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=';' read _DUMMY _PROCESS _PROCESS_LIMIT _PROCESS_SOFT_THRESHOLD _PROCESS_HARD_THRESHOLD while IFS=';' read _DUMMY _PROCESS _PROCESS_LIMIT _PROCESS_SOFT_THRESHOLD _PROCESS_HARD_THRESHOLD