問題タブ [pysnmp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pysnmp 4.2.3: pysnmp.smi.error.SmiError: importSymbols: MIB モジュール名が空です
2 つのシナリオがあり、どちらもSNMP.py
この回答で参照されています。
pysnmp (v4.2.3) および pysnmp-mibs (v0.1.4) :
pysnmp (v4.2.2) および pysnmp-mibs (v0.1.3) :
質問
pysnmp v4.2.3 を使用すると何が問題になりますか? 問題はSNMP.py
pysnmp ライブラリ内またはどこかにありますか?
更新 1
cmdgen.MibVariable(oid).loadMibs(),
Ilyaの提案どおりに使用すると、まだエラーが発生します...
このエラーを解決するにはどうすればよいですか? 次のSNMP.py
コードを使用しています。
python - テーブル要素のpySNMPでsetCmdを使用するにはどうすればよいですか?
ドキュメントに従ってさまざまなことを試しましたが、MIB を動的テーブルに設定する方法がわかりません。スカラー値を設定して正常に動作するコードがあります。createAndGo(4)
RowStatusの値を に設定してから に設定する必要があることはわかっていますactive(1)
。これが私が試したものとMIB定義です:
次のエラーが表示されます。
メッセージ ファイル名 行位置 トレースバック
set_single abc.py
setCmd build\bdist.win32\egg\pysnmp\entity\rfc3413\oneliner\cmdgen.py 374
setCmd build\bdist.win32\egg\pysnmp\entity\rfc3413\oneliner\cmdgen. py 240
AttributeError: MibIdentifier インスタンスに属性「getSyntax」がありません
何か案は?
python - setCmd の管理対象オブジェクトでの pySNMP シーケンス
ドキュメントによると、setCmd
varBinds 参照は管理対象オブジェクトのシーケンスです。[(oid0, value0), (oid1, value1)]
ただし、リスト、タプル((oid0, value0), (oid1, value1))
、またはセットを渡そうとしましたがset([(oid0, value0), (oid1, value1)])
、それらはすべて「解凍するには値が多すぎます」というエラーで失敗します。複数の varbinds を含む単一の set 要求を送信できる必要があります。たとえば、(oid0, value0) などの各管理対象オブジェクトを個別の .xml として正常に送信できますsetCmd
。どうすればこれを行うことができますか?
python - web.py および pysnmp を使用した Python スレッド化による Web サービスの作成
ルーターがオンになっているポートのスイッチから SNMP 値を読み取り、いくつかの計算を行い、現在の平均帯域幅使用率を返すホーム ネットワーク用の小さなサービスを作成しようとしています。
2秒ごとにsnmp値を読み取るのに十分なpysnmpが動作するようになりました...次に、web.pyを統合して、アップロードとダウンロードの平均をキロビット単位でJSONを返す非常にシンプルなWebサービスを作成することにしました。
これを行うには、スレッドを使用して SNMP ポーリングをバックグラウンドで実行し続ける必要があります。私はNOOOBですが、正しく機能していません.値をブラウザにロードすると、何らかの理由でSNMPプロセスの2番目のスレッドが作成されるようですが、その理由がわかりません.
コードは次のとおりです。
私は本当にあなたの助けに感謝します. 私はスレッドの完全な初心者であり、Python を学習していることを覚えておいてください。ありがとう!
snmp - pySNMPライブラリを使用してSNMPv3でコンテキスト名を設定することは可能ですか?
SNMPシミュレーターと呼ばれるpySNMPを使用して利用可能な1つのシミュレーターがあります。
デフォルトのコンテキスト名の値を設定します。snmpv3のカスタムコンテキスト名の値を設定する方法はありますか?
これは、コンテキスト名の値を指定しようとしたsnmpsimd.pyからの抜粋です。
カスタムパラメータとして値を与えることは、そこに値を設定することではありません。
python - AsynCommandGeneratorで複数のGETNEXTクエリを作成するにはどうすればよいですか?
CommandGeneratorのすべての要素を取得します。しかし、私はAsynCommandGeneratorに1つの要素しか持っていません。どうすればそれらすべてを入手できますか?
snmp - pysnmpでカスタムmibをロードしてウォークする方法は?
SNMP / pysnmpを初めて使用し、カスタムMIBを使用するエージェントを実装しようとしています。pysnmpサイトで次の例を見ていますが、動作させることができないようです。これが私が取っているステップです:
- build-pysnmp-mibを使用してMIBファイルをpysnmpモジュールに変換します(これはエラーなしで成功します)
- MIBソースを設定し、MibBuilder()を使用してMIBモジュールをロードします
- 上記の例を使用してエージェントを設定します(追加したのはmibBuilderのみです)
- net-snmpのsnmpwalkを使用して、ロードされたMIBを表示します。
snmpwalkコマンドは次のとおりです。
snmpwalkはタイムアウトエラーを返し、通信を分析すると(pysnmpでI / Oデバッグを有効にすることにより)、エージェントが要求を受信したが、応答しなかったことがわかります。これは文脈と関係があるのではないかと思いますが、現時点では正しく理解していない可能性があります。私が間違ったことをしている可能性のある場所についてのポインタは大歓迎です。テストには次のサンプルMIBを使用しています。以下のコード。ありがとう。
python - Udp6SocketTransport Pysnmp以外に他の代替手段はありますか?
PysnmpでIPv6を使用できるプログラムを作ろうとしていますが、すでにグーグルなどからたくさん読んでいます。
そして、私はいつも人々がを使用していることに気づきましたUdp6SocketTransport
。しかし、問題は、このクラスがすべてのプラットフォームで機能するわけではなく、WindowsとLinuxで機能する可能性があるために必要なことです。
誰か助けてもらえますか?
python - cx_freeze を使用して PySNMP をコンパイルする
pySNMP でデバイスを照会する小さな python 3.3 スクリプトを作成します。
cx_freeze
(エラーなし)でスクリプトをコンパイルしましたが、問題があります:
スクリプトを実行したときに、library.zip に存在しない MIB ファイル (*.py) に関するエラーが発生したため、ライブラリ内の MIB を手動でコピーし、スクリプトは正常に機能しました。次に、コンパイル時にライブラリを追加しようとしました(例):
zipinclude = [("C:/Python33/Lib/site-packages/pysnmp-4.2.4-py3.3.egg/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py","pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py")]
のsetup.pyスクリプトにcx_freeze
追加しましたが、コンパイル後にMIB(.py)がlibrary.zipに存在していたとしても、MIBをlibrary.zipに手動でコピーするまで(cx_freezeによって含まれるものを上書きするまで)、スクリプトは機能しませんでした)。
この問題に対する提案はありますか?
python - pySnmp async は sync とは異なる反応を示します
2 つのほぼ同一のメソッド呼び出しがあり、それらは異なる結果を返します
これは出力します:
よく見ると、最初のものは 2 つの項目を正しく返し、2 番目のものは 1 つだけを返すことがわかります。
対
編集。場合によっては奇妙なエラーが発生する理由がわかりましたが、残りは修正されませんでした