Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # flip hess november 2011 [email protected]
- # nagios check 200 days uptime KVM bug
- # Variables
- PATH='/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin'
- SCRIPT_PATH="${0}"
- DATE="$(date '+%Y%m%d-%H%M')"
- STATE_OK="0"
- STATE_WARNING="1"
- STATE_CRITICAL="2"
- STATE_UNKNOWN="3"
- # Functions:
- # The main function.
- function fCheck()
- {
- # check if arguments are valid:
- [ ! -z ${WARN} ] || { fShowUsage ; exit "${STATE_UNKNOWN}"; }
- [ ! -z ${CRIT} ] || { fShowUsage ; exit "${STATE_UNKNOWN}"; }
- # get info
- UPTIME="$( cat /proc/uptime )"
- SECS="$( echo "${UPTIME}" | awk '{print $1}' | cut -d. -f1 )"
- IDLE="$( echo "${UPTIME}" | awk '{print $2}' | cut -d. -f1 )s"
- MINS="$(( ${SECS} / 60 ))"
- HRS="$(( ${MINS} / 60 ))"
- DAYS="$(( ${HRS} / 24 ))"
- # make results
- if [ "${DAYS}" != 0 ] ; then
- if [ ${DAYS} -lt ${WARN} ]; then
- { echo -e "OKAY: Up: ${DAYS} days, Warn: ${WARN} days, Crit: ${CRIT} days | 'UP'=${DAYS};${WARN};${CRIT};1;200 'CPU-idle'=${IDLE};;;;;" ; exit ${STATE_OK}; }
- elif [ ${DAYS} -gt ${WARN} ] && [ ${DAYS} -le ${CRIT} ]; then
- { echo -e "WARNING: Up: ${DAYS} days, Warn: ${WARN} days, Crit: ${CRIT} days | 'UP'=${DAYS};${WARN};${CRIT};1;200 'CPU-idle'=${IDLE};;;;;" ; exit ${STATE_WARNING}; }
- elif [ ${DAYS} -gt ${CRIT} ] ; then
- { echo -e "CRITICAL: Up: ${DAYS} days, Warn: ${WARN} days, Crit: ${CRIT} days | 'UP'=${DAYS};${WARN};${CRIT};1;200 'CPU-idle'=${IDLE};;;;;" ; exit ${STATE_CRITICAL}; }
- fi
- else
- { echo -e "OK - System uptime less than a day! - KVM bug = 200 days | 'UP'=${DAYS};${WARN};${CRIT};1;200 'CPU-idle'=${IDLE};;;;;" ; exit ${STATE_OK}; }
- fi
- }
- # The main function.
- function fMain()
- {
- #get options and set vars
- while getopts "w:c:v" OPTION ; do
- case ${OPTION} in
- w) WARN="${OPTARG}";;
- c) CRIT="${OPTARG}";;
- h) fShowUsage;;
- ?) fShowUsage;;
- esac
- done
- # trap de check af
- fCheck
- }
- # Shows usage.
- function fShowUsage()
- {
- echo "Usage: ${SCRIPT_PATH} [ -w WARNING ] [ -c CRITICAL ] [ -h ]"
- echo "Check Max Linux uptime with NRPE - [email protected] 2012-07"
- return 0
- }
- # Start the program:
- fMain "${@}"
Advertisement
Add Comment
Please, Sign In to add comment