Any of the tables where the VM is expected to write logs regularly can be used. For example event, perf, heartbeat, etc. You would see a drop in data collection when the system is hung or offline.
Heartbeat
| summarize arg_max(TimeGenerated, *) by Computer
| where TimeGenerated < ago(15m)
Thank you all for the great support guys. I will try all suggestions and pick the one best suits to our environment.