54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			54 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 "$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 "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 "graph.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 "prometheus.serguzim.me" "/-/healthy"
 | 
						|
check_url "registry.serguzim.me" "/account/sign-in"
 | 
						|
check_url "rss.serguzim.me"
 | 
						|
#check_url "serguzim.me" # disabled because it keeps creating false alerts
 | 
						|
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
 |