問題タブ [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数値oid出力をシンボリック名に変換する
pysnmp
私は自分のアプリケーションの 1 つでどれだけうまく使用できるかをテストするために、スクリプト (以下) を書きました。のような名前のネットワーク要素を mib-walk できるようにする必要がifDescr
あり、出力はクエリしたのと同じ名前を参照する必要があります...
問題
このコードを実行すると、 ;のローカル定義からpysnmp
正しく認識されます。ただし、以下の出力のように mib OID を名前に変換していません...ifDescr
RFC-1213.py
pysnmp
ifDescr
質問
インスタンスをの代わりにpysnmp
出力するにはどうすればよいですか?ObjectName()
ObjectName(ifDescr.1)
ObjectName(1.3.6.1.2.1.2.2.1.2.1)
アップデート
Popper12の答えに基づく明示的な解決策は
それを実行すると...
これは、シンボリック名を持つ ObjectName インスタンスに関する私の正確な質問には答えません。しかし、それは確かに十分です。
python - Python でネットワーク インターフェイスのデータ転送を確認するにはどうすればよいですか?
特定のネットワーク インターフェイスの IP を取得するためのソケット メソッドがあります。
以下を返します。
そのインターフェイスのネットワーク転送を返す同様の方法はありますか? 私は読むことができることを知っています/proc/net/dev
が、ソケットメソッドが大好きです。
python - pythonnet-snmpロードmibs
私はnet-snmpのpythonライブラリを使用して、さまざまなスイッチで長いクエリを実行しています。新しいMIBをロードできるようにしたいのですが、これを行う方法に関するドキュメントが見つかりません。
PySNMPはかなり複雑に見えるため、mibごとにPythonオブジェクトを作成する必要があります(これは私にはスケーリングしません)。だから私はnet-snmpのライブラリで立ち往生しています(mibをロードすることを除いて悪くはありません)。
私はnet-snmpコマンドラインツールで-m
andオプションを使用できることを知っています。また、net-snmpスイート(など)をすべてのmib-M
でプリコンパイルすることに関するドキュメントがあります(ライブラリにも想定しています)。PythonライブラリがMIBをロードする機能を提供していない場合、少なくとも、再コンパイルせずにPythonライブラリがMIBにアクセスできるようにnet-snmpを構成できますか?./configure
make
python - PythonでSNMPからデータを取得するには?
Pythonを使用してfdbテーブルからmacとvlanの値を取得するには?
bash snmpwalk では正常に動作します:
pysnmp:
出力: [(ObjectName(1.3.6.1.2.1.17.7.1.2.2.1.2), NoSuchInstance(''))]
出力: ('27', '27', '25', '27', '27', '27', '24', '27', '25', '18', '4', '27' , '25', '27', '27', '25', '27', '27', '27', '27', '27', '27', '27', '27', ' 27'、'27'、'27'、'27'、'27'、'27'、'27'、'27'、'23'、'25'、'27'、'27'、'27' , '25', '27', '25', '27', '27', '25', '27', '27', '27', '27', '27', '27', ' 27'、'27'、'27'、'25'、'27'、'27'、'27'、'27'、'27'、'27'、'27'、'27', '27', '27', '27', '27', '25', '25', '25', '7', '27', '27', '9', '25 '、'27'、'20'、'19'、'27'、'27'、'27'、'27'、'27'、'27'、'27'、'27'、'27'、 '27', '27', '27', '27', '27', '11', '25', '27', '27', '27', '27', '27', '27 '、'27'、'27'、'27'、'27'、'27'、'27'、'27'、'27'、'25'、'27'、'27'、'27'、 '27', '27', '27', '27', '27', '27', '2', '27', '5', '27', '0','27', '27', '27', '27', '27')
最初のスクリプト (pysnmp) は NoSuchInstance を返します。2 番目のスクリプト (netsnmp) はポートのリストを返しますが、mac と vlan はありません。どうしたの?
python - PySNMPで単一のGETNEXTクエリを作成する方法
ツリー階層内の特定のOIDの次のアイテムのみを取得するための単純なsnmpGETNEXTクエリを作成しようとしています。
たとえば、私が欲しいのは次のとおりです。
OID 1.3.6.1.2.1.1(iso.org.dod.internet.mgmt.mib-2.system)でGETNEXTリクエストを行うと
OID 1.3.6.1.2.1.1.1.0(iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0)とそれに対応する値を含む単一の応答を取得することを期待しています。
事実は次のとおりです。
PySNMPは、単一の次の値を取得するのではなく、1.3.6.1.2.1.1でSNMPウォークを実行し、すべてのサブアイテムを取得します。
この動作を変更して、snmpwalkを実行する代わりに、次の単一の値を返すようにするにはどうすればよいですか?
PySNMPのドキュメントから抜粋した以下のコードを使用します。
rest - SNMP ラッパー エージェント?
そのため、RESTful API を介してメトリックを提供する内部アプリケーションがいくつかあります。このデータを SNMP 経由で公開したいと考えています。私が考えているのは、ホスト レベルで SNMP ラッパーが SNMPGET を受信し、必要なデータに対して HTTP 要求を実行し、SNMP に変換して応答するということです。
誰かが似たようなことをしたことがありますか、誰かが似たことをしているのを聞いたことがありますか? 利用可能な既存のプログラムまたはライブラリはありますか?
python - PySNMP: ロード エラー: 不正な OctetString 初期化子
pysnmp ページからの次の例があります。
マシンで SNMP が実行されていることを確認しました。次のコマンドでコンソールにチェックインしました。
これはうまくいきました。上記の python コードを実行すると、次のエラーが発生します。
最後の数字は、実行ごとに変化します(タイムスタンプまたはそのようなもののようです)。私はpython 2.7と最新バージョンのpySNMP(4.2.1)を使用しています。このコード例の何が問題なのか誰か知っていますか?
python - MIB ファイル操作時の PySNMP エラー
PySNMP で MIB ファイルを使用しようとしています。コードはかなり単純です。複雑なことは何もありません。OID で情報を取得しようとしているだけです。私が使用しているコードは次のとおりです。
asynCommandGenerator.asyncNextCmd
これに入力されたデータは、同じものを使用する場合と同じように正確でudpTransportTarget
あり、問題なく機能することを知っていますCommunityData
。さらに、私が見ているエラーは、MibBuilder コンポーネントに非常に固有のものです。
私が見ているエラーは次のとおりです。
トレースバック (最新の呼び出しが最後):
ファイル「./snmpcollectortest.py」の 11 行目
「NS-MIB-smiv2」、
ファイル "/usr/lib/python2.7/site-packages/pysnmp-4.2.1-py2.7.egg/pysnmp/smi/builder.py"、221 行目、loadModules
pysnmp.smi.error.SmiError: MIB モジュール "/path/to/command/mibs/MIB-File.py" ロード エラー: MIB ファイル "ASN1.py[co]" が検索パスに見つかりません
アップデート:
M2Crypto がインストールされていないことがわかったので、ASN1.py が見つかりませんでした。ただし、これを修正しましたが、まだ同じエラーが発生しています。
python - 機能 Counter64 にアクセスしようとすると、PySNMP MIB モジュールが失敗する
MIB ベースの SNMP スクリプトを実行しようとすると、問題が発生します。その関数を含むモジュールがインストールされていることはわかっていますが、関数 Counter64 を実行できません。MIB モジュールは自動的に生成されるため、欠落しているモジュールがインストールされたら再生成を試みましたが、問題は解決しませんでした。
コードは次のとおりです。
手動で割り当てられた OID を使用して問題なくクエリを実行できるため、環境の変数が正しいことはわかっています。私が受け取っているトレースバックは次のとおりです。
誰かお勧めはありますか?Counter64 は pycopia-SMI Python モジュールの一部であり、インストールされていることを確認しました。しかし、この問題を解決する方法がわかりません。
python - pysnmpを使用してシステムリソースを監視するにはどうすればよいですか?
こんにちは私はpythonとsnmpを初めて使用しますが、pysnmpを使用してCPU使用率、メモリ使用量、ディスク使用量、NIC負荷などのシステムリソースを監視するにはどうすればよいでしょうか。
私は実験してcmdgen.CommandGenerator().getCmd()
いますが、意味のあるものを返すOIDを見つけるのに苦労しています。
私が試したことの例(CPU使用率クエリ):
出力: