向我解释MRTG如何测量传入数据的区别

时间:2014-01-09 12:10:36

标签: linux monitoring rrdtool rrd mrtg

每个人都知道MRTG需要至少传递一个值来传递它。

在每个目标选项中,MRTG具有“测量”,“绝对”和默认(没有选项)“如何处理传入数据”的行为。或者,如何计算它。

让我们看一下基本但又受欢迎的例子:

我们传递来自网络接口统计信息的累积数据“接口收到了多少数据包”。

我们从'/ proc / net / dev'获取它,或者查看某个网络接口的'ifconfig'输出。每次收到的字节数都在增加。它是累积的。

因此,我可以想象可能有两种类型的可能统计数据: 1.此值在时间间隔内变化的速度有多快。用其他词 - 活动。 2.简单的,正在增长的图形,每分钟(或任何其他时间间隔)绘制每个新值

第一张图片将是盐化(活动)。第二,每次都会成长。

我读了两次rrdtool和MRTG的文档,并且无法理解上面提到的哪个选项算什么。

我想(我不确定)'测量'按原样绘制值,没有任何差异计算(适合测量每5分钟使用多少内存或CPU)。并且默认或“绝对”行为试图计算附近度量之间的速度,但最后两个之间的差异是什么?

你们可以用一种简单的方式解释哪种行为可以选择三种选择?

提前致谢。

1 个答案:

答案 0 :(得分:1)

MRTG假设所有内容都以一个比率来衡量(即使它不是一个比率)

类型'gauge'假设您已经计算了费率;因此,提供的值按原样存储(在数据标准化之后)。这适用于CPU使用率等。

类型'绝对'假设传递的值是自上次更新以来的计数。因此,该值除以自上次更新以来的秒数,以获得每秒物品的速率。这很少使用,并且仅适用于在读取时重置其值的某些异常数据源 - 例如,计算日志文件中行数的脚本,然后截断日志文件。

类型'计数器'(默认值)假定传递的值是一个不断增长的计数,可能包含16或64位。值与其先前值之间的差值除以自上次更新以来获得每秒物品速率的秒数。如果它看到值减小,它将采用16或64位的计数器环绕。这适用于网络流量计数器,这就是默认行为(MRTG最初是为网络流量图编写的)

类型'derive'类似于'counter',但会使计数器减少(导致负速率)。这在MRTG中无法直接实现,但您可以根据需要手动创建必要的RRD。

所有类型随后执行数据规范化以将时间戳调整为间隔的倍数。对于值较小的Gauge类型而言,这将比值大的计数器类型更明显。

有关此内容的信息,请参阅Alex van der Bogaerdt's excellent tutorial