2017-03-24 10 views
0

最初に、私はとにかく私は余りにもSNMPの専門家ではないと言わざるを得ない、数週間前に私の余暇に会社のシステムで新しい機能を実装するために始めた。私は指定されたとデバッグは、私が得た次のPYSNMPカスタムトラップ送信者ですが、余分なOIDはありますか?

2017-03-24 09:07:53,015 pysnmp: running pysnmp version 4.3.4 
2017-03-24 09:07:53,016 pysnmp: debug category 'msgproc' enabled 
2017-03-24 09:07:54,115 pysnmp: StatusInformation: {'errorIndication': <pysnmp.proto.errind.AccessAllowed object at 0x762eb170>} 
2017-03-24 09:07:54,116 pysnmp: StatusInformation: {'errorIndication': <pysnmp.proto.errind.AccessAllowed object at 0x762eb170>} 
2017-03-24 09:07:54,120 pysnmp: prepareOutgoingMessage: using contextEngineId SnmpEngineID() contextName b'' 
2017-03-24 09:07:54,123 pysnmp: generateRequestMsg: Message: 
version=1 
community=public 
data=PDUs: 
    snmpV2-trap=SNMPv2TrapPDU: 
    request-id=10292983 
    error-status='noError' 
    error-index=0 
    variable-bindings=VarBindList: 
    VarBind: 
    name=1.3.6.1.2.1.1.3.0 
    =_BindValue: 
     value=ObjectSyntax: 
     application-wide=ApplicationSyntax: 
     timeticks-value=0 



    VarBind: 
    name=1.3.6.1.6.3.1.1.4.1.0 
    =_BindValue: 
     value=ObjectSyntax: 
     simple=SimpleSyntax: 
     objectID-value=1.3.6.1.6.3.1.1.5.1 



    VarBind: 
    name=1.3.6.1.2.7.8 
    =_BindValue: 
     value=ObjectSyntax: 
     simple=SimpleSyntax: 
     integer-value=5 



    VarBind: 
    name=1.3.6.6.7 
    =_BindValue: 
     value=ObjectSyntax: 
     simple=SimpleSyntax: 
     integer-value=45 

問題は、私ということであることを示しているように

は私がここに

た答えを貼り付けコピー

from pysnmp.hlapi import * 
from pysnmp import debug 

debug.setLogger(debug.Debug('msgproc')) 

next(sendNotification(SnmpEngine(), 
         CommunityData('public'), 
         UdpTransportTarget(('192.168.1.92',162)), 
         ContextData(), 
         'trap', 
         [ObjectType(ObjectIdentity('1.3.6.1.2.7.8'), Integer32(5)), 
         ObjectType(ObjectIdentity('1.3.6.6.7'),Integer32(45))] 
        ) 
    ) 

マイレシーバキャッチ4だけではなく2変数バインド最初の2つのOIDSの意味が本当に分かりません。

**1.3.6.1.2.1.1.3.0 = 0 
1.3.6.1.6.3.1.1.4.1.0 = 1.3.6.1.6.3.1.1.5.1** 
1.3.6.1.2.7.8 = 5 
1.3.6.6.7 = 45 

見た目は、snmpv2-mibのOIDですが、わかりません。だから、事前に

おかげで、

カルロス

答えて

0

は、あなたがのSNMPv2 TRAP(CommunityData(mpModel=1)を意味する)を送信しています。 RFC1905の章4.2.6によると:

SNMPv2のトラップ-PDUの変数バインディングリストの最初の2つの変数バインディングは、それぞれsysUpTime.0とsnmpTrapOID.0 あります。

あなた自身で入力していないので、pysnmpはそれらを自動的に追加して整形式PDUを生成します。 OBJECTS句が存在する場合

:あなたが送信しているTRAPのIDに応じて、pysnmpはRFCの義務として、VAR-が結合するよりOIDと値のペアを見つけて添付しようとする場合があり、

注意 対応するNOTIFICATION-TYPEマクロを呼び出すと、この通知によってインスタンス化された各変数 が、variable-bindingsフィールドに順番にコピーされます( )。

これらのOBJECTS OIDを初期化するためにルックアップマップ("objects" parameter)を渡すことができます。そうしないと、pysnmpはローカルMIB内でpysnmpを検索します。

最後に、あなたが明示的にRFCのこの部分に属して渡しているのOID:任意の追加の変数が含まれている場合( 生成するSNMPv2エンティティのオプションで)

は、その後、それぞれにコピーされます可変バインディング フィールド。

+0

シンプルな完璧な答え、たくさんの、美しい図書館のおかげで、私は疑問がいっぱいですが、私は100回自分で何か質問をしています。 –

関連する問題