Improve utils and healthchecks

This commit is contained in:
Tobias Reisinger 2023-11-19 05:59:30 +01:00
parent ccf7f7a598
commit ac40d18f67
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
4 changed files with 33 additions and 14 deletions

View file

@ -24,3 +24,9 @@ lego -a --email "tobias@msrg.cc" \
--dns "acme-dns" \
--domains "$domain" \
"$action"
# Copy registry.serguzim.me files to harbor data directory
if [ "$domain" = "registry.serguzim.me" ]; then
sudo cp "$LEGO_WORKING_PATH/certificates/registry.serguzim.me.crt" /opt/services/harbor/data/secret/cert/server.crt
sudo cp "$LEGO_WORKING_PATH/certificates/registry.serguzim.me.key" /opt/services/harbor/data/secret/cert/server.key
fi

View file

@ -1,24 +1,29 @@
#!/usr/bin/sh
set -e
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"
echo "checking url $url ..."
url="https://$1$2"
printf "checking url %s ." "$url"
dig A "$1" >/dev/null
if curl_hc -sSf "$url" >/dev/null 2>&1
printf "."
result=$(curl -LsSfv "$url" 2>&1)
code="$?"
printf ".\n"
#shellcheck disable=SC2181
if [ "$code" = "0" ]
then
echo "... good"
else
result=$(curl -Lv "$url" 2>&1)
error=$(printf "%s\n==========\n%s:\n%s" "$error" "$url" "$result")
services_down=$(printf "%s\n%s" "$services_down" "$1")
error=$(printf "%s\n==========\n%s:\n%s" "$error" "$1" "$result")
echo "... bad"
fi
}
@ -26,14 +31,14 @@ check_url ()
check_url "analytics.serguzim.me"
check_url "auth.serguzim.me"
check_url "ci.serguzim.me"
check_url "cloud.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 "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"
@ -42,7 +47,8 @@ check_url "www.reitanlage-oranienburg.de"
if [ "$error" = "" ]
then
curl_hc "$hc_url"
curl_hc "$hc_url" >/dev/null
echo "ALL GOOD"
else
curl_hc --data-raw "$error" "$hc_url/fail"
curl_hc --data-raw "$services_down$error" "$hc_url/fail" >/dev/null
fi

View file

@ -1,9 +1,17 @@
#!/usr/bin/sh
set -e
cd /opt/ || exit
hc_url="https://hc-ping.com/$MAIL_HC_UID"
alias curl_hc='curl -LA "$USER_AGENT" --retry 3'
envsubst < template.msmtprc > /tmp/msmtprc
envsubst < mailcheck.template.mail > /tmp/mailcheck.mail
msmtp -C /tmp/msmtprc -a default "$MAIL_HC_UID@hc-ping.com" < /tmp/mailcheck.mail
result=$(msmtp -C /tmp/msmtprc -a default "$MAIL_HC_UID@hc-ping.com" < /tmp/mailcheck.mail 2>&1)
if [ "$?" != "0" ]
then
echo "$result"
curl_hc --data-raw "$result" "$hc_url/fail" >/dev/null
fi

View file

@ -46,7 +46,6 @@ async def main():
send_ping(False)
sys.exit(1)
requests.get(url=healthcheck_url)
send_ping(True)
sys.exit(0)