我在 Debian 7.0 x64 上有一个 nginx/1.2.1,我想在发生错误时采取一些措施,比如给我发邮件。我在网上找到了监控文件并在文件更改时采取一些措施的方法,但如果我监控 error.log,我将不得不读取它的内容并在发送电子邮件后始终删除内容,我必须这样做才能仅发送最后一个错误(错误),但我想保持 error.log 完好无损。
有什么更好的方法来进行这种错误监控?
答案1
使用类似Logstash监控您的文件。Logstash(以及大多数其他精心编写的)日志分析工具将跟踪其当前日志位置,因此不会采取重复操作。
Logstash 可以使用多种机制发送警报:电子邮件、XMPP、Twitter 等。
另外,值得注意的是,logstash 不适用于“批处理模式”或定期从 cron 运行。启动 logstash 后,它会不断监视您的日志文件,并在找到与您指定的模式匹配的行时立即发送警报。