1 local snmp
= require
"snmp"
4 local logging
= require
"logging.console"
6 local log = logging
.console("%message")
8 local info
= function(fmt
, ...) log:info(string.format(fmt
.."\n", unpack(arg
))) end
9 local debug
= function(fmt
, ...) log:debug(string.format(fmt
.."\n", unpack(arg
))) end
11 info("Initialising SNMP")
12 if snmp
.gettrapd() == "straps" then
13 local err
= snmp
.inittrap("straps")
16 info("Support for `%s' has been selected", snmp
.gettrapd())
19 local function inform_cb(vlist
, ip
, session
)
20 debug(" DEFAULT INFORM CALLBACK: inform sent by : "..ip
)
21 for _
,vb
in ipairs(vlist
) do
22 debug(" %s", snmp
.sprintvar(vb
))
26 local function trap_cb(vlist
, ip
, host
, session
)
27 debug(" DEFAULT TRAP CALLBACK: trap sent by :%s (%s)", host
, ip
)
28 for _
,vb
in ipairs(vlist
) do
29 debug(" %s", session
.sprintvar(vb
))
35 local sess
, err
= snmp
.open
{
36 community
= "private",
38 version
= snmp
.SNMPv2C
,
44 --os.execute("snmpinform -v 2c -c public localhost 3 0 sysName.0 s 'hello'")