如何在 RRDtool 中创建累计带宽使用量(即每月减少 GB 数)?
How do I create accumulated bandwidth usages in RRDtool (ie. GB's per month down)?
以下数据来自移动 phone 提供商,它是特定时间下载的 kb 列表,通常以每分钟为基础。
它不是平均值,也不是最大值,而是该时间间隔的总和,可以精确跟踪数据消耗。这些图是用 PIL 制作的,而不是显示尖峰来指示大量数据消耗,可以看到大的步骤,这更能说明问题,因为它不仅告诉 "much happened here",而且告诉 "exactly this much happened here" .例如第二张图星期六晚上 10 分钟 100mb。速率变化图不会提供足够的信息。
我也在尝试找到一种方法来使用 rrd。
在使用 COUNTER 跟踪我的网络数据使用情况时,我误以为我能够精确计算 monthly/weekly 累积数据使用情况,但现在证明这是一个错误的假设。
我如何将数据存储在 rrd 中以便能够轻松生成如下图?那是通过使用 ABSOLUTE 并且在更新它之前我会减去之前的插入值吗?查每月使用量时会精确到字节吗?
您可以很容易地将图表中的所有值相加:
CDEF:sum=data,$step_width,*,PREV,ADDNAN
如果您的图表仅包含一个月,那么您应该只做一个月。如果你想让它涵盖多个月,你将不得不使用 IF
和 TIME
运算符的组合在月初将行重置为 0。
版本 1.5.4 将包含一个名为 STEPWIDTH 的附加运算符,它将步长推入堆栈,使这更简单。
这是一个常见的问题,网上很少有答案,但我第一次遇到用 RRD 做这个的方法是在 2009 年。
要使用的 DS 类型是 GAUGE,在您的更新脚本中手动处理在月初将 GAUGE 重置为 0 以获取每月使用情况图表。
然后出现了 RRDTool 的“mrtg-traffic-sum”包。
最近我不得不同时监控流量带宽和流量,因此我首先为此创建了一个标准 RRD 并确认它正在运行。
因此,随着带宽被采样(捕获到 RRD),然后使用 mrtg-traffic-sum 工具生成所需的统计信息,如下例所示,然后将它们泵入另一个仅使用 GAUGE DS 类型创建的 RRD只有最后一个(不需要 MIN/AVG/MAX)。
这允许使用 RRD 收集流量带宽以及每月流量/流量配额限制。
root@server:~# /usr/bin/mrtg-traffic-sum --range=current --units=MB /etc/mrtg/R4.cfg
Subject: Traffic total for '/etc/mrtg/R4.cfg' (1.9) 2022/02
Start: Tue Feb 1 01:00:00 2022
End: Tue Mar 1 00:59:59 2022
Interface In+Out in MB
------------------------------------------------------------------------------
eth0 0
eth1 14026
eth2 5441
eth3 0
eth4 15374
switch0.5 12024
switch0.19 151
switch0.49 1
switch0.51 0
switch0.92 2116
root@server:~#
从 mrtg-traffic-sum 开始,只需编写一个脚本,用这些值填充您的第二个 rrd & 很快您也有一个流量/配额图。
以下数据来自移动 phone 提供商,它是特定时间下载的 kb 列表,通常以每分钟为基础。
它不是平均值,也不是最大值,而是该时间间隔的总和,可以精确跟踪数据消耗。这些图是用 PIL 制作的,而不是显示尖峰来指示大量数据消耗,可以看到大的步骤,这更能说明问题,因为它不仅告诉 "much happened here",而且告诉 "exactly this much happened here" .例如第二张图星期六晚上 10 分钟 100mb。速率变化图不会提供足够的信息。
我也在尝试找到一种方法来使用 rrd。
在使用 COUNTER 跟踪我的网络数据使用情况时,我误以为我能够精确计算 monthly/weekly 累积数据使用情况,但现在证明这是一个错误的假设。
我如何将数据存储在 rrd 中以便能够轻松生成如下图?那是通过使用 ABSOLUTE 并且在更新它之前我会减去之前的插入值吗?查每月使用量时会精确到字节吗?
您可以很容易地将图表中的所有值相加:
CDEF:sum=data,$step_width,*,PREV,ADDNAN
如果您的图表仅包含一个月,那么您应该只做一个月。如果你想让它涵盖多个月,你将不得不使用 IF
和 TIME
运算符的组合在月初将行重置为 0。
版本 1.5.4 将包含一个名为 STEPWIDTH 的附加运算符,它将步长推入堆栈,使这更简单。
这是一个常见的问题,网上很少有答案,但我第一次遇到用 RRD 做这个的方法是在 2009 年。
要使用的 DS 类型是 GAUGE,在您的更新脚本中手动处理在月初将 GAUGE 重置为 0 以获取每月使用情况图表。
然后出现了 RRDTool 的“mrtg-traffic-sum”包。 最近我不得不同时监控流量带宽和流量,因此我首先为此创建了一个标准 RRD 并确认它正在运行。
因此,随着带宽被采样(捕获到 RRD),然后使用 mrtg-traffic-sum 工具生成所需的统计信息,如下例所示,然后将它们泵入另一个仅使用 GAUGE DS 类型创建的 RRD只有最后一个(不需要 MIN/AVG/MAX)。
这允许使用 RRD 收集流量带宽以及每月流量/流量配额限制。
root@server:~# /usr/bin/mrtg-traffic-sum --range=current --units=MB /etc/mrtg/R4.cfg
Subject: Traffic total for '/etc/mrtg/R4.cfg' (1.9) 2022/02
Start: Tue Feb 1 01:00:00 2022
End: Tue Mar 1 00:59:59 2022
Interface In+Out in MB
------------------------------------------------------------------------------
eth0 0
eth1 14026
eth2 5441
eth3 0
eth4 15374
switch0.5 12024
switch0.19 151
switch0.49 1
switch0.51 0
switch0.92 2116
root@server:~#
从 mrtg-traffic-sum 开始,只需编写一个脚本,用这些值填充您的第二个 rrd & 很快您也有一个流量/配额图。