[Twisted-Python] twisted pysnmp status
Phil Mayers
p.mayers at imperial.ac.uk
Thu Mar 29 03:27:25 MDT 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