web-dev-qa-db-ja.com

SNMPGauge32とCounter32の定義

誰かが私にGauge32とCounter32の良い定義を教えてもらえますか? Counter32はラップできることは理解していますが、Gauge32はラップできません。

私は彼らのセマンティクスを理解しようとしています。たとえば、値/秒を取得するには、2つのCounter32読み取り値の差をとる必要があると聞きました。 Gauge32値にそのようなものはありますか?

洞察力をありがとう。

13
DougN

はい、Gauge32の場合はそれを使用することもできます。

内部の奥深くでは、Gauge32とCounter32は同じですが、Counter32に格納されているデータが増え続ける(上限に達すると折り返される)点が異なります。

http://www.ireasoning.com/javadocs/com/ireasoning/protocol/snmp/SnmpCounter32.html

Gauge32の場合、提供しようとする実際の情報に基づいて、データが増減することが予想されます。

http://www.ireasoning.com/javadocs/com/ireasoning/protocol/snmp/SnmpGauge32.html

9
Lex Li

これらの最良の定義(すなわちthe定義)は、それらを定義するRFCのセクションにありますRFC 2578

RFCが言うように、Counter32には定義された初期値がないため、Counter32の1回の読み取りには情報コンテンツがありません。これが、それを理解するために2つ(またはそれ以上)の読み取りを行わなければならない理由です。この例は、イーサネットインターフェイスで受信されたパケットの数です。読み取りを行って400万パケットを取り戻した場合、何も学習していません。過去1年間、ワイヤがインターフェイスから引き出されたか、1秒あたり数百万パケットを通過している可能性があります。あなたは何かを知るために複数の読書をしなければなりません。

一方、Gauge32は、ある瞬間にある程度の量を測定し、上下する場合があります。時間の経過とともに、2つ(またはそれ以上)の読み取り値について必ずしも意味のある観察を行うことはできません。この例は、ディスクの空き容量です。現在および1時間後に値をフェッチして、変化がゼロであることがわかります。ただし、1時間の間にディスクに何も書き込まれていないという結論を出すことはできません。空き領域の正味の変化をもたらさない、絶え間ない追加と削除でディスクが打たれている可能性があります。

27
bstpierre

どちらも最大2 ^ 32の値を表すことができます。

違いは、2 ^ 32に達すると、カウンターは0から再開し、値(N + 2 ^ 32)+ XをXとして表しますが、ゲージはラップしません。

カウンターはロールオーバーカウンターとも呼ばれます。これらは通常、送受信されたパケットまたはオクテットの数をカウントするために使用されます。ロールオーバーカウンターが数回ラップアラウンドした後、管理システムは、Xのカウンター値の値が、観測された数量がXであることを意味するのか、(N + 2 ^ 32)+ X(Nはロールオーバーの数ではない)であることを意味するのかを知ることは困難です。システムは、ラップアラウンドを追跡するために、オブジェクトを定期的にポーリングする必要があります。

一方、ゲージは、キューに格納されているパケットの現在の数など、一部のエンティティの現在の値を測定するために使用されます。ゲージは、時間間隔の開始から終了までの一部のエンティティの値の差を格納するために使用できます。 。これにより、ゲージを使用してエンティティの値の変化率を監視できます。

4
ashish2199