0

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

このスクリプトを指すOIDでSNMPを使用した私の出力は次のとおりです。

# snmpget -v 2c -c cocacola 127.0.0.1 .1.3.6.1.4.1.2021.255.2.2.11471
UCD-SNMP-MIB::ucdavis.255.2.2.11471 = Counter32: 4294967295

そして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]#
4

1 に答える 1

1

Counter32最後の数バイトは、その型バイトが であるため、実際に表示されます0x41。したがって、NET-SNMP に問題はありません。エージェントのドキュメントを確認して、さらに詳しく調べる必要があります。

于 2015-08-11T00:32:02.833 に答える