[Linux]配置Logwatch使用第三方smtp发送电子邮件

一、Logwatch介绍

Logwatch是一款专门监测Linux日志的软件。它可以将日志统计分析并通过邮件发送给指定收件人[1][2]。

二、背景

一个基于CentOS6.1的实验用Linux集群。由于其架设在内网,没有公网IPv4地址。而所采用的DNS服务商又不支持AAAA记录。因此打算使用其他SMTP将日志发送到我的邮箱。

三、过程

1.首先配置mailx所使用的SMTP。修改/etc/mail.rc并添加smtp身份认证信息[3]。例如

set from=monitor@yourdomain.com
set smtp=smtp.yourdomain.com
set smtp-auth=login
set smtp-auth-user=monitor
set smtp-auth-password=PassWord

2.我发现/etc/cron.daily/0logwatch中,任务使用了默认配置文件/usr/share/logwatch/default.conf/logwatch.conf ,因此修改该配置文件

第35行 MailTo = 接收日志用的邮箱,多个邮箱用英文逗号分隔

第44行 MailFrom = monitor@yourdomain.com #由于部分SMTP不允许邮件别名,建议此地址与mailx配置的发件人相同。

第109行 mailer = "mailx -t" #将邮件客户端更换为mailx。其中-t参数表示从内容中直接读取邮件头。参考 man mailx

3.手动执行logwatch。等待一会儿,就会收到邮件。如果失败,可以查看系统日志或者在系统中执行mail,查看用户的本地邮件。

 

OT. 在配置Rocks Cluster时若需要让全部节点将日志都使用外部smtp发送邮件,需要手动修改所有节点的上述文件。

[1] http://sourceforge.net/projects/logwatch/

[2] http://dbanotes.net/opensource/logwatch_linux_log.html

[3] http://lwg2001s.iteye.com/blog/1826020

posted on 2013-11-30 21:07  sztsian  阅读(934)  评论(0编辑  收藏  举报

导航