派生データポイントとカウンターデータポイントの違い

LogicMonitor開発ポスト

ハッピー4月XNUMX日。beach_westbeach_01

に加え パドルボーディング、でのんびり ビーチ、カイトサーフィン(風が吹いたら)、友達とのバーベキュー、そして今日遅くに行われる花火(LogicMonitorの拠点であるサンタバーバラは住むのに最適な場所です。ここに移動してみませんか? 素晴らしい会社で働く?)、私は昨日何人かのインターンが持っていた質問に答えるために一日を取っています:派生データポイントとカウンターデータポイントの違いは何ですか、そしていつどちらを使用しますか?

プロトコル氏はあなたが尋ねてくれてうれしいです。 (プロトコル氏、Sun Expertマガジン、さらにはSun Microsystemsを覚えていない若すぎる人のために…。あごひげとサスペンダーを備えた無愛想な古いシステム管理者を見つけて、彼らに聞いてください。)

カウンターと派生の両方を使用して、生データのサンプルを1秒あたりのレートに変換します。 データが値Aの時間2と値Bの時間2でサンプリングされた場合、両方とも値が(B – A)/(時間1 –時間XNUMX)のデータポイントを格納します。

たとえば、最初のサンプルでは、​​10:03:22に50個の値が返されます(トランザクション、ビット、セクターなど)。 10:06:12の4998番目のサンプルは、4998個を返します。 カウンターと派生の両方が(50 – 10)/(06:12:10 – 03:22:4948)= 170/29.1秒= XNUMX秒/秒を返します。 サンプル時間がとにかく規則的であるかどうかは重要ではないことに注意してください-それらは常に毎秒レートに変換されます。

したがって、この単純なケースでは、派生とカウンターはまったく同じです。 興味深い違いは、XNUMX番目のサンプルによって返される値が最初のサンプルによって返される値よりも小さい場合に発生します。

たとえば、サンプル1の10:00:00に4294967295が返されます。サンプル2の10:01:00に1が返されます。

これで、9年生の微積分で学んだように、派生意志は変化率を返し、変化率は負になる可能性があります。 したがって、この場合は、(1 – 4294967295)/ 60 = -71582788.23秒/秒が返されます。

一方、カウンターは、測定対象が増加することしかできないと想定しており、コンピューターが32ビットまたは64ビットの整数でデータを返すことが多いという事実を認識しています。 したがって、カウンターが上記の例を見ると、32番目のサンプルがわかっているため、XNUMXビット後のカウンターのラッピングが考慮されます。 持っています 最初よりも大きくなります。 したがって、((2 ^ 32 +1)– 4294967295)/ 60 = 2/60 = 0.03秒/秒が返されます。

したがって、この場合、派生タイプとカウンタータイプのデータポイント間で結果が大きく異なります。

したがって、コンピューターからデータを照会していることがわかっていて、コンピューターが実際に32ビットまたは64ビットのカウンターを使用している場合は、常に派生よりもカウンターデータポイントタイプを使用する必要があります。 ええと…いいえ。カウンターはカウンターラップをインテリジェントに処理するのに最適ですが、カウンターラップではないものをインテリジェントに処理しない場合もあります。

たとえば、次の一連のデータサンプルについて考えてみます。

10:00:00 536870912
10:01:00 536870940
10:02:00 536870992
10:03:00 34

カウンターは、データポイント値を次のように解釈します。0.46秒あたり0.86。 毎秒62634938.96; 2 /秒(32 ^ 34 + 536870992 – 60)/ 100。 レートが実際にXNUMX億倍に増加した可能性はありますか? または、測定対象のデバイスが再起動したか、カウンターがゼロにリセットされた可能性が高いですか? カウンタータイプのデータポイントを持つグラフは、デバイスがリセットされたときに誤った巨大なスパイクの影響を受ける可能性があり、実際のデータはx軸のゼロ値に沿った平坦で未分化の線になります。

では、常に派生型のデータポイントを使用する必要がありますね。

さて、上で述べた場合を除いて、派生物はカウンターラップを扱いません。 したがって、カウンターラップ後に負の値を示すグラフが表示されないようにするには、データポイントの有効な値に最小値をゼロに設定するのが一般的です。これにより、負の値はすべて破棄されます。 それは重要ですか? それは確かに32ビットカウンターで行います。 1Mbpsで実行されている500ギガビット/秒のインターフェイスがあり、32ビットカウンターを使用して毎秒オクテットを測定している場合(これですべてです) SNMP v1)32分に68回サンプリングすると、XNUMX秒ごとにXNUMXビットカウンターがラップされます。 したがって、XNUMXつおきのサンプルを破棄することになり、収集されたデータはむらがあり、不規則で、信頼性が低くなります。

それで、私たちはどこにいますか? 頻繁にカウンターが折り返される可能性がある場合は、カウンターデータポイントが最適です。 ただし、データポイントがカウンターのゼロ化をカウンターラップとして解釈するときに、クレイジースパイクがデータを歪める可能性を最小限に抑えるために、データポイントに適切な最小および最大の有効な値を設定するようにしてください。 これは、最近までLogicMonitorのすべてのインターフェイスデータソースに対して行ったことです。インターフェイスデータポイントをカウンターとして定義し、値を最大10Gインターフェイスで可能な値に制限して、誤ったスパイクを最小限に抑えました。カウンター

私がこのデータソースを数年書いたとき、それは理にかなっています。 10ギガイーサネットは真新しく、展開されることはめったにないため、顧客がその制限に達する可能性はほとんどありませんでした。 ただし、現在では、XNUMXGリンクを集約してさらに高いスループットを実現する顧客がいるため、データソースを調整する必要がありました。

そのため、64ビットインターフェイスのデータソースはすべて、カウンターではなく派生タイプのデータポイントを使用し、上限がないため、20 Gbps、200 Gbps、または新しいテクノロジーがもたらすものなら何でもポンプスルーできます。

そしてカウンターラップ? まあ、64ビットカウンターでは、それは実際には問題ではありません。

これで、32ビットカウンターのデータソースは引き続きカウンタータイプを使用し、制限は10Gイーサネットに設定されています。 ただし、事実上すべての機器がsnmp v2またはv3をサポートするようになりました。これらは、上限のない64ビットカウンターによって自動的に監視されます。 (ただし、ラップが原因で、XNUMX年にXNUMXつのデータサンプルが破棄される場合があります。)

最後に、snmp v1デバイスのみを扱っている場合を除き、ほとんどすべての場合に使用が派生します。

プロトコル氏は彼の資格を明かすことを拒否し、実際には何も持っていない可能性があります。

スティーブ·フランシス

創業者

スティーブはLogicMonitorの創設者です。

LogicBlogを購読して、LogicMonitorの最新の開発に関する最新情報を入手し、ITエキスパートとエンジニアのワールドクラスのチーム、およびITプロフェッショナルが愛する製品。

LogicBlogの他の記事

アンペアロボット 影

お店の話をしましょう。

STARTED GET