This is what I do. I ran into issues with monitoring too many services so I switched to a hybrid approach. I run an instance in my server that check the status of all my services and a separate instance in Fly.io that checks the status of my local UptimeKuma install
I’m also using Dozzle and it’s been great for semi realtime use. I occasionally think about something for longer term logs but haven’t yet had the motivation.