在日志文件条目时发送电子邮件警报?

在日志文件条目时发送电子邮件警报?

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

答案1

我检查了此页面上提到的几个选项,最终使用了更简单的方法:样本

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

watchfor /./
    mail addresses=me\@example.com:other\@example.com,subject=log_alert

然后开始

swatch -c send-me-everything.swatch -t /my/app/urgentevents

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

答案2

在我们找到重量级解决方案之前(芝诺斯)我们曾经使用日志检查它是 Debian 的一部分,但也可以轻松移植到其他发行版。我在 Gentoo 上使用它。像 RHEL 这样​​的发行版附带日志监视,其功能类似。

答案3

最好的方法是使用日志分析程序。

例如,OSSEC 是免费/开源的,允许您查看任意数量的日志文件,并为某些事件生成电子邮件警报(甚至是主动响应)。

关联:http://www.ossec.net

我知道,破解 shell 脚本很有趣,但远不如开发多年的成熟程序稳定。另外,如果将来你需要扩展脚本或添加更多触发器,事情就会变得更加复杂。OSSEC(和其他工具)为你准备了这个框架。

答案4

我找到了一个叫做天使它似乎完全符合我的要求。它包含在默认的 Debian 存储库中,这很好,但不幸的是,它不包含在 RHEL/CentOS 存储库中(我同时使用这两种操作系统作为服务器)。

相关内容