Chinaunix首页 | 论坛 | 博客
  • 博客访问: 868480
  • 博文数量: 275
  • 博客积分: 3904
  • 博客等级: 中校
  • 技术积分: 4605
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-17 21:10
文章分类

全部博文(275)

文章存档

2014年(9)

2013年(124)

2012年(142)

分类: 系统运维

2013-04-17 11:14:58

  Logwatch,顾名思义,是一款专门监测 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点就会给指定邮箱系统发送系统日志
阅读(945) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~