【问题标题】:How to calculate DEF total using RRDTOOL如何使用 RRDTOOL 计算 DEF 总数
【发布时间】:2020-03-16 04:32:08
【问题描述】:

我正在尝试使用 python rrdtool 计算总 octets_in。我有这个,但它没有给我正确的输出。

这是一个数据样本

[
   406.29947919463086
],
[
   433.0391666666667
],
[
   430.70380365448506
]

我希望总数为 1269

我的 def、cdef 和 vdef 是

f'DEF:OCTETS_IN={self.file_name}:OCTETS_IN:AVERAGE'
'CDEF:octets_in=OCTETS_IN,PREV,ADDNAN',
'VDEF:out_octets_in_total=octets_in,AVERAGE'

我可以在 rrdtool 中使用的唯一运算符是 AVERAGE、MINIMUM、MAXIMUM 和 PERCENT,它们都给出了错误的结果。

有人知道怎么做吗?

【问题讨论】:

    标签: python-3.x rrdtool


    【解决方案1】:

    如果你想计算某个时间段内的速率变量的总和,那么有一个有用的 VDEF 函数来计算sum( var x stepsize )

    例如,

    DEF:octetspersec=file.rrd:IN:AVERAGE
    VDEF:octetstotal=octetspersec,TOTAL
    

    现在,octetstotal 根据octetspersec 变量中保存的速率保存图形时间窗口内的八位字节总数。

    如果您有旧版本的 RRDTool,您可能没有TOTAL 功能。在这种情况下,使用AVERAGE,然后乘以STEPWIDTH 和图形的像素宽度。

    请注意,如果您的变量已经保存了该间隔的字节数,那么您不需要乘以步长。由于 TOTAL 函数会执行此操作(因为它假定变量是比率),因此您需要再次将 VDEF 结果除以 STEPWIDTH

    有关使用 RPN 功能的更多详细信息,请参阅here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2019-05-25
      • 2018-08-24
      • 1970-01-01
      • 2012-02-28
      • 2016-12-31
      • 2023-04-03
      相关资源
      最近更新 更多