rendered paste body#!/bin/shHOST=$1EXPECTED_ARGS=1if [ $# -ne $EXPECTED_ARGS ]then echo "Usage: $(basename $0) HOST" >&2 exit 1fi# Request dataURL="https://$HOST/heartbeat-server/heartbeat"POSTDATA='webserver=Apache&activityRate=2&javaVersion=1.6.0_15&isheartbeatactive=Y&osVersion=2.6.30-gentoo-r5&codeRevision=257a5cc71d5f%2B&webserverVersion=2.2.11&proxyServer=&numRegisteredUsers=6&dbVersion=8.3.8&antVersion=1.7.1&servletContainerVersion=6.0.18&servletContainer=Apache+Tomcat&os=Linux&obInstallMode=From+Sources&obVersion=2.50.14827dev&complexityRate=3&proxyPort=&isproxyrequired=N&systemIdentifier=0&db=POSTGRE&beatType=E'# Posible return values# Success: in the form of "[recordId=UUID". This means the request has been# successful. Or empty result.# Errors: captured errors like HTTP 500, HTTP 503, etc.ERRORS='400 401 403 404 408 500 503'BEATPATTERN='^\[recordId=[0-9ABCDEF]{32}\]'RESULT=$(curl -k -s --max-time 10 --connect-timeout 10 -d $POSTDATA $URL)RET=$?if [ $RET -ne 0 ]; then echo "CRITICAL: no response" exit 1fiERRCODE=$(echo $RESULT | sed 's|.*<title>\([^<>]*\)</title>.*|\1|g' | awk '$1 ~ /^[0-9]*$/ {print $1}')# Check error codesif [ -n "$ERRCODE" ]; then for ERROR in $ERRORS; do if [ $ERROR -eq $ERRCODE ]; then echo "CRITICAL: error $ERROR" exit 1 fi done# Verify valid responseelif [ -n "$(echo $RESULT | grep -E $BEATPATTERN)" ] || [ -z "$RESULT" ]; then echo "OK: beat sent" exit 0# Unknown, raise a warningelse echo "WARNING: unknown response" exit 2fi