問題タブ [snmp]
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++ - C++ を使用した Net-SNMP 変数
Net-SNMP ライブラリが提供するいくつかの変数、特にオクテットのイン/アウトをキャプチャする機能に問題があります。
In/OutOctets の問題: ASN_INTEGER の別のチェックがあり、出力が正しくないように見えるこの oid put をキャッチしています。*vars->val.integer を使用してこれを long にプッシュしていますが、現在負の数を取得しているため、これを double にプッシュしようとしましたが、出力は実際の値とはまったく異なる値です。オイ。
他の誰かがこの問題を抱えていましたか?もしそうなら、洞察を提供してもらえますか?
前もって感謝します。
perl - Perl で生の SNMP トラップを解析するにはどうすればよいですか?
数週間前、私は ops グループのために SNMP リレイヤーを書きました。彼らは単一の IP にしかトラップを送信できないいくつかのダム デバイスを持っており、可用性のために複数の IP をリッスンする監視システムがあります。コードは非常にシンプルで、基本的には次のとおりです。
基本的には機能しましたが、発信元IPが含まれていないという明らかな欠点が問題になっています(明らかに、デバイスの最初のクラスにはvarbindとして情報が含まれていましたが、一部の新しいクラスには含まれていません)。
私がやりたいことは、コードを次のように変更することです。
つまり、送信者に snmpTrapAddress が含まれていない場合は、追加します。問題は、私が調べた Perl 用のすべての SNMP パッケージが、トラップを受信して get を実行するインフラストラクチャに非常に重点を置いているように見えることです。
だから:「これはsnmpトラップを表すデータのブロブです。それを簡単に操作できるものにデコードし、ネットワーク経由でスローできるブロブに再コンパイルしてください」と言うことができる単純なPerlモジュールはありますか?
あなたの答えが「SNMPダミーを使用する」である場合、その例を挙げていただけますか? 私は目が見えないだけかもしれませんが、perldoc SNMPの出力からは、この方法でそれを使用する方法が明らかではありません。
編集:
「SNMPエンコーディング」が実際にはASN.1 BER(Basic Encoding Rules)であることが少しわかりました。これに基づいて、私は Convert::BER を試しています。SNMP の簡単な分解/編集/再構築のヒントを歓迎します。
java - OS X で SNMP トラップを受信するにはどうすればよいですか?
いくつかの SNMP トラップ (メッセージ) を受信して解析する必要があります。OS X マシンで動作しているコードを取得するためのアドバイスをいただければ幸いです。net-snmp を使用して、Windows で実行される Java コードをいくつか受け取りました。Java コードを開発マシンで実行するか、Python コードを作成して同じことを行いたいと考えています。
私の OS X マシンで Java コードをコンパイルすることができました。問題なく動作し、ソケット 8255 にバインドできなかった場合にスローされると予想される例外もありませんでした。 SNMP トラップ。本当にソケットを読み取れるのか疑問に思います。ソケットにバインドする Java プログラムからコードを収集すると、次のようになります。
私は Java を知らず、Python をいじるのが好きなので、libsnmpをインストールして、それを機能さeasy_install
せようとしました。サンプル プログラムtraplistener.py
とtrapsender.py
は互いに通信するのに問題はありませんがtraplistener.py
、自分自身の SNMP 信号を待って実行すると、何も受信できません。sudo
ソケットへのアクセス許可を得るには、python プログラムを実行する必要があったことに注意してください。sudo 経由で Java プログラムを実行しても効果はありませんでした。
これらすべてのことから、両方のプログラムが OS X とそのソケット、おそらくそれらのパーミッションに問題を抱えていると思われます。たとえば、/dev/bpf
Wireshark を機能させるには、デバイスのアクセス許可を変更する必要がありました。もう 1 つの考えは、eth0 (Wireshark のおかげでトラップ メッセージが表示されるイーサネット) と eth1 (wifi) を含む、複数のネットワーク アダプターが有効になっている私のマシンに関係があるということです。これが問題でしょうか?
ご覧のとおり、私はソケットや SNMP についてほとんど知識がありません。
更新:lsof
(正確には)を使用sudo lsof -i -n -P
すると、トラップ送信者が IPv4 を使用している場合、Java プログラムが IPv6 でのみリッスンすることが問題のようです。IPv6 を無効にして ( sudo ip6 -x
)、Java に IPv4 を使用するように指示してみました ( java -jar bridge.jar -Djava.net.preferIPv4Stack=true
) が、IPv6 を使用しているプログラムが引き続き見つかります。何かご意見は?
更新 2: OK、Java パラメータの順序が間違っていたと思います:java -Djava.net.preferIPv4Stack=true -jar bridge.jar
プログラムを IPv4 に配置します。ただし、私のプログラムは、そこにあることがわかっているパケットを受信する兆候をまだ示していません。
java - SNMP を使用して JVM とアプリケーションを監視する方法
JVM は SNMP を使用して管理できること、および JVM は JVM-MANAGEMENT-MIB をサポートしていることを理解しています。
JVM に関連付けられている SNMP AGENT 機能をプログラム/拡張する方法はありますか?
JVM 上の SNMP エージェントに他の独自/標準 MIB のサポートを追加する方法はありますか図書館?
windows - Windows の SNMP ODI を見つけるのに役立ちます
一部の Windows インフラストラクチャで監視を設定していますが、目的の ODI を見つけるのに問題があります。実際に必要なのは、次の ODI です。
1) CPU 使用率 (使用済みまたは空き) の割合。
2) ディスクフリー
3) 空きメモリ (またはバイト) の %
XP でテストを行っていますが、2003/2008 に展開する予定です。
c - Net-SNMP API のリファレンス?
現在、net-snmp を使用して社内ハードウェアの監視アプリケーションを開発しています。コードのセグメンテーション違反を呼び出すときに、ある程度機能するコードがsnmp_pdu_free()
あります。で pdu 構造体を作成していsnmp_create_pdu()
ます。実際にコードを正しく書いているかどうかを確認するために API リファレンスが欲しいのですが、見つけることができませんでした。私が見つけた最良のものは、net-snmp Web サイトのチュートリアルですが、デバッグ中にコードが正しいかどうかを判断するのにあまり役立ちません。
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 は何になるべきでしょうか?
ありがとう。
php - PHPサイトにSNMP情報をネットワーク管理アプリに送信させる
PHPWebサイトにSNMPを介して情報を送信させようとしています。私はSNMPについて多くのことを読んでいますが、どこから始めればよいのかまだ少しわかりません。
Webサイトが情報の送信に使用するすべてのOIDを使用してMIBを作成する必要があると思います。これは正しいです?これらの変数(OID)をどこでどのように定義できますか?誰かが私を正しい方向に向けることができますか?
私はサーバー上でFreeBSDを使用しています。
前もって感謝します。