node health

Brett Hoerner bh at bretthoerner.com
Tue Oct 16 20:03:25 UTC 2007


On Oct 16, 2007, at Oct16, 2:22:36PM, J Davis wrote:
> Is there any way to add additional tests so that, for instance, a  
> nodes DB connectivity might be verified by checking the content of  
> an http request?

I don't know of a way to do this through normal configuration or  
plugins, but you could check out BackendHTTP.pm, the functions  
event_write and event_read_waiting_options are the ones that  
currently deal with the OPTIONS check.  You could modify it hit a  
specific URI with a GET, instead... and then check for some magical  
"We're all good" in the headers, I guess.  Keep in mind that the  
OPTIONS check is currently when you first get a request (afaik), and  
it's assumed to be very fast.  If your DB check takes a while it  
could block the first unlucky user's request... if I'm reading it  
correctly.  Just sort of stabbing here, I'm not a Perlbal pro.  I'm  
sure you're better off with the next option.

> If not, is this something that might be accomplished using a  
> secondary app to monitor the nodes and update Perlbal on the fly?

Sure, your app (daemon or cron, whatever) could check your server for  
connectivity then either ADD/REMOVE servers from a POOL via the  
telnet management port, or change a nodelist file (which Perlbal will  
eventually re-read).

Brett


More information about the perlbal mailing list