15

有人可以指出 Gauge32 与 Counter32 的良好定义吗?我知道 Counter32 可以包装,但 Gauge32 不能。

我试图理解它们的语义。例如,我听说你应该取两个 Counter32 读数之间的差来获得一个值/秒。Gauge32 值有类似的东西吗?

感谢您的任何见解。

4

2 回答 2

32

这些的最佳定义(即定义)在定义它们的 RFC部分中:RFC 2578

正如 RFC 所说,Counter32 没有定义的初始值,因此 Counter32 的单次读取没有信息内容。这就是为什么您必须阅读两次(或更多)读数才能理解它的原因。这方面的一个例子是在以太网接口上接收到的数据包数量。如果您读取并返回 400 万个数据包,您还没有学到任何东西:电线可能在过去一年中已从接口中拔出,或者它可能每秒通过数百万个数据包。你必须多次阅读才能知道任何事情。

另一方面,Gauge32 一次测量某个数量并且可能上升或下降。随着时间的推移,您不一定能对两个(或更多)读数进行有意义的观察。这方面的一个例子是可用磁盘空间。您现在可以获取该值,并且从现在开始一个小时后,发现更改为零——但您不能得出在一个小时内没有任何内容写入磁盘的结论。磁盘可能会因不断的添加和删除而受到重创,而这些不会导致可用空间的净变化。

于 2011-08-02T14:43:16.563 回答
4

它们都可以表示高达 2^32 的值。

不同之处在于,一旦它们达到 2^32,计数器就会再次从 0 开始,并将值 (N+2^32)+X 表示为 X,而量规不会换行。

计数器也称为翻转计数器。它们通常用于计算发送或接收的数据包或八位字节的数量。一个翻转计数器循环了几次后,管理系统很难知道 X 的计数器值是指观察到的数量是 X 还是 (N+2^32)+X,其中 N 是没有翻转的次数。所以系统需要定期轮询对象以跟踪环绕。

另一方面,量规用于测量某些实体的当前值,例如存储在队列中的当前数据包数。量规可用于存储某个实体从时间间隔开始到结束的值差异. 这使得计量器能够用于监控实体价值的变化率。

于 2015-06-30T05:35:40.633 回答