User:Narc/Host Monitor System
From NarcWiki
So, I'm thinking a setup like this:
- (The control) Node: summarizes the uptime reports it receives
- Leaf: reports uptime for a host
Now, the tricky parts:
- the Node needs to be able to ping its known Leaves, therefore it needs to keep a list of known Nodes
- from the above, we discern a second need for Nodes to be listening for requests for information
- but similarly, we don't want to poke more holes in more systems than we need to, so let's make this a TCP stream-based system, whereby Leaves connect to the Node and keep their connections active, periodically sending reports
- ideally, this should be done with an asynchronous, event-driven approach whereby the node wouldn't eat CPU polling its sockets repeatedly, waiting for data to come through... but it can perfectly well be done with stream_select and the like instead. Need to see what PHP is capable of.