I've used Nagios and OpenNMS in the past, still using OpenNMS for my personal network. Either would probably be capable of handling your needs -- although aside from the fact you need to monitor a network, we know nothing about your requirements. They do well. I found OpenNMS to be easier between the two to set up. Both perform well. You'd have to have some unusual requirements for either one of those options to not meet your needs. I've never used Cacti, can't comment on it.
My OpenNMS service runs on a Amazon VM, and monitors through an OpenVPN tunnel to my Vyatta firewall. It sends me alerts via SMS which are relayed by a Google email account that receives emails from the VM. I know within a few minutes when something goes down. heh. I didn't have that many devices to monitor, so I included my Roku. I can reboot it about half the time without getting alerts about it being down. The service monitor for the Roku only pings, and cycles through to failure rather quickly -- don't recall what it is, but I would guess it has to be on a minute cycle, which goes down when the first attempt isn't returned. The reason I mention it being external is that if your OpenNMS instance is internal, and you don't have a backup circuit, it can't alert you if your connection drops.
You can use some fairly basic hardware to test with either. Install it on something that meets the minimum hardware recommended by the software, and see what you think.
You'll also want to know a bit about SNMP. Read up on it.
Sooo...what do you need to monitor?
Last edited by devwatchdog; 05-03-2013 at 10:36 PM.