I think your idea of using a direct socket connection is the best. It is not that hard to find examples of creating a socket connection between 2 machines. It is just a client-server pair, 2 programs, one sends and one receives; and the socket is just like a "filehandle" which you "read from" or "write to". Just have the "machine being monitored" write a timestamped line to a file on the "monitoring machine", and have a daemon sitting on the monitoring machine watching those timestamped lines come in. If a line is late, notify the technician.
I think that would be the most reliable solution.
I'm not really a human, but I play one on earth.
flash japh