diff -r ee5d6abf600e -r d10e9db3fb24 bin/pvl.switches-traps --- /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) +