Files
VSC/Icinga2/Monitoring/008 - Site contact/site_contact.sh
T
claudio 368d6fafea Issue
Code backup
2026-05-10 16:59:01 +02:00

74 lines
1.3 KiB
Bash

#!/bin/bash
# - State Variables
STATE_OK=0
STATE_WARN=1
STATE_CRIT=2
STATE_UNK=3
STATE=$STATE_OK
CURL_RETURN_CODE=0
Main(){
SITE="${PROTOCOL}://${URL}"
if [ ! -z $PORT ]; then
SITE+=":${PORT}"
fi
if [ ! -z $SUBDIRECTORY ]; then
SITE+="/${SUBDIRECTORY}"
fi
if [ -z $USR ]; then
CURL_OUTPUT="$(curl -s -k -w '\n%{http_code}' -m 100 --url $SITE | tail -n 1)"
else
CREDENTIAL="${USR}:${PSW}"
CURL_OUTPUT="$(curl -s -k -w '\n%{http_code}' -m 100 --ntlm --user $CREDENTIAL --url $SITE | tail -n 1)"
fi
if [ ${CURL_OUTPUT} -ne 200 ]; then
echo "Curl operation/command failed due to server return code - ${CURL_OUTPUT}"
STATE=$STATE_CRIT
else
echo "Connection success"
fi
}
while test -n "$1"; do
case "$1" in
--protocol | -p)
PROTOCOL=$2
shift ;;
--url | -u)
URL=$2
shift ;;
--user | -usr)
USR=$2
shift ;;
--password | -psw)
PSW=$2
shift;;
--port )
PORT=$2
shift;;
--subdirectory )
SUBDIRECTORY=$2
shift;;
*)
echo "Unknown argument: $1"
exit $STATE_UNK ;;
esac
shift
done
Main
exit $STATE