【问题标题】:How to get max in and max out values from rrd files in single rrd command如何在单个 rrd 命令中从 rrd 文件中获取最大输入和最大输出值
【发布时间】:2015-10-02 05:49:36
【问题描述】:

我们设置了 MRTG 来监控网络。因此,我们使用 RRD 工具来获取绘图数据。现在我创建了一个脚本,它实际上从 RRD 文件中获取数据,所以从获取的数据中我需要在 24 小时内最大输入和最大输出。现在有了这些最大值,我计算每个客户/链接的 badwidth 利用率。

现在我的问题是,单个 rrd 命令从 RRD 文件中获取最大输入、最大输出、最小输入和最小输出值。

由于我是此 RRD 的新手,因此如果您的解决方案还提供命令,我将不胜感激。

请帮忙。

【问题讨论】:

    标签: php rrdtool rrd mrtg


    【解决方案1】:

    对于 MRTG 创建的 RRD 文件,“输入”和“输出”数据源分别命名为“ds0”和“ds1”。存在 8 个 RRA;这些对应于 AVG 和 MAX 汇总的 5 分钟、30 分钟、2 小时和 1 天的粒度。默认情况下,它们的长度为 400(旧版本的 MRTG)或长度 800(新版本的 MRTG),这意味着您可能分别有 2 天、2 周、2 个月和 2 年的时间窗口。 RRA。 (请注意,RRDTool 1.5 可能会省略 1pdp MAX RRA,因为这在功能上与 1pdp AVG RRA 相同)

    这对你意味着什么:

    • 您没有 MIN 类型的 RRA。如果在最近 2 天内工作,则可以从最高粒度的 AVG RRA 计算。否则,您的数据将越来越不准确。
    • 您的最低粒度 RRA 每天保持 MAX 值。然而,这些日子是在 UCT 午夜而不是当地时间午夜分开的。您没有指定需要计算哪些 24 小时窗口。

    如果您只对最近 24 小时的计算感兴趣,那么所有计算都可以使用最高粒度的 RRA。

    请注意,由于步长边界都是使用 UCT 计算的,除非您居住在该时区,否则您无法使用 FETCH 或 XPORT 来获取您需要的数据,因为您需要在一般时间窗口内进行汇总。

    要检索数据,您可以使用以下方法:

    rrdtool graph /dev/null -e 00:00 -s "end-1day" --step 300 
      DEF:inrmax=target.rrd:ds0:AVERAGE:step=300:reduce=MAXIMUM 
      DEF:outrmax=target.rrd:ds1:AVERAGE:step=300:reduce=MAXIMUM 
      DEF:inrmin=target.rrd:ds0:AVERAGE:step=300:reduce=MINIMUM 
      DEF:outrmin=target.rrd:ds1:AVERAGE:step=300:reduce=MINIMUM
      VDEF:inmax=inrmax,MAXIMUM 
      VDEF:inmin=inrmin,MINIMUM
      VDEF:outmax=outrmax,MAXIMUM 
      VDEF:outmin=outrmin,MINIMUM 
      LINE:inrmax 
      PRINT:inmax:"In Max=%lf"
      PRINT:inmin:"In Min=%lf"
      PRINT:outmax:"Out Max=%lf"
      PRINT:outmin:"Out Min=%lf"
    

    对此有几点说明:

    • 我们正在使用“图表”,以便我们可以使用通用时间窗口,而不依赖于步骤边界
    • 使用 rrdgraph 以使用通用时间窗口; fetch 和 xport 将在步骤边界上工作。
    • 我们正在动态汇总最高粒度的 RRA
    • 我们使用 /dev/null 因为我们实际上并不想要图形图像
    • 我们必须在图中定义一条虚拟线,否则我们什么也得不到
    • DEF 行指定了最高粒度步骤和减少 CF。如果您使用 5 分钟步数,则可以跳过此部分
    • 我们使用 VDEF 计算汇总值,然后使用 PRINT 将它们打印到标准输出上
    • 输出的第一行将是图形大小;你可以放弃这个

    当您从 php 脚本调用 rrdtool::graph 时,只需像命令行操作一样将参数传递给它。如果您不使用 Linux,则可能需要使用 /dev/null 以外的其他内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 2020-08-16
      • 2015-06-29
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多