我正在尝试使用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 使用的运算符是平均值、最小值、最大值和百分比,它们都给出了错误的结果。
有人知道怎么做吗?
sum( var x stepsize )
例如
DEF:octetspersec=file.rrd:IN:AVERAGE
VDEF:octetstotal=octetspersec,TOTAL
现在,octetstotal
根据octetspersec
变量中保持的速率保存图形时间窗口内的八位字节总数。
如果您使用的是旧版本的 RRDTool,则可能没有 TOTAL
功能。 在这种情况下,请使用 AVERAGE
,然后乘以图形的像素宽度STEPWIDTH
。
请注意,如果您的变量已经保存了该间隔的字节数,则无需乘以步宽。 由于 TOTAL 函数执行此操作(因为它假设变量是一个速率(,因此您需要再次将 VDEF 结果除以 STEPWIDTH
。
有关使用 RPN 函数的更多详细信息,请参阅此处