我在 Monits 内容检查方面遇到了问题。我知道我可以像这样检查日志文件
check file test.log with path logs/test.log
if not match "something" for 5 cycles then alert
但是日志文件有太多变量,而且增长速度非常快,所以每行都会提醒我。我遇到的问题是我需要忽略其他所有内容。我知道我可以在 monit 检查内容中使用忽略变量来做到这一点,但这对我没有帮助,因为每秒都会有数字变化。我需要一种方法来检查这个日志文件,文件大小和时间戳对我没有帮助,因为如果数据库丢失,日志文件仍会增长,因为它会给我错误数据库已消失。现在我需要一种方法来监控它,这样我才知道我的消息会发送给用户。有人对此有好的解决方案吗?我真的需要它。
答案1
对此问题的部分修复是固定您的搜索。
check file messages with path /var/log/messages
ignore match ".*monit"
if match "trying to execute job" then alert
或者也许完善您的正则表达式或搜索更好或更具代表性的字符串。您可以添加可以更清楚地显示故障情况的应用程序日志吗?
你基本上是在用“如果 5 个周期(5 分钟)内没有发生,请提醒我”,也许更好的方法是使用通用不活动日志监视器。Monit 可能不是解决方案。