发送有关日志文件条目的电子邮件警报?

dav*_*avr 6 email linux log-files alerts

在 Linux 下,自动查看日志文件并在出现某个字符串时给我发送电子邮件的简单方法是什么?我有一个应用程序可以将某些故障记录到日志文件中,但没有内置的发送警报或在失败时执行脚本的方法。我想我可以用 tail -f 和一些 shell 脚本来安装一些东西,但我宁愿使用现有的维护工具,如果它存在的话。

Wil*_*tri 9

我检查了这个页面上提到的几个选项,最终使用了更简单的东西:swatch

那些其他系统非常适合处理现有的系统日志,或者处理您无法控制输出的软件。我只是不想写一堆代码来做电子邮件通知。所以我刚刚创建了一个这样的样本文件:

watchfor /./
    mail addresses=me\@example.com:other\@example.com,subject=log_alert
Run Code Online (Sandbox Code Playgroud)

然后开始了

swatch -c send-me-everything.swatch -t /my/app/urgentevents
Run Code Online (Sandbox Code Playgroud)

这很粗糙,但由于我控制了日志文件输出,因此我不需要任何更复杂的东西。


dav*_*avr 2

我发现了一个名为tenshi的工具,它似乎完全可以完成我需要它做的事情。它包含在默认的 Debian 存储库中,这很好,但遗憾的是没有包含在 RHEL/CentOS 存储库中(我混合使用了这两种操作系统作为服务器)。