SNMPポーラーをDBまたは監視対象デバイスの近くに配置する必要がありますか?


7

SNMPポーラーでは、ポーラーからDBへのトラフィックが確実に到達するように、DBの近くに配置する方が良いでしょう。または、ポーラーを監視対象デバイスの近くに配置して、遅延とデバイスへのトラフィックに関してトラフィックがより正確になるようにしますか?

たとえば、3つのリージョンと3つのポーラー、および1つのDBがあります。4つのデバイスすべてを1つの場所に配置しますか、それともポーラーを配布しますか?

私はいくつかの意見を持っていますが、話の反対側を取得したいと思いました。


何か回答がありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探します。または、独自の回答を提供して受け入れることもできます。
Ron Maupin

回答:


5

これは、いずれにせよ役に立たないマイクロ最適化のようであり、実際の実用的な問題が発生するまで心配する必要はありません。

ただし、純粋に学術的には、RTTにバインドされた要求/応答プロトコルであるため、ポーリングするデバイスの近くにSNMPポーラーを配置する必要があります。ポーラーは、ポーリングされたデータを集約し、ウィンドウでTCPを使用して、大量のデータを高速でDBに送信できます。


3

FWIWこれは素晴らしい質問です。これは、理論/学界のうさぎの穴を掘る可能性が非常に高いという点で、@ yttiに同意できません。

実用的な観点から、ポーリング対象のオブジェクトの近くにポーラーを配置することは、実行したいことです。私は分散システムの専門家/ SDEではありませんが、分散するように設計されたすべてのNMSには、実際のポーリングされたSNMPデータとその独自のタイムスタンプからdb挿入タイムスタンプを分離する機能がすでにあるはずです。それはまだ解決するのは簡単な問題ではありませんが、yttiがすでに言ったように(そして私も同意します)、db挿入の実行は、ポーリングから収集されたデータよりも優先されるべきではありません。データの整合性保護を強化するために、TCPにラップされるという贅沢があります。実際のSNMPポーリングとトラップでは、2つの「ベストエフォート」時間で2倍に対処します。1番目は明らかにUDPで、2番目はプロセス管理/「データ整合性」です。(つまり、カウンターが正確であるなど)ポーリングしているボックス。時々、ボックスがちょうど窒息し始め、SNMP経由で番号を返すと、他のものに後戻りします。


snmpはudp上にあり、DB接続はおそらくTCPです。したがって、ソースに近いポーリングの方が優れています。さらに、ポーラーがポーリングされるデバイスから別のサイトに配置され、接続が失われた場合はどうなりますか。ローカルで(リアルタイムで)収集し、リモートで(ほぼリアルタイムで)データをロールアップします。
generalnetworkerror 2013年

1

使用されるポーラーの数は、ポーリングされるノードの数とポーリングの頻度に基づく必要があります。さらに、一部のベンダーは、DBから離れたポーラーをサポートしていません。ソーラーウィンズにはこの制限があります。


1

ポーリング対象のデバイスに近いことは、待ち時間が短いため、ポーリング頻度を高くできることも意味します。大西洋横断回路を介して5秒または10秒間隔でデバイスをポーリングしようとすると、テーブルを歩くのに時間がかかりすぎることがわかりました。


技術的には、非同期でポーリングを実行できます。1つのプロセスがUDPワイヤーレートを吐き出す別のプロセスが応答を格納する2つのプロセス設計を持つことができます。次に、適合した間隔でデータを取得している場合はオフライン分析を実行する3番目のプロセスがあり、そうでない場合は、アラームを発生させ、opsに理由を調査してもらいます。
ytti、2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.