Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # nagios check vbulleting visitors and guests
- # dit script checkt de bezoekers op vbulleting forums dmv online.php
- # flip hess April 2012 [email protected]
- # Variables
- PATH='/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin'
- SCRIPT_PATH="${0}"
- HOST="${1}"
- URL="http://forums.yourwebsite.com/online.php"
- STATE_OK="0"
- STATE_WARNING="1"
- STATE_CRITICAL="2"
- STATE_UNKNOWN="3"
- # Functions:
- # The main function.
- function fMain()
- {
- # Check whether sufficient arguments are given:
- [ ${#} = 0 ] || { fShowUsage ; exit "${STATE_UNKNOWN}"; }
- # this script depends on wget
- [ -x /usr/bin/curl ] || { echo "This scripts depends on curl, install it by using \"sudo apt-get install curl\"" ; exit "${STATE_UNKNOWN}"; }
- # get info
- curl -s ${URL} > /tmp/wus-online || { echo "Failed to curl ${URL}." ; exit "${STATE_UNKNOWN}"; }
- # get totals
- INFO="$( cat /tmp/wus-online | grep -E '<h1>[ 0-9 ]+\ members\ and\ [ 0-9 ]+\ guests<\/h1\>' | sed -e 's/<h1>//' -e 's/<\/h1>//' -e 's/\t//' -e 's/and\ //' )"
- MAX="$( cat /tmp/wus-online |grep 'Most users ever online was' | awk '{print $7}' | tr -d "," )"
- MEMBERS="$( echo "${INFO}" | awk '{print $1}' )" || { echo "Failed to determine logged in members on forums.yourwebsite.com" ; exit "${STATE_UNKNOWN}"; }
- GUESTS="$( echo "${INFO}" | awk '{print $3}' )" || { echo "Failed to determine guest visitors on forums.yourwebsite.com" ; exit "${STATE_UNKNOWN}"; }
- TOTAL="$(( ${GUESTS} + ${MEMBERS} ))" || { echo "Failed to determine total visitors on forums.yourwebsite.com" ; exit "${STATE_UNKNOWN}"; }
- # make results
- echo -e "Okay: ${MEMBERS} members and ${GUESTS} guests Online on forums.yourwebsite.com | 'members'=${MEMBERS} 'guests'=${GUESTS} 'total'=${TOTAL};;;;${MAX} "
- exit "${STATE_OK}"
- }
- # Shows usage.
- function fShowUsage()
- {
- echo "Usage: ${SCRIPT_PATH}"
- return 0
- }
- # Start the program:
- fMain "${@}"
- # Exit with previous return code:
- exit "${?}"
Advertisement
Add Comment
Please, Sign In to add comment