Tag: snmp

正确嵌套Rediscallback

我正在写一个node.js程序接收snmp陷阱并将它们存储在redis散列数据库中。 我没有在Node.js编程很久,我不认为我完全理解我的代码是如何执行的。 我觉得我的一些redis调用在其他调用之前完成,这就是为什么我试图在callback函数中嵌套一切,但是我担心我没有按照正确的方式来执行。 我的输出看起来就像我正在接近我想要达到的目标,但是还有一些随机的问题,比如我的Generation#为1,我接收到第一个陷阱,然后是11或111。 我所做的就是在整数上执行redis client.incr函数。 简单而简单地说,我使用了两个哈希键来跟踪我收到的当前和过去的陷阱。 我跟踪两个数字生成和散列号作为单独的整数键值,并根据需要增加它们。 这两个数字用于创build和访问当前和过去的陷阱哈希值。 这是我的代码。 function alarmCheck (key, field, value, alarmType, ipAddress) { var historyKey = "History:"+key; //var generationNumber; //var numberInHash; client.get(ipAddress+":"+field+":Gen", function (err, rep) { //generationNumber = rep; var generationNumber = rep; console.log("The Gen: "+rep); client.get(ipAddress+":"+field+":Field", function (err, reply) { var numberInHash = reply; //numberInHash = reply; console.log("The Field: […]

如何迭代SNMP设备中的对象,并使用预定义规则创build可读输出

我有一个SNMP设备以下的JSON: mib = [ "1.3.6.1.2.1.43.11.1": { "1.1": { "3": "1", "5": "3", "6": "Cyan Toner Cartridge, WorkCentre 6505N", "8": "2000", "9": "800" }, "1.2": { "3": "2", "5": "3", "6": "Magenta Toner Cartridge, WorkCentre 6505N", "8": "1000", "9": "400" }, "1.5": { "3": "0", "5": "9", "6": "Imaging Unit, WorkCentre 6505N", "8": "24000", "9": "24000" […]

处理snmp陷阱并使用节点js在本地主机上通知

我正在尝试侦听标准UDP 162端口上的snmp陷阱,然后parsing并输出它们。 我已经查看了snmpjs和snmp本地插件的节点,他们似乎主要代理人的一代。 我想要做的是听取和解码陷阱和通知,转发到我的本地主机(甚至可能承认通知)。 我知道我可以用dgram和ASN.1BER花很多时间,但是宁愿使用已经写好的snmp代码。 var dgram = require('dgram'); //var snmp = require('snmpjs'); var snmp = require('snmp-native'); var server = dgram.createSocket("udp4"); server.on("listening", function() { var addr = server.address(); console.log("Server listening "+ addr.address + ":" + addr.port); }); server.on("message", function (msg, rinfo) { console.log("From " + rinfo.address + ":" + rinfo.port); console.log("server got: " + msg); […]

Cloud9和snmpjs

我目前正在尝试获取c9.io开发环境中的node.js库node-snmpjs的基本示例代码。 示例代码在这里: https://github.com/wesolows/node-snmpjs或 https://npmjs.org/package/snmpjs var os = require('os'); var snmp = require('snmpjs'); var logger = require('bunyan'); var log = new logger({ name: 'snmpd', level: 'info' }); var agent = snmp.createAgent({ log: log }); agent.request({ oid: '.1.3.6.1.2.1.1.5', handler: function (prq) { console.log("Request received"); var nodename = os.hostname(); var val = snmp.data.createData({ type: 'OctetString', value: nodename }); […]