我正在使用 metricbeat 监控磁盘空间使用情况。
现在我想根据磁盘大小通过 Elastalert 发出警报。
使用的磁盘空间超过 50% 时发出警报
使用的磁盘空间超过 70% 时发出警报
使用的磁盘空间超过 80% 时发出警报
当磁盘空间使用超过 95% 时发出警报
使用的磁盘空间超过 100% 时发出警报
现在这里的问题是,当它超过某些阈值(50、70、80、95、100)时,应该只发出一次警报
因此,如果已经发送超过 50% 标记的警报,则不应发送 50.1% / 50.2% / ... / 69.9% 的警报
只有在超过 70% 时才应发出下一个警报。
初步方法:
If (dir size==50 || dir size==70 || dir size ==80 || dir size==95 || dir size ==100)
alert
我计划使用“任何规则”将磁盘空间字段匹配到不同的值和警报。但这也可能会产生错误警报,原因是如果存储在过去 1 小时内以 50.0% 饱和(考虑没有新数据写入数据库),如果我们每 10 分钟评估一次规则,它将在那一小时内发出 6 次警报. 我也不想使用 realert,因为我不知道要等多久。
方法 v1:
制作 n 个规则配置,其中 n 是不同条件的数量
realert:
weeeks: 9999
这种方法并不理想,因为我们需要重复警报。示例 -当使用率降至 50% 以下,然后再次超过 50% 时,需要发出警报。
方法 v2: 可以使用两个规则的组合。(仅考虑 50%)
规则 1:检查磁盘空间 >= 50,发送邮件,启用规则 2 并使用命令禁用自身
规则 2:检查磁盘空间 <50,启用规则 1,使用命令禁用自身。
有更好的方法吗?