我在 rrd 文件中收集了大量数据。有谁知道可以显示“尖峰”的脚本或 rrd 工具集的一部分吗?
基本上,我想给它一个由开始时间和结束时间指定的窗口。然后,也许高于平均值的阈值将被视为峰值。然后,我希望该工具打印出这些峰值和值的时间戳。
我知道我可以制作一些图表并查看它们,但这并不是我真正想要的。如果没有人有解决方案,我可能会用 Perl 编写一些东西,所以也欢迎任何建议。
答案1
寻找尖峰通常是一个有趣的问题。你的数据有噪音吗?
尝试像这样使用 TREND 修饰符
CDEF:trendvar=oldvar,3600,TREND
获得滚动的1小时平均值(或任何看起来像良好的平滑间隔)。
使用 RPN 将其与当前值进行比较,并使用另一个 CDEF 突出显示峰值。
我发现基于百分比的围绕移动指标的区间价值有限。
我已经构建了交互式 cgi 来帮助使用 RRDtool 和 jQuery 探索上/下峰值检测。
答案2
我用的是更高版本的移除尖刺从 RRDtool 的 contrib 目录中查找并删除超过一定百分比或值的峰值。
我不确定它是否会打印出您需要的值。但如果不能,那么 perl 应该是您所需的确切基础。