如何使用RRDTOOL计算DEF总数

问题描述 投票:0回答:1

我正在尝试使用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个回答
0
投票

如果要在一段时间内计算比率变量的总和,则可以使用有用的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

© www.soinside.com 2019 - 2024. All rights reserved.