避免从日志文件触发重复警报的脚本

避免从日志文件触发重复警报的脚本

我需要开发一个 bash 脚本,通过读取所有服务日志文件来触发错误和警告的更改。我们有近700个服务,我使用API​​将服务的日志一一下载并从单机触发邮件。

在第一次循环期间,我在发送警报后保存日志。在下一个循环中,我将diff处理新下载的日志和已保存的日志,然后检查差异输出上的错误并触发邮件。这样我就可以避免发送重复的警报。

但我不习惯存储所有 700 个服务的日志来进行比较,它占用了我机器的大量空间。

是否有替代逻辑来避免发送重复的警报?

答案1

假设日志有时间戳(它们应该有),记住每个日志的最后时间戳就足够了。然后,在新日志中,您将跳过具有较旧时间戳的所有条目。因此,您可以将每个日志缩短为带有时间戳的一行。那内存不多了。

相关内容