I uased iReasning snmp (http://www.ireasoning.com/products.shtml) in a
project. It's commercial, but performance was unbelievably good! We had
a network of some 5000 nodes and had to collect snmp info every 5
minutes. The only tricky part was firing 5000 threads to collect those
data! Also, we used jRobin to draw nice monitoring graphs and such
based on the snmp data.