Build precise queries to find exactly what you need
Press ESC to close
Your review has been submitted and is pending approval.
Simple bash script using curl to check a website. It works on HTTP and HTTPS. Requirement: curl Usage ./check_http.sh Example: ./check_http.sh 'http://oglobo.globo.com' oglobo 1 OK - Site oglobo.globo.com key oglobo time 0.019 |'time'=0.019s;1
Current Version
1.0
Last Release Date
2013-09-01
Owner
felipeferreira
Website
http://felipeferreira.net
Download URL
http://felipeferreira.net/?p=1458
Compatible With
#!/bin/bash #Verificar um HTTPS #Felipe Ferreira set 2013
URL=$1 KEY=$2 CRIT=$3 http_proxy=""
DEBUG=
if [ -z $CRIT ]; then echo "Usage $0 <URL> <KEYWORD> <TIMEOUT>" exit 3 fi
TC=`echo ${URL} | awk -F. '{print $1}' |awk -F/ '{print $NF}'` TMP="/tmp/check_http_sh_${TC}.tmp"
CMD_TIME="curl -k --location --no-buffer --silent --output ${TMP} -w %{time_connect}:%{time_starttransfer}:%{time_total} '${URL}'" TIME=`eval $CMD_TIME`
if [ -f $TMP ]; then RESULT=`grep -c $KEY $TMP` else echo "UNKOWN - Could not create tmp file $TMP" # exit 3 fi
TIMETOT=`echo $TIME | gawk -F: '{ print $3 }'`
if [ ! -z $DEBUG ]; then echo "CMD_TIME: $CMD_TIME" echo "NUMBER OF $KEY FOUNDS: $RESULT" echo "TIMES: $TIME" echo "TIME TOTAL: $TIMETOT" echo "TMP: $TMP" ls $TMP fi
rm -f $TMP
SURL=`echo $URL | cut -d "/" -f3-4`
MSGOK="Site $SURL key $KEY time $TIMETOT |'time'=${TIMETOT}s;${CRIT}" MSGKO="Site $SURL has problems, time $TIMETOT |'time'=${TIMETOT}s;${CRIT}"
#PERFDATA HOWTO 'label'=value[UOM];[warn];[crit];[min];[max]
if [ "$RESULT" -ge "1" ] && [ $(echo "$TIMETOT < $CRIT"|bc) -eq 1 ]; then echo "OK - $MSGOK" exit 0 else echo "CRITICAL - $MSGKO" exit 2 fi
I recommend making a modification to to enclose $KEY in quotes in the line containing RESULT=`grep -c $KEY $TMP` so that multiple word keys separated by spaces can be used.
You must be logged in to submit a review.
To:
From: