[Twisted-Python] twisted pysnmp status

Phil Mayers p.mayers at imperial.ac.uk
Thu Mar 29 05:27:25 EDT 2007


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.




More information about the Twisted-Python mailing list