Hi Dohn,
This actually sounds exactly what I want to achieve! Please let us know you're releasing it. I'm sure I'm not the only one that would fin it useful!
David
I've written an EPICS record for doing something similar. Every ten seconds (or whatever the SCAN rate it), it sends a UDP packet to a specified address and port. This packet contains a heartbeat counter, boot time (recorded at record initialization, used as unique incarnation identifier), current time, and IOC name. The IP address is gotten from the packet itself. On the remote server, the UDP packets are collected by a daemon into a database to monitor the IOCs.
The record is running on over 40 beamline IOCs here at the APS (about half of what is planned). I plan on releasing this record and support code soon, but am still refining a few things (there are a few more features I didn't describe).
Dohn