1

5分ごとに2000以上のスイッチからsnmpデータ、upoctets、downoctects、ポートステータスを収集し、それらをグラフに表示し、ポートステータスごとに緑または赤でWebページにスイッチビューを表示するアプリケーションを実行しています。デバイスをウォークスルーし、ポート インデックスを取得して db に保存し、5 分ごとに db からポート インデックスを取得します。それを oid に対して実行します。

ほぼ 8 つの oid と 2000 を超えるデバイスがあり、連続して時間がかかるため、最後の oid が完了するまで次の oid は実行されません。snmpbulkget や snmptable について聞いたことがありますが、理解できません。

ネットワーク トラフィックを減らしてテーブルのデータをまとめて取得できる別の方法が必要です。通常は 5 分の差を実行する oid ごとに 1 つずつクエリ snmpget を実行します。

テーブル リクエストをスイッチに送信すると、すべてのポート ステータスの値のテーブルが返されます。

次の呼び出しの待ち時間を短縮し、プロセスを高速化して、ネットワーク トラフィックを削減します。

出来ますか?

多くのインターフェイス カウンタに対して 5 分ごとにクエリされる数千のデバイスが多すぎるという私のシナリオの改善をお願いできますか。

ありがとう

4

1 に答える 1

0

SNMP getbulk コマンドを使用すると、複数の OID と、エージェントが応答で送信する varbind の数を制限する maxrepetitions パラメータを指定できます。あなたが説明するような状況でパフォーマンスを最適化するのに理想的です。もちろん、キャッチがあります:

  • SNMP getbulk は SNMP v1 では使用できません
  • 正しい maxrepetitions パラメータを設定するのは難しい場合があります - 応答に一定量の varbind を含める必要がある場合、一部のエージェントは応答の送信を拒否します
于 2013-04-24T15:19:31.007 に答える