Panoptes::GRID and GRID::Launcher
Panoptes can run on a single host, but is designed to be able to be run on many hosts. It is able to deploy monitoring agents to remote machines over ssh using GRID::Machine. The only requirement on the remote host is that you can log in over ssh and execute perl 5. This can be done as any user--there is no requirement for root access. Additionally, if you want all agent messaging forwarded over SSH, the ssh server must allow port forwarding (listens only on localhost, this is generally enabled by default).
Note that this component is not yet fully functional!
Once the panoptes agent is installed on the remote machine using GRID::Launcher, it can quickly and efficiently monitor local events. For example, it can run the equivalent of 'tail -f' on log files, check system resources and services at regular intervals, etc.). Any interesting events that are observed can be processed by a local rules processor, sent back to the spawning process (the matriarch), or even potentially processed through intermediate agents.
The agents may continue to operate independently of the matriarch if the connection is lost. All events will be queued and delivered in order when the connection is re-established.
Note that GRID::Machine can only transfer pure perl libraries over ssh. So, the core monitoring libraries that are shipped with Panoptes::Monitor are all being implemented in pure perl. This allows you to run panoptes effective even on systems where the filesystems wiped on reboots (e.g. some hardware devices such as routers).
It is not necessary to use pure perl libraries in developing your own monitors, though, as long as you ensure that any such required modules are already installed on all the remote hosts where they will be activated.
Also, it is not a requirement that you use the GRID::Machine component to deploy your monitors to your hosts. You are welcome to manage the daemons and config separately on each host.
This module, formerly Panoptes::GRID has recently been renamed GRID::Launcher. It is also available on github, and should be available on CPAN in the near future.