SNMPトラップに依存することが悪い考えである理由

ネズミ捕り-3-914361-m

私たちが時々受ける質問のXNUMXつは、LogicMonitorがSNMPトラップにほとんど依存しない理由です。 新しいデバイスの監視を作成するときは、デバイスのMIB内のトラップを調べて、ベンダーが通知することが重要であると考えていることを確認しますが、それらをポーリングしてデバイスの状態を判断しようとします。物事、罠に頼らない。 「トラップに頼ってみませんか?」 あなたは尋ねるかもしれません。 良い質問。

まず、トラップとは何かを考えてみましょう。デバイスから送信される単一のUDPデータグラムで、そのデバイスに問題が発生していることを通知します。 現在、UDP(User Datagram Protocol)パケットは、TCPとは異なり、確認応答されないため、ネットワーク上で失われて到着しない場合(送信者は到着したかどうかを知る方法がないため)、再送信されません。トラップは単一の信頼性の低い通知であり、UDPパケットが管理ステーションに到達する可能性が最も低い正確な時間にデバイスから送信されます。定義上、問題が発生しているためです。 問題が発生しているのは、スパニングツリーが再計算されたり、ルーティングプロトコルが再収束したり、冗長電源への切り替えが原因でインターフェイスバッファがリセットされたりしている可能性があります。 重要なイベントについて通知するために単一のパケットに依存する時間ではありません…

トラップは、インフラストラクチャに重大な影響を与える可能性のあることを通知するための信頼できる手段ではありません。 それが、可能であればそれらを避ける理由の3つです。 トラップよりもポーリングを好むもうXNUMXつの理由は、傾向とコンテキストです。 一部のデバイスは、CPU使用率が高くなりすぎた場合、または温度がしきい値を超えた場合にトラップを送信します。 たまたまスイッチのソフトウェアをアップグレードし、その後すぐに温度が高すぎるトラップを受け取った場合、データは限られています。 過去XNUMXか月間、気温はゆっくりと上昇していましたか、それともアップグレード後の急激な上昇でしたか? トラップはそれを伝えることはできませんが、過去数か月の温度グラフとして表示されるポーリングデータは、さまざまなレベルでさまざまな重大度のしきい値を簡単に設定できるようにします。

温度グラフ

さらに別の理由は管理性です。 トラップが送信されて管理ステーションに到着するには、トラップの宛先(監視ステーションのIPアドレス)をすべてのデバイスに構成する必要があります。 すべてのスイッチ、すべてのルーター、すべてのサーバー…。 しかし、ポーリングを有効にするために、とにかくデバイス上にSNMPコミュニティをセットアップするためにこれを行う必要はありませんか? はい–ただし、通常、SNMPコミュニティが定義されている場合、特定のサブネット全体に対してポーリングが有効になります。 監視システムを同じサブネット上の別のIPに移動でき、構成を変更する必要はありません。 ただし、トラップに依存している場合は、すべてのデバイスに触れて、トラップを新しい宛先に送信するように再構成する必要があります。 そしておそらくもっと重要なことに、物事が正しく設定されていることをどのようにテストできますか? ポーリングを使用すると、コミュニティ、ファイアウォール、またはアクセスリストの設定が誤っているためにデータが返されないことを簡単に確認(および警告)できます。 ただし、システムが適切な場所にトラップするように設定されていること、およびアクセスリストがトラップを許可するように正しく設定されていることを確信するのははるかに困難です。 (もちろん、トラップは通常のSNMPクエリとは異なるポートを使用するため、ポーリングが機能するという事実は、トラップが機能するかどうかについては何も教えてくれません。)

定義上、ポーリングはXNUMX分ごとにテストされます。 トラップは通常、重大なイベントが発生した場合にのみテストされ、失敗した場合の通知やフィードバックはありません。 インフラストラクチャとアプリケーションの健全性について、どちらに依存しますか?