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


13

我的服务器电源按钮有问题,喜欢重新启动。通常会有警告标志,例如/ var / log中的acpid日志文件开始向垃圾邮件发送垃圾邮件大约10个小时左右。

有什么简单的方法可以让我监视某些东西并在有新活动时通过电子邮件将其发送给我?

我不会认为自己非常先进,因此,完成此类任务可能需要的任何“指南”都将非常有帮助,也非常感谢。谢谢!


更换电源按钮和/或服务器是否是可行的解决方案?
Meetai.com 2014年

Answers:


19

您可以使用LogWatch之类的东西。甚至是一个像这样的简单脚本(您需要为您的环境修改它的伪代码):

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

将其放在cron中,使其每小时运行约一小时,您应该收到一封电子邮件,让您知道它何时变得很奇怪。


1
logwatch对我来说很棒。
J.Zimmerman 2009年

3
该脚本的问题在于它将反复发送相同的错误,直到文件旋转为止
chmeee

在Ubuntu / Debian上,可以通过以下方式安装
logwatch

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>

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

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



3

您可以发送如下内容:

EMAILMSG="/tmp/logreport.$$"
echo "Something to put in the email" >> $EMAILMSG

cat $EMAILMSG | mail -s "Whatever Subject You Like" user@domain.com
rm -f $EMAILMGS

3

我正在使用带有IPMI工具的Zabbix来按需重启有故障的服务器。另外,我认为OSSEC也是一个不错的选择,但是在将其投入生产之前,您确实需要进行实验和调试。


3

在服务器上下载并安装Splunk。它类似于logwatch,但是为您的日志提供了搜索引擎。

您可以对其进行配置以对日志建立索引,然后可以搜索日志并查找模式,查找错误,然后查看在该特定故障点上其他日志在做什么。

还可以将其设置为在特定阈值下发送警报或执行脚本。因此,如果特定错误开始被发送到您的日志中,则可以对其编写脚本以自动重新启动有问题的服务。

我们在服务器群集中使用了splunk,这真是救命稻草!


+1为Splunk看起来不错,我今晚晚些时候尝试一下。
Mark Davidson

1

在以前的雇主那里,我们使用了logsurfer +来实时监视日志并发送电子邮件警报。确实需要花费大量时间和配置来调整误报,但是我们有一个规则集可以很好地适用于各种发现和警报,比起类似的目的,Nagios的价值要高得多。

不幸的是,我再也无法访问配置文件来提供我们过滤的样本,但是该站点应该提供更多信息和示例。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.