2010-04-27 14 views
11

Qualcuno può indicarmi una buona definizione di Gauge32 vs Counter32? Capisco che Counter32 può eseguire il wrapping, ma Gauge32 non può.Definizione di SNMP Gauge32 vs Counter32

Sto cercando di capire la loro semantica. Ad esempio, ho sentito che dovresti prendere la differenza tra due letture Counter32 per ottenere un valore/secondo. C'è qualcosa del genere per un valore Gauge32?

Grazie per qualsiasi intuizione.

risposta

8

Sì, per Gauge32 è anche possibile utilizzarlo.

In profondità all'interno, Gauge32 e Counter32 sono uguali, tranne per il fatto che i dati memorizzati in Counter32 continuano ad aumentare (e avvolgere quando colpisce il limite superiore).

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

Per Gauge32 ci si può aspettare i dati aumenta e diminuisce in base a ciò mondo reale le informazioni che cerca di fornire.

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

+0

Confrontando questa risposta con la domanda e la risposta più votata penso che sia fuorviante a causa della prima frase. La risposta di bstpierre non è più lunga ed è abbastanza autonoma da non dover controllare l'RFC di riferimento per ottenere l'impressione corretta. Inoltre il suo ottimo esempio mostra chiaramente perché può essere un errore sottrarre/aggiungere valori di gauge32 (a seconda di cosa si intende esattamente). Quindi -1 per questa risposta. – Sebastian

+0

@Sebastian tutto quello che ti piace. Se ti capita di controllare altre discussioni su SO, dovresti essere ben consapevole del fatto che le risposte altamente votate (ho contribuito a molti) non sono sempre accettate come risposta, poiché non tutti gli intervistati cercano quella perfetta. –

21

La migliore definizione di questi (cioè la definizione) è in sezioni del RFC che definisce le: RFC 2578.

Come dice la RFC, un Counter32 non ha un valore iniziale definito, quindi una singola lettura di Counter32 non ha contenuto informativo. Questo è il motivo per cui devi prendere due (o più) letture per dare un senso a questo. Un esempio di ciò sarebbe il numero di pacchetti ricevuti su un'interfaccia ethernet. Se si prende una lettura e si recuperano 4 milioni di pacchetti, non si è imparato nulla: il filo potrebbe essere stato estratto dall'interfaccia per l'anno passato o potrebbe passare milioni di pacchetti al secondo. Devi prendere più letture per sapere qualsiasi cosa.

Un calibro32, d'altra parte, misura una certa quantità in un momento nel tempo e può salire o scendere. Non è possibile effettuare osservazioni significative su due (o più) letture nel tempo. Un esempio di questo è lo spazio libero su disco. Puoi recuperare il valore ora e un'ora da ora e scoprire che la modifica è zero, ma non puoi trarre la conclusione che non è stato scritto nulla sul disco nel corso dell'ora. È possibile che il disco venga martellato con aggiunte e eliminazioni costanti che non comportano una variazione netta nello spazio libero.

+1

+1 per riferimento alla definizione di standard e discussione/interpretazione di esempi illustrativi da quello standard – RubyTuesdayDONO

+0

+1 grande chiarimento – godzillante

2

Entrambi possono rappresentare un valore fino a 2^32.

La differenza sta nel fatto che, una volta che raggiungono 2^32, un contatore ricomincia da 0 e rappresenta il valore (N + 2^32) + X come X mentre un indicatore non si avvolge.

I contatori sono anche chiamati contatori di rollover. In genere vengono utilizzati per contare il numero di pacchetti o di ottetti inviati o ricevuti. Dopo che un contatore di rollover si è spostato diverse volte, è difficile per il sistema di gestione sapere se il valore del contatore di X indica che la quantità osservata è X o (N + 2^32) + X dove N non è di rollover. Quindi il sistema ha bisogno di eseguire periodicamente il polling dell'oggetto per tenere traccia di avvolgimenti.

Il calibro invece è utilizzato per misurare il valore corrente di alcune entità come il numero corrente di pacchetti memorizzati in una coda. Un indicatore può essere utilizzato per memorizzare la differenza di valore di alcune entità dall'inizio alla fine di un intervallo di tempo. Ciò consente di utilizzare il calibro per monitorare il tasso di variazione del valore dell'entità.

Problemi correlati