We use Cacti for this purpose, but it still requires creating custom datasources for the vendor-specific SNMP MIBs.
+1 for cacti.I think pretty much everything requires bringing in the mibs and setting up mappings etc.
I've used Nagios/Cacti/Ganglia/MRTG.