Nagios is the obvious choice, I think it's a horrible bag of nuts and bolts and wouldn't ever choose to use it, but it can do pretty much anything adjust as long as your prepared to code it completely yourself.
I'm a huge fan of Splunk though, which could function on a free license if you want. It's uniquely (?) based about a logging backbone. Just log stuff, somehow, and make sense of the data later rather than doing ping probes and the likes.
For a small - mid level commercial product I was always keen on ManageEngien products, but haven't corssed paths with it for about 6 years now.
OpenNMS, hyperic and groundwork all fall much closer to Zenoss, those 4 seem to be broadly interchangeable in most ways.