我必须通过一些支持SNMP的网络打印机来收集一些OID,并使用我一直在研究的BASH脚本。SNMP OUTPUT OPTIONS - 如何获得OID响应值?
我的要求:
snmpget -v2c -c public 192.168.0.77
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.2
我的实际响应:
.1.3.6.1.2.1.1.1 = Counter32: 1974
.1.3.6.1.2.1.1.2 = Counter32: 633940
所需的响应:
1974
633940314
(只是OID唯一值)
我看了看,测试了几个选项■使用的资源从下面的网站:
http://www.netsnmp.org/docs/man/snmpcmd.html#lbAF
-Oq
移除了 '=',所以运行
snmpget -v2c -c public -Oq 10.15.105.133
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.2
回报
.1.3.6.1.2.1.1.1 Counter32: 1974
.1.3.6.1.2.1.1.2 Counter 32: 633940314
,所以我知道我在正确的措辞我的要求。
我正在将值写入MYSQL dB,我在我的故事模式中设置了数据类型,请求是一致的,因此我知道OID的定义,所以我不需要所有的信息回来,只是OID本身的价值,所以我可以把它写到我的dB而不用操纵响应。我可能可以操纵将信息拉到“:”右侧并写入OID值的响应。
我是比较新的SNMP(http://www.net-snmp.org/),但我不明白为什么这不是更常见的问题,因为我一直在回答到处寻找和这个职位是我的最后手段...
您是否在示例中删除了“实际响应”中的几位数字?这与讨论的其余部分不匹配。 – tripleee 2015-04-01 09:25:44
不确定这是一个编程问题。不过,其中一个答案是编程答案。 =) – Jolta 2015-04-13 11:55:10