我需要通过SNMP发送自定义数据,为此我使用Python中的一个脚本,它获取数据并对其进行解析。这是脚本的输出:
# ./SnmpGrafico.py
get
.1.3.6.1.4.1.2021.255.2.2.11471
.1.3.6.1.4.1.2021.255.2.2.11471
Counter64
57900010775
下面是我使用SNMP的输出,OID指向此脚本:
^{pr2}$以及SNMP配置:
pass_persist .1.3.6.1.4.1.2021.255 /usr/local/bin/python3.3 /testRRD/SnmpGrafico.py
为什么SNMP将Counter64解析为Counter32并丢失原始值?在本例中,原始值为“57900010775”和SNMP响应“4294967295”。在
谢谢!在
更新:
转储SNMP
[root@wsRRDint2 testRRD]# snmpget -v 2c -c cocacola 127.0.0.1 .1.3.6.1.4.1.2021.255.2.2.11471 -d
Sending 50 bytes to UDP: [127.0.0.1]:161
0000: 30 30 02 01 01 04 08 63 6F 63 61 63 6F 6C 61 A0 00.....cocacola.
0016: 21 02 04 7C A6 4B 26 02 01 00 02 01 00 30 13 30 !..|.K&......0.0
0032: 11 06 0D 2B 06 01 04 01 8F 65 81 7F 02 02 D9 4F ...+.....e.....O
0048: 05 00 ..
Received 55 bytes from UDP: [127.0.0.1]:161
0000: 30 35 02 01 01 04 08 63 6F 63 61 63 6F 6C 61 A2 05.....cocacola.
0016: 26 02 04 7C A6 4B 26 02 01 00 02 01 00 30 18 30 &..|.K&......0.0
0032: 16 06 0D 2B 06 01 04 01 8F 65 81 7F 02 02 D9 4F ...+.....e.....O
0048: 41 05 00 FF FF FF FF A......
UCD-SNMP-MIB::ucdavis.255.2.2.11471 = Counter32: 4294967295
[root@wsRRDint2 testRRD]#
最后几个字节确实显示
Counter32
,因为它的类型字节是0x41
。因此,NET-SNMP没有任何问题,您必须查看代理文档以进一步挖掘。在相关问题 更多 >
编程相关推荐