問題タブ [snmp-trap]
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.
c++ - WinSNMP v1 トラップ
c++ で WinSNMP を使用して、snmp トラップを送信しています。下位互換性のために、v1 snmp トラップを送信する必要があります。WinSNMP は v2 トラップで動作しますが、トラップの送信時にこれらの v2 トラップを v1 に変換できます。そのために使っSnmpSetTranslateMode(SNMPAPI_UNTRANSLATED_V1)
ています。また、sysUpTime oid (1.3.6.1.2.1.1.3.0)、snmpTrapOID (1.3.6.1.6.3.1.1.4.1.0) をバインディング リストの先頭に追加し、enterpriseOID (1.3.6.1.6.3. 1.1.4.3.0) をバインド リストの最後に追加して、v1 トラップを送信できるようにします。
2つの(おそらく関連する)ものを除いて、すべてが正常に機能しています。
トラップの agent-addr
フィールドは常に 0.0.0.0 です (バインディング リストに snmpTrapAddress oid(1.3.6.1.6.3.18.1.3.0) を追加しようとしましたが、うまくいきませんでした)。このフィールドに送信元の IP アドレスを含めたいと思います。
2 番目の問題は、 andで IP アドレスとポートを指定HSNMP_ENTITY
し、関数でこれを使用しても、トラップが別のポート (動的ポート範囲のどこか) から送信されることです。SnmpStrToEntity
SnmpSetPort
HSNMP_ENTITY
SnmpSendMsg
これを修正する方法を知っている人、またはこれが可能かどうか教えてくれる人はいますか?
snmp - SNMP トラップの子 OID とは何ですか?
MIB とサンプル ドキュメントを継承しており、トラップを生成するコードを再実装する必要があります。(さまざまな理由で元のコードは失われ、永久に失われていますが、CM は私の質問ではありません。)
MIB は次のように述べています。
ドキュメントには次のスニペットがあります。
私が把握できないのは、アラートのディスパッチ時間に使用される OID です。[our-base-oid].1.3.0、または [our-base-oid].2.4.0.[our-base-oid].1.3 であれば理解できます。{ alertEvents 3 } でトラップを生成した場合、個々のオブジェクトの接尾辞は何になりますか?
ドキュメンテーションの後に MIB が更新された可能性があるため、専門家にとってこれが間違っているように見える場合、alertDispatchTime の OID は何になるべきでしょうか?
ありがとう。
c# - .NET でのカスタム SNMP トラップの実装
SNMP を使用して (.NET で) 監視メカニズムを作成する必要があります。nsoftware コンポーネントを使用してほとんどの作業を処理することになると思います。
エージェントからサーバーへの通信には「トラップ」を使用する必要があるようです。多数の異なるトラップと、各トラップの詳細に関するさまざまな情報があります。カスタム トラップを実装する最良の方法は何ですか? つまり、トラップを送信するだけでなく、トラップを説明する情報を「snmp manager」に送信する最良の方法は何ですか? これは「変数バインディング」によって行われると思います。「変数バインディング」を使用するには、独自の「エンタープライズ番号」を作成し、「enterpriseSpecific」トラップを使用する必要がありますか? 独自のカスタム MIB を実装する必要がありますか、それとも必要なデータをトラップで (変数バインディングを介して) 送信するだけでよいでしょうか?
perl - Perl でトラップ アラートを監視するにはどうすればよいですか?
UPS、整流器、エアコンなどのデバイスからのトラップを監視するための perl の最も単純なコードは何ですか。たとえば、温度、サーバー ルームの湿度、エアコンのレベルなどを監視したいと考えています。UPS などの各デバイスには、内部に SNMP カードがあり、次に、トラップ サーバーの IP アドレスを出力します。現在、snmptt オープン ソフトウェア アプリケーションを使用しています。
java - Javaでトラップv2を送信する
Javaアプリケーションからsnmpv2トラップを送信するにはどうすればよいですか。snmp4jで例を試してみましたが、機能しませんでした。
php - PHP で SNMP トラップを生成する
PHP から SNMP トラップを生成する方法を必死に探しています。snmpget を使用する組み込みメソッドは知っていますが、SNMP トラップを送信する方法を理解できませんでした。
クラス/コードスニペットを知っている人はいますか? Web を検索しても、exec を使用して cli ツールを呼び出す以外に何も表示されませんでした。
UDPパッケージを手動で生成するには、socket_createと対応する機能を使用する必要があると思います...
java - アラームおよびアラーム レポート コントロール管理情報ベースが何に使用されるかを理解しようとする
SNMP は初めてで、実装する必要がある Java アプリケーションの SNMP 要件を理解するのに苦労しています。SNMP サポートを提供するためにopenDMKを使用しています。私の質問で残忍な無知を許してください。RFC 仕様を読みましたが、ほとんどのテキストが意味不明のようです。
要件の 1 つは、「SNMP サポートは、アラーム MIB (RFC 3877)に準拠している必要がある」ことです。
- これは何を意味するのでしょうか?
- アラーム MIB は何に使用されますか?
- これは SNMP トラップ/通知に関連していますか? RFC 仕様を読むと、何か問題が発生した場合 (たとえば、しきい値を超えた場合)、アプリケーションがマネージャーに送信する必要がある SNMP 通知/トラップに関するものであると感じています。もしそうなら、私はまだこの要件で何をする必要があるのか 正確に理解していません.
- 独自のアプリケーションの SNMP トラップ定義を定義する必要があります (つまり、一般的なものを使用しないでください)。アラーム MIB をサポートする必要があるため、MIB はどのように変化しますか?
- 通知を送信する以外に、その通知をアラーム テーブルに格納する必要があるということですか? もしそうなら、そうする目的は何ですか?
以下は、SNMPv2 トラップを送信するための openDMK ライブラリのメソッドです。
public void snmpV2Trap(SnmpOid trapOid, SnmpVarBindList varBindList)
このメソッドの使用方法についての私の理解は
trapOid
、アプリケーションの MIB で通知の OID を参照し、varBindList
送信する追加のパラメーターです。では、Alarm MIB はこれにどのように/どこに適合するのでしょうか?
もう 1 つの要件は、「SNMP サポートは、Alarm Reporting Control MIB (RFC 3878)に準拠している必要がある」です。
- これは何を意味するのでしょうか?
- Alarm Reporting Control MIB は何に使用されますか?
- SNMP トラップ/通知との関連はありますか?
c++ - Manager が SNMP トラップを認識しない
Microsoft の WinSNMP ライブラリを使用してサンプル アプリケーションを作成し、トラップの例を作成しようとしています。以下のコード サンプルを参照してください。
トラップがネットワークに到達し、受信されていることがわかりますが、残念ながら SNMP マネージャはトラップを通知していません。問題はマネージャー (SNMPc マネージャー) の問題ではなく、トラップの形成にあると思いますか?
これは、ダミーの OID を使用して作成したカスタム MIB です。
さらに、トラップのキャプチャのWireshark ダンプへのリンクがあります。
SNMPc Manager を使用すると、小さなツールを使用してダミー トラップを送信できます。ただし、これらのトラップは SNMPv2 であり、WinSNMP は v1 を使用しているため、比較することは困難です。どんな提案でも大歓迎です。
c# - C#Snmp Trap Sender
snmpトラップ送信者プログラムを開発したい。以前にWindowsサービスプロジェクトを開発した。そのトラップにこのサービスに関するレポートが送信されるようにしたい。それは可能ですか。また、どの方法に従う必要がありますか。
windows - IPv6 アドレスへの SNMP トラップ
SNMPトラップをIPv6アドレスに送信できる(Windows)ユーティリティを知っている人はいますか?
trapgen を試しましたが、IPv6 アドレスでは動作しないようです。また、net-snmp Windows ポートもありますが、トラップの送信に使用するのは非常に面倒です。私にとっては、まったく機能しませんでした。「モジュール (TRAP-TEST-MIB) が見つかりません:」で常に失敗しました。
ありがとう。