I just finished setting up a function using RM (http GET) and SmartThings webCoRE running in the ST cloud to get a heartbeat function for my hub. Basically, every 5 minutes I send an HTTP GET request, using RM, to the ST cloud. In the ST cloud (no need to have the hub plugged in) I have a set of webCoRE pistons that respond to the request and within 5 minutes of not getting a request it will notify me that my HE has gone office (either locked up or lost internet). It took me a bit to get it working but also, it still relies on ST to get me a notification. Obviously, I didn't want to run anything on my local network, since in the event of my internet going down, I wouldn't get a notification. And I got to wondering...we have some really smart people out there. I wonder what some of them have some up with to get their hub's status. Haven't heard whether the new app will have the functionality (or if it will ever come out). So, didn't want to keep waiting for that.
I still use SmartThings to run a wall mounted Wink Relay to display an ActionTiles panel I use to monitor my Hubitat and ST devices. If the panel isn't responding, its a good indication that something is up with the ST cloud but I wanted some reassurance that HE was still plugging away. So I have a virtual switch displayed in bright orange on panel "Waiting for Hubitat Response" along with an SmartThings piston that turns it 'on' periodically. The state of this switch is used in a triggered rule on Hubitat (via Hub Link) which changes the state of a HE virtual switch "Perform Check-in" that is reflected back to SmartThings (via OtherHub). That in turn is used to trigger a 'turn off' of the "Waiting" indicator. If I'm walking past the panel I might see it on momentarily; if it stays on I know something has run amok somewhere. Of course if SmartThings dies, so does the canary in the coal mine, so to speak.
One of the reason I want to move away from ST for mine. Now, I mine doesn't rely on having a hub though (or an internet connection) so I eliminate some of that trouble. But I don't know enough about coding to write some type of program that would run in something like AWS and do the same function. Sounds like yours is similar in design principles to mine just different in the details. Great minds think alike!