我正在使用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,使用命令禁用自身。
还有更好的方法吗?