You could use Thing Status Reporting [4.0.0.0;4.9.9.9] which will react immediately when a Thing goes OFFLINE instead of polling on the REST API. It’s simpler to implement too as the Thing status change is handled for you and all you need to do is process the change.
I have a two tiered monitoring system. But I also run a home lab with OH being just one among many services that I want to keep track of.
Tier 1: OH monitors home automation relevant devices and services using the rule template I linked to above, and the Network binding, and Threshold Alert and Open Reminder [4.0.0.0;4.9.9.9] configured to alert when a sensor that normally reports updated relatively frequently stops updating the Item.
I used the semantic model and each equipment has a “Status” Item which gets set to OFF
if any of the above checks indicate that the device has gone offline. I use an alerting rule and Service Status Standalone Widget on my MainUI page to keep track of when something goes offline. But importantly I have rules that will do something differently based on whether the needed services are online or not using that status Item (e.g. if I try to open the garage door but the garage door controller is offline I’ll generate an alert to give feedback so the users knows why the door isn’t opening.
Tier 2: I use Zabbix to monitor the overall health and status of all my machines and services. Zabbix sends me emails when there’s a problem (e.g. service is down, RAM is running out, disk space is low, etc.). If OH itself ever goes offline I’ll know about it from Zabbix.
About the only thing I can’t get alerts on is when Internet overall goes offline, but I get alerts from Nest, Residio, and other sources when that happens so I don’t feel the need to host Zabbix on a VSP off premisis.