0

snmptrap を収集して Web インターフェイスに表示する必要があります。アプリケーションにはすでに *ruby on rails *linux *delayed_job (キューイング用) *postgresql *snmp クエリを実行するいくつかの cron ジョブが含まれています

ここで、snmptrapd などを実行してアラームを収集する必要があります。snmptrapd がそのトラップを、cron ジョブで処理できるキューに書き込むことは可能でしょうか。Linux のビルトイン mqueue のようなものが素晴らしいでしょう。または、postgresqlデータベースに書き込むことさえあります(mysqlをサポートしていることは知っていますが、postgresについてはどこにも言及していません)

snmptrapd の出力を cron ジョブで処理できるものにリダイレクトする方法を知っている人はいますか?

4

1 に答える 1

2

私はPerlで似たようなことをしましたが、Rubyでも同じことができます。

最初に、トラップのデフォルトのハンドラーを snmptrapd に伝える必要があります。snmptrapdconf では、次のように定義できます。

traphandle default /yourpluginpath/yourplugin

トラップが発生するたびに、そのデータがプラグインに送信されます。それを処理するのは今彼次第です。パケットを取得したら、必要な任意の DB に保存できます。MySQL か PostgreSQL かは関係ありません。

唯一の問題は、トラップからのデータを解析するライブラリです。Perl ではSNMP::Trapinfoを使用しましたが、Ruby を使用したことがないため、これに相当するものはわかりません。他の誰かが適切なライブラリを教えてくれるはずです。自分で解析することもできます。実際、他の誰かにデータを DB に保存してもらいたい場合は、基本的なシェル スクリプトを使用することもできます。

于 2012-08-03T12:45:25.503 に答える