Brendan Simon wrote:
Hi,
I just wanted to know what the latest status is with twisted and pysnmp. Is pysnmp 4.x supported? Is full SNMPv3 supported? What is the roadmap and/or plans for twisted and pysnmp ???
I want to write and SNMPv3 GUI manager in python :) I'm not sure if the complexity and dependency of twisted is worth the effort? Then again on the other hand it may provide lots of things I
It is. Although I don't use the pysnmp library, I do use Twisted for a large SNMP polling application (~1200 nodes). It goes much faster than anything else I've tried, with the possible exception of a custom event loop I wrote ages ago that's virtually unmaintainable and has all sorts of magic values. One thing you might want to investigate is forking off N child processes which are simple 2-protocol bridges - they listen on Perspective Broker for high-level RPC calls such as "GetSnmpTable(base, cols)" and execute SNMP walks. I've found this can overcome some scalability issues with very large numbers of clients on a single UDP socket. The problem is emptying the UDP socket buffer fast enough - you have to yield back into the reactor ASAP, and any code you execute should be behind a reactor.callLater(0, handler). It also gives you multiprocessor speedups, *and* you can trivially move those processes elsewhere later on e.g. if you're monitoring boxes down the end of a WAN link, put one process down there. Then the large numbers of SNMP packets don't have to flow over the WAN, just the PB link which is flow-controlled TCP sending tiny request/result PDUs.