53 lines
1.3 KiB
Bash
Executable file
53 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/sh
|
|
|
|
cd /opt/ || exit
|
|
|
|
hc_url="https://hc-ping.com/$HTTP_HC_UID"
|
|
services_down=""
|
|
error=""
|
|
|
|
alias curl_hc='curl -LA "$USER_AGENT" --retry 3'
|
|
|
|
check_url ()
|
|
{
|
|
url="https://$1$2"
|
|
printf "checking url %s ." "$url"
|
|
dig A "$1" >/dev/null
|
|
printf "."
|
|
result=$(curl -LsSfv --connect-timeout 30 --retry 3 "$url" 2>&1)
|
|
code="$?"
|
|
printf ".\n"
|
|
#shellcheck disable=SC2181
|
|
if [ "$code" = "0" ]
|
|
then
|
|
echo "... good"
|
|
else
|
|
services_down=$(printf "%s\n%s" "$services_down" "$1")
|
|
error=$(printf "%s\n==========\n%s:\n%s" "$error" "$1" "$result")
|
|
echo "... bad"
|
|
fi
|
|
}
|
|
|
|
#check_url "acme.serguzim.me" "/health"
|
|
check_url "analytics.serguzim.me"
|
|
check_url "auth.serguzim.me"
|
|
check_url "ci.serguzim.me"
|
|
#check_url "cloud.serguzim.me" "/login?noredir=1"
|
|
check_url "git.serguzim.me"
|
|
check_url "hook.serguzim.me"
|
|
check_url "mail.serguzim.me"
|
|
#check_url "msrg.cc" # disabled because it keeps creating false alerts
|
|
check_url "rss.serguzim.me"
|
|
#check_url "serguzim.me" # disabled because it keeps creating false alerts
|
|
check_url "status.serguzim.me" "/status/serguzim-net"
|
|
check_url "tick.serguzim.me"
|
|
check_url "wiki.serguzim.me"
|
|
check_url "www.reitanlage-oranienburg.de"
|
|
|
|
if [ "$error" = "" ]
|
|
then
|
|
curl_hc "$hc_url" >/dev/null
|
|
echo "ALL GOOD"
|
|
else
|
|
curl_hc --data-raw "$services_down$error" "$hc_url/fail" >/dev/null
|
|
fi
|