2010-04-27 10 views
11

Kann mir jemand auf eine gute Definition von Gauge32 vs Counter32 zeigen? Ich verstehe, dass Counter32 umbrechen kann, aber Gauge32 kann nicht.Definition von SNMP Gauge32 vs Counter32

Ich versuche ihre Semantik zu verstehen. Zum Beispiel habe ich gehört, dass Sie den Unterschied zwischen zwei Counter32-Messungen nehmen sollten, um einen Wert/Sekunde zu erhalten. Gibt es so etwas für einen Gauge32-Wert?

Danke für jede Einsicht.

Antwort

8

Ja, für Gauge32 können Sie das auch verwenden.

Tief im Inneren sind Gauge32 und Counter32 identisch, nur dass die in Counter32 gespeicherten Daten weiter zunehmen (und bei Obergrenzen-Treffern umbrochen werden).

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

Für Gauge32 Sie die Daten erhöht erwarten können und verringert basierend auf welche Informationen der realen Welt versucht, es zu schaffen.

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

+0

Vergleicht man diese Antwort mit der Frage und der besser gewählten Antwort finde ich, dass es aufgrund des ersten Satzes irreführend ist. Die Antwort von bstpierre ist nicht länger und ist in sich abgeschlossen genug, dass man den referenzierten RFC nicht überprüfen muss, um den richtigen Eindruck zu erhalten. Außerdem zeigt sein gutes Beispiel deutlich, warum es ein Fehler sein kann, Werte von gauge32 zu subtrahieren/hinzuzufügen (je nachdem, was genau gemeint ist). Also -1 für diese Antwort. – Sebastian

+0

@Sebastian alles, was Sie mögen. Wenn Sie zufällig andere Diskussionen über SO durchgehen, sollten Sie sich bewusst sein, dass gut gewählte Antworten (ich habe viele Beiträge beigesteuert) nicht immer als Antwort akzeptiert werden, da nicht jeder Fragesteller nach dem perfekten sucht. –

21

Die beste Definition dieser (d.h. der Definition) ist in den Abschnitten des RFC, die sie definiert: RFC 2578.

Wie der RFC sagt, hat ein Counter32 keinen definierten Anfangswert, so dass ein einzelnes Lesen von Counter32 keinen Informationsgehalt hat. Deshalb müssen Sie zwei (oder mehr) Lesungen machen, um einen Sinn daraus zu machen. Ein Beispiel hierfür wäre die Anzahl der Pakete, die auf einer Ethernet-Schnittstelle empfangen werden. Wenn Sie eine Lesung machen und 4 Millionen Pakete zurückbekommen, haben Sie nichts gelernt: Die Leitung könnte im vergangenen Jahr aus der Schnittstelle herausgezogen worden sein, oder sie könnte Millionen von Paketen pro Sekunde passieren. Sie müssen mehrere Lesungen machen, um etwas zu wissen.

Ein Gauge32 auf der anderen Seite, misst einige Quantität zu einem Zeitpunkt und kann nach oben oder unten gehen. Sie können nicht notwendigerweise aussagekräftige Beobachtungen über zwei (oder mehr) Messwerte im Laufe der Zeit machen. Ein Beispiel dafür ist freier Speicherplatz. Sie können den Wert jetzt und in einer Stunde abrufen und feststellen, dass die Änderung Null ist - Sie können jedoch nicht den Schluss ziehen, dass im Laufe der Stunde nichts auf die Festplatte geschrieben wurde. Es ist möglich, dass der Datenträger durch ständige Hinzufügungen und Löschvorgänge beeinträchtigt wird, die zu keiner Änderung des freien Speicherplatzes führen.

+1

+1 für einen Verweis auf die Definition von Standard und Diskussion/Interpretation von illustrativen Beispielen aus diesem Standard – RubyTuesdayDONO

+0

+1 große Klarstellung – godzillante

2

Sie können beide einen Wert bis zu 2^32 darstellen.

Der Unterschied liegt darin, dass, sobald sie 2^32 erreichen, ein Zähler wieder von 0 beginnt und den Wert (N + 2^32) + X als X darstellt, während ein Messgerät nicht umläuft.

Zähler werden auch Rollover-Zähler genannt. Sie werden normalerweise verwendet, um die Anzahl der gesendeten oder empfangenen Pakete oder Octets zu zählen. Nachdem ein Rollover-Zähler mehrere Male umgelaufen ist, ist es für das Managementsystem schwierig zu wissen, ob der Zählerwertwert von X bedeutet, dass die beobachtete Menge X oder (N + 2^32) + X ist, wobei N kein Rollover ist. Daher muss das System das Objekt regelmäßig abfragen, um Spuren von Wraparounds zu behalten.

Messgerät dagegen werden verwendet, um den aktuellen Wert einer Entität zu messen, z. B. die aktuelle Anzahl der in einer Warteschlange gespeicherten Pakete.Ein Messgerät kann verwendet werden, um den Unterschied im Wert einer Entität vom Anfang bis zum Ende zu speichern eines Zeitintervalls. Dies ermöglicht es, das Messgerät zu verwenden, um die Änderungsrate des Wertes der Einheit zu überwachen.