davr Asked: 2009-07-01 14:27:43 +0800 CST2009-07-01 14:27:43 +0800 CST 2009-07-01 14:27:43 +0800 CST 发送有关日志文件条目的电子邮件警报? 772 在 Linux 下,有什么简单的方法可以自动查看日志文件,并在出现特定字符串时给我发送电子邮件?我有一个应用程序可以将某些故障记录到日志文件中,但没有内置的方式来发送警报或在失败时执行脚本。我想我可以用 tail -f 和一些 shell 脚本来安装一些东西,但如果它存在的话,我宁愿使用现有的维护工具。 linux email log-files alerts 6 个回答 Voted William Pietri 2010-09-11T13:34:18+08:002010-09-11T13:34:18+08:00 我检查了这个页面上提到的几个选项,最后使用了更简单的东西:swatch。 这些其他系统非常适合处理现有系统日志,或者处理您无法控制输出的软件。我只是还不想写一堆代码来做电子邮件通知。所以我刚刚创建了一个像这样的样本文件: watchfor /./ mail addresses=me\@example.com:other\@example.com,subject=log_alert 然后启动它 swatch -c send-me-everything.swatch -t /my/app/urgentevents 这很粗糙,但是由于我控制了日志文件的输出,所以我不需要任何更复杂的东西。 Kamil Kisiel 2009-07-01T15:30:19+08:002009-07-01T15:30:19+08:00 在我们使用重量级解决方案(Zenoss)之前,我们曾经使用logcheck,它是 Debian 的一部分,但也可以很容易地移植到其他发行版。我在Gentoo上使用它。像 RHEL 这样的发行版带有logwatch,它做类似的事情。 sucuri 2009-07-01T14:34:03+08:002009-07-01T14:34:03+08:00 最好的方法是使用日志分析程序。 例如,OSSEC 是免费/开源的,允许您查看任意数量的日志文件,并为某些事件生成电子邮件警报(甚至是主动响应)。 链接:http ://www.ossec.net 我知道,破解一个 shell 脚本很有趣,但不如多年来开发的成熟程序那么稳定。另外,如果将来您需要扩展脚本或添加更多触发器,它会变得更加复杂。OSSEC(和其他工具)为您完成了这个框架。 NoahD 2009-07-01T15:21:17+08:002009-07-01T15:21:17+08:00 Sourceforge 上的LoFiMo(日志文件监视器)应该可以帮助您入门,否则 NuHe可能会工作,但我对它不太熟悉。 Best Answer davr 2009-07-01T16:41:01+08:002009-07-01T16:41:01+08:00 我发现了一个名为tenshi的工具,它似乎完全可以满足我的需要。它包含在默认的 Debian 存储库中,这很好,不幸的是不在 RHEL/CentOS 存储库中(我将两种操作系统混合为服务器)。 gravyface 2010-09-11T14:50:18+08:002010-09-11T14:50:18+08:00 我知道答案已经被接受,但 rsyslog 更加强大,并且具有内置过滤、SMTP 警报和基于非 syslog 的文件监视功能,适用于不使用 syslog 的应用程序。它现在是 Ubuntu 10.x 上的标准 syslog 实现。
我检查了这个页面上提到的几个选项,最后使用了更简单的东西:swatch。
这些其他系统非常适合处理现有系统日志,或者处理您无法控制输出的软件。我只是还不想写一堆代码来做电子邮件通知。所以我刚刚创建了一个像这样的样本文件:
然后启动它
这很粗糙,但是由于我控制了日志文件的输出,所以我不需要任何更复杂的东西。
在我们使用重量级解决方案(Zenoss)之前,我们曾经使用logcheck,它是 Debian 的一部分,但也可以很容易地移植到其他发行版。我在Gentoo上使用它。像 RHEL 这样的发行版带有logwatch,它做类似的事情。
最好的方法是使用日志分析程序。
例如,OSSEC 是免费/开源的,允许您查看任意数量的日志文件,并为某些事件生成电子邮件警报(甚至是主动响应)。
链接:http ://www.ossec.net
我知道,破解一个 shell 脚本很有趣,但不如多年来开发的成熟程序那么稳定。另外,如果将来您需要扩展脚本或添加更多触发器,它会变得更加复杂。OSSEC(和其他工具)为您完成了这个框架。
Sourceforge 上的LoFiMo(日志文件监视器)应该可以帮助您入门,否则 NuHe可能会工作,但我对它不太熟悉。
我发现了一个名为tenshi的工具,它似乎完全可以满足我的需要。它包含在默认的 Debian 存储库中,这很好,不幸的是不在 RHEL/CentOS 存储库中(我将两种操作系统混合为服务器)。
我知道答案已经被接受,但 rsyslog 更加强大,并且具有内置过滤、SMTP 警报和基于非 syslog 的文件监视功能,适用于不使用 syslog 的应用程序。它现在是 Ubuntu 10.x 上的标准 syslog 实现。