磁盘空间的Elastalert规则

时间:2019-06-12 17:19:23

标签: elasticsearch elastalert metricbeat

我正在使用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,使用命令禁用自身。

还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

创建了一个自定义规则。有关更多详细信息,请查看此帖子: Using Elastalert to monitor disk growth