如何理解 rrdtool 数据库中的主数据点(PDP)?
How to understand Primary Data Point(PDP) in rrdtool database?
如果我将 RRD 转储到 XML,那么在 "PDP Status" 部分下有三个元素:<last_ds>
、<value>
和 <unknown_sec>
。例如:
<!-- PDP Status -->
<last_ds>90</last_ds>
<value>4.2177496500e+03</value>
<unknown_sec> 184 </unknown_sec>
现在据我了解,每次执行"rrd update",我都会更新主数据点(PDP)。看起来像我为 rrdtool update
(例如 rrdtool update test.rrd "N:abc"
)输入的任何值,然后它显示为 <last_ds>
元素的值。但是,<value>
的数字是如何计算出来的呢?我指的是上面示例中的数字 4217.7496500
。这是某种平均水平吗?最后但同样重要的是,虽然我知道 <unknown_sec>
显示了 DS 值未知时的秒数,但这个计数器似乎在 280 - 295 秒左右。怎么解释呢?我的意思是,例如,如果我执行 while true; do rrdtool update test.rrd "N:75"; rrdtool dump test.rrd | grep "<unknown_sec>"; sleep 1; done
,其中 75 低于此 DS 允许的最低值,则输出如下:
/* data not shown for brevity */
<unknown_sec> 280 </unknown_sec>
<unknown_sec> 281 </unknown_sec>
<unknown_sec> 282 </unknown_sec>
<unknown_sec> 0 </unknown_sec>
<unknown_sec> 1 </unknown_sec>
<unknown_sec> 2 </unknown_sec>
/* data not shown for brevity */
<value>
的 PDP 内容是输入值乘以该值有效持续时间的所有乘积的总和。为了构建 PDP,在间隔结束时,将此值除以间隔持续时间减去未知秒数……当新间隔开始时,未知秒数重置为 0……
如果我将 RRD 转储到 XML,那么在 "PDP Status" 部分下有三个元素:<last_ds>
、<value>
和 <unknown_sec>
。例如:
<!-- PDP Status -->
<last_ds>90</last_ds>
<value>4.2177496500e+03</value>
<unknown_sec> 184 </unknown_sec>
现在据我了解,每次执行"rrd update",我都会更新主数据点(PDP)。看起来像我为 rrdtool update
(例如 rrdtool update test.rrd "N:abc"
)输入的任何值,然后它显示为 <last_ds>
元素的值。但是,<value>
的数字是如何计算出来的呢?我指的是上面示例中的数字 4217.7496500
。这是某种平均水平吗?最后但同样重要的是,虽然我知道 <unknown_sec>
显示了 DS 值未知时的秒数,但这个计数器似乎在 280 - 295 秒左右。怎么解释呢?我的意思是,例如,如果我执行 while true; do rrdtool update test.rrd "N:75"; rrdtool dump test.rrd | grep "<unknown_sec>"; sleep 1; done
,其中 75 低于此 DS 允许的最低值,则输出如下:
/* data not shown for brevity */
<unknown_sec> 280 </unknown_sec>
<unknown_sec> 281 </unknown_sec>
<unknown_sec> 282 </unknown_sec>
<unknown_sec> 0 </unknown_sec>
<unknown_sec> 1 </unknown_sec>
<unknown_sec> 2 </unknown_sec>
/* data not shown for brevity */
<value>
的 PDP 内容是输入值乘以该值有效持续时间的所有乘积的总和。为了构建 PDP,在间隔结束时,将此值除以间隔持续时间减去未知秒数……当新间隔开始时,未知秒数重置为 0……