从 RRD 数据中获取峰值

从 RRD 数据中获取峰值

我在 rrd 文件中收集了大量数据。有谁知道可以显示“尖峰”的脚本或 rrd 工具集的一部分吗?

基本上,我想给它一个由开始时间和结束时间指定的窗口。然后,也许高于平均值的阈值将被视为峰值。然后,我希望该工具打印出这些峰值和值的时间戳。

我知道我可以制作一些图表并查看它们,但这并不是我真正想要的。如果没有人有解决方案,我可能会用 Perl 编写一些东西,所以也欢迎任何建议。

答案1

寻找尖峰通常是一个有趣的问题。你的数据有噪音吗?

尝试像这样使用 TREND 修饰符

CDEF:trendvar=oldvar,3600,TREND

获得滚动的1小时平均值(或任何看起来像良好的平滑间隔)。

使用 RPN 将其与当前值进行比较,并使用另一个 CDEF 突出显示峰值。

我发现基于百分比的围绕移动指标的区间价值有限。

我已经构建了交互式 cgi 来帮助使用 RRDtool 和 jQuery 探索上/下峰值检测。

答案2

我用的是更高版本的移除尖刺从 RRDtool 的 contrib 目录中查找并删除超过一定百分比或值的峰值。

我不确定它是否会打印出您需要的值。但如果不能,那么 perl 应该是您所需的确切基础。

相关内容