A monitoring script that is good enough
Prometheus plus Grafana is heavy for a small project, but no monitoring at all is worse.
while true; do
code=$(curl -s -o /dev/null -w '%{http_code}' --max-time 10 https://example.com/healthz)
if [ "$code" != "200" ]; then
echo "$(date -Is) fail $code" >> /var/log/probe.log
fi
sleep 60
done
Probe a real health endpoint, not the homepage — a cached page can return 200 while the app is dead. Keep the timeout shorter than the interval. Alert after three consecutive failures so a single blip does not page anyone.
Send alerts through something you already read: a Telegram bot, mail, or a webhook. What matters is that a human sees it.