File: log_traps.rb

package info (click to toggle)
libsnmp-ruby 1.0.1-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,428 kB
  • ctags: 573
  • sloc: ruby: 3,743; makefile: 40; sh: 23
file content (23 lines) | stat: -rw-r--r-- 532 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require 'snmp'
require 'logger'

def format_v1_trap(trap)
    "Trap #{trap.generic_trap} from #{trap.source_ip}"
end

def format_v2c_trap(trap)
    "Trap #{trap.trap_oid} from #{trap.source_ip}"
end

log = Logger.new(STDOUT)
m = SNMP::TrapManager.new(:Port => 1062) do |manager|
    manager.on_trap_v1 do |trap|
        log.info format_v1_trap(trap)
    end
    manager.on_trap_v2c do |trap|
        log.info format_v2c_trap(trap)
    end
    log.info "Logging started"
end
trap("INT") { log.info "Logging stopped"; m.exit }
m.join