0

用Logwatch工具监控Linux系统Log日志

已有 179 阅读此文人 - - Linux,系统管理 -

用Logwatch工具监控Linux系统Log日志

作者:哈密瓜 blog:http://hi.baidu.com/gyl4802959 Logwatch,顾名思义,是一款专门监测Linux log文件(日志文件)的软件。安装以后只要稍微配置一下,就能每天将主机的log分析文件发送至指定的邮箱。为什么要这么做?因为这样能节省一个个手动查看日志的繁琐,为管理员节省时间,节省精力。并且每天(甚至更频繁)都能准确地接收到日志。从而对服务器的安全情况有所掌握。

以下安装方法适用于所有RPM格式的Linux发行版(比如Redhat等)。
首先到Logwatch的官方网站查找最新版的logwatch。
#wget ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch/logwatch-7.3.6-1.noarch.rpm

检查你的主机上是否已经存在Logwatch(Redhat默认已经安装了Logwatch,不过版本比较旧):
#rpm -qa |grep logwatch

如果主机上没有logwatch,则执行安装:
#rpm -lvh logwatch-7.3.6-1.noarch.rpm

如果有老版本的logwatch,则执行:
#rpm -Uvh logwatch-7.3.6-1.noarch.rpm

安装完毕后,开始配置:
#vi /etc/logwatch/conf/logwatch.conf

查找
MailTo = 然后改为你的实际Email地址,比如 MailTo = a@163.com
Detail = 是细节度,推荐 10 ,即最高

在最后加入
Service = "-zz-network"
Service = "-zz-sys"
Service = "-eximstats"
(注:其实有不过在执行命令发邮件时收不到邮件)

配置实例:

# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)
#Example for logwatch configuration
LogDir = /var/log
TmpDir = /var/cache/logwatch
MailTo = a@163.com,a@yahoo.com.cn //多个邮箱用逗号隔开
MailFrom = Logwatch-test(192.168.2.110)
Print = No
Range = yesterday
Detail = Med
Service = All
Service = "-zz-network"
Service = "-zz-sys"
Service = "-eximstats"
mailer = "sendmail -t"

logwatch默认为每天执行一次(cron.daily)。手动执行logwatch的命令为:
#perl /usr/share/logwatch/scripts/logwatch.pl

命令使用:
#logwatch --print
这条命令将会把昨天的日志信息简要的打印出来. 比如用户登录失败信息、SSH 登录信息、磁盘空间使用等.

单独查看某个服务,比如 SSH 登录信息:
# logwatch --service sshd --print这条命令可以查看使用说明:
# logwatch --help最新版本的 LogWatch 默认有 70 多种 Log 的配置信息. 如果要对自己的特殊 Log 做监控, 定制也是比较容易的。简单记录一下:

让系统定时给指定邮箱发送邮件:
# vi /usr/local/sbin/logwatch.sh
#!/usr/bin/perl
perl /usr/share/logwatch/scripts/logwatch.pl
#chmod u+x /usr/local/sbin/logwatch.sh

#crontab -e
加入:0 0 * * * /usr/local/sbin/logwatch.sh > /dev/null 2>&1

这样系统每天的0点就会给指定邮箱系统发送系统日志……
^.^

期待你一针见血的评论,Come on!

不用想啦,马上 "登录"  发表自已的想法.