我有一个使用Influxdb查询的Seyren警报设置。即
SELECT (sum("failures") / sum("total")) * 100 FROM metrics WHERE time > now() - 15m
当25%的流量失败时,警报会发出警告;当达到50%的流量时,则会报告错误。
但是此规则有缺陷。如果针对低流量数据库进行设置,则单个错误会生成警报。更糟糕的是,除非有足够多的良好流量跟随不良情况,否则警报将无法自动解决。
理想情况下,我想设置一个下限。例如报告错误之前,必须至少有5个失败。因此,在这种情况下,仅在以下情况下发送错误警报
但是,这很难实现。如果可以运行多个Influxdb查询,则有可能。但是塞伦把我限制在一个。
有没有已知的解决方案?还是我需要考虑重构?