Linux 监控日志和电子邮件警报?

Phy*_*kal 13 linux log-files logging alerts

我有一台电源按钮有问题的服务器,它喜欢自行重启。通常会有警告信号,比如 /var/log 中的 acpid 日志文件开始发送垃圾邮件大约 10 小时左右。

有没有一种简单的方法可以让我监视 acpid 日志并在有新活动时给我发送电子邮件?

我不会认为自己非常先进,因此您可能拥有完成此类事情的任何“指南”都将非常有帮助并且非常感谢。谢谢!

Zyp*_*her 19

你可以使用类似LogWatch 的东西。或者甚至是这样一个简单的脚本(它是伪代码,您需要根据您的环境修改它):

 #!/bin/bash
 GREP_STRING=`grep -c <error string> <acpid log location>`
 if [ $GREP_STRING -ne 0 ] 
 then
    <send email notification>
 fi
Run Code Online (Sandbox Code Playgroud)

把它放在 cron 中每隔一小时左右运行一次,你应该会收到一封电子邮件,让你知道它什么时候变得奇怪。

  • 这个脚本的问题是它会一遍又一遍地发送相同的错误,直到文件被旋转 (3认同)

chm*_*eee 8

您可以使用OSSEC HIDS 为日志文件设置规则,同时从您的主机获取安全信息。

设置非常简单:

  • 下载源码
  • 解压并运行 ./install.sh
  • 选择本地安装
  • 回答问题(电子邮件、支票等)
  • 编辑/var/ossec/rules/local_rules.xml如下指定
  • 启动 OSSEC /var/ossec/bin/ossec-control start

local_rules.xml

<group name="local,syslog,">
  <rule id="100001" level="13">
    <regex>^.*Your string.*$</regex>
    <description>I've just picked up a fault in the AE35 unit. It's going to go 100% failure in 72 hours</description>
  </rule>
</group>
Run Code Online (Sandbox Code Playgroud)

规则可以非常灵活和复杂。请参阅此表以了解规则中涉及的参数。

如果您不想要或不需要其他安全功能,您可以通过删除标签include下的线条来停用它们rules


Mar*_*son 5

我会建议Nagios它是我们在我工作的地方运行的用于监控具有网络的多台机器的东西。它非常好,我没有专门将它用于您所做的事情,但是您当然可以将其设置为在发生错误时向您发送电子邮件。

这里有一个在 Ubuntu 上安装它的指南http://beginlinux.com/blog/2008/11/install-nagios-3-on-ubuntu-810/和一个在http://www.debianhelp上安装的指南。 co.uk/nagiosinstall.htm