--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/pvl.switches-traps Sat Jan 03 20:18:23 2015 +0200
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+
+import pvl.args
+import pvl.hosts
+import pvl.snmp.traps
+import pvl.syslog.args
+
+import collections
+import logging; log = logging.getLogger('pvl.switches-traps')
+import optparse
+
+
+def main (argv) :
+ """
+ Process SNMP traps from snmptrapd.
+ """
+
+ parser = optparse.OptionParser(main.__doc__)
+ parser.add_option_group(pvl.args.parser(parser))
+ parser.add_option_group(pvl.hosts.optparser(parser))
+ parser.add_option_group(pvl.syslog.args.parser(parser))
+
+ # input
+ options, args = parser.parse_args(argv[1:])
+ pvl.args.apply(options)
+
+ # syslog source
+ syslog = pvl.syslog.args.apply(options)
+
+ # XXX: associate with host data
+ #hosts = pvl.hosts.apply(options, args)
+
+ # main
+ for item in syslog:
+ host, values = pvl.snmp.traps.parse_snmptrapd_log(item['msg'])
+
+ print '{}'.format(host)
+
+ for field, value in values.iteritems():
+ print '\t{:55} {}'.format(field, value)
+
+ print
+
+ return 0
+
+if __name__ == '__main__':
+ pvl.args.main(main)
+