4

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

有更好的方法吗?

4

1 回答 1

1

创建了自定义规则。有关更多详细信息,请查看这篇文章: 使用 Elastalert 监控磁盘增长

于 2019-06-24T08:46:32.173 回答