Logwatch日志分析工具

介绍:
Logwatch是使用 Perl 开发的一个日志分析工具。Logwatch能够对Linux 的日志文件进行分析,并自动发送mail给相关处理人员,可定制需求。

Logwatch的mail功能是借助宿主系统自带的mail server 发邮件的,所以系统需安装mail server , 如sendmail,postfix,Qmail等
安装:
RedHat,CentOS: yum -y install logwatch
debian,Ubuntu: apt-get install logwatch

目录结构:
/usr/share/logwatch
    default.conf/    # 配置目录
        logwatch.conf  # 主配置文件,收件人,级别等
        logfiles/      # 定义待分析服务的日志文件组路径,相对于/var/log(*.conf)
        services/      # 自定义需分析日志的Service目录(*.conf)
    scripts/          # 可执行脚本
        logwatch.pl    # 启动分析的perl脚本,/usr/sbin/logwatch的源链接
        logfiles/      # 可包含多个logwatch日志文件组的子目录,对应的日志服务运行的时候,子目录下的脚本会自动被调用
        services/      # logwatch日志服务的过滤脚本,一一对应
        shared/        # 可被多个logwatch日志服务引用的脚本
    dist.conf/
        logfiles/
        services/
    lib/

默认情况下使用的是/usr/share/logwatch/default.conf/logwatch.conf作为主配置文件,但在/etc/logwatch/conf/logwatch.conf中的存在配置选项会覆盖前一个(/usr/share/logwatch下的logwatch.conf还是会起作用,比如在/etc/logwatch的logwatch.conf中没有的选项)。但优先级最高的是在执行命令行中指定的选项。
在/etc/logwatch下也存在一个与/usr/share/logwatch类似的目录结构,可以在这里添加自定义的监控日志信息。配置结构:
这三个目录的内容是/usr/share/logwatch/default.conf,/usr/share/logwatch/dist.conf和/etc/logwatch/conf,都有相同结构:
services:此子目录包含配置特定于每个服务的文件。Logwatch确定哪些服务可用检查此目录的内容。每个服务配置文件由其服务名称带有“.conf”后缀。
logfiles:此子目录包含日志文件组配置文件。每个日志文件组配置文件包含有关信息一个或多个具有相同格式的日志文件。几个服务可能使用相同的日志文件组配置文件。每一个配置文件由组命名名称与“.conf”后缀。许多的组名取自该名称的系统日志文件(如消息,邮件日志,安全等),但不总是。
logwatch.conf:此文件包含默认值整体执行Logwatch,并影响全部的服务。它的许多参数都可以当命令行开关被覆盖调用Logwatch可执行文件。
ignore.conf:该文件指定正则表达式,当与logwatch的输出匹配时,会抑制匹配线,无论哪一个正在执行服务。
/etc/logwatch/conf目录也可能包含文件'override.conf'
可执行结构:
两个目录的内容/usr/share/logwatch/scripts和/etc/logwatch/scripts具有相同的结构:
services:此子目录包含可执行文件为每项服务。除非另有规定在配置服务文件(见上文)中,可执行文件是用perl语言编写的。
shared:此子目录包含可执行文件由多个配置服务调用文件。
logfiles:此子目录可能包含子目录日志文件组名。每个可执行文件这些子目录自动被调用运行使用相应的服务日志文件组名。

编辑配置:
cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf
vim /etc/logwatch/conf/logwatch.conf  #配置文件中不区分大小写
MailTo = root      #指定电子邮件地址,每日发送报告,多邮箱逗号隔开
LogDir = /var/log  #定义日志文件位置
TmpDir = /var/cache/logwatch    #缓存
MailFrom = Logwatch  #邮件发送来源
Print =            #选项yes会打印到系统输出,不会发送到设定邮箱,NO则会发送到邮箱
Range = yesterday  #接受范围,如yesterday昨天或today今天或all所有
#Range = all  #当配置所有日志时,必须配上archive = yes 将会处理所有的包括已存档的日志
#Archive = yes
Detail = High    #等级,低:Low=0,中:Med=5,高:High = 10  字母或数字都可以
Service = All    #所有服务,或指定某个服务
Service = "-zz-network"    #在前面加“-”表示不监控服务
Service = "-zz-sys"        #Service选项指定想要监控的一个或多个服务。在/usr/share/logwatch/scripts/services目录下列出的服务都能被监控
Service = "-eximstats"     
mailer = "sendmail -t"  #指定发送邮件的客户端
#DailyReport = No  #禁止每日执行任务
#Output = <mail,html,unformattted>  #指定输出格式
#Save = /tmp/logwatch  #将会把输出报错到文件中

使用:
检测命令
/usr/bin/perl /usr/share/logwatch/scripts/logwatch.p

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8931cb6e9c037b64b95e43745023ed61.html