“Service” 选项指定想要监控的一个或多个服务。在 /usr/share/logwatch/scripts/services 目录下列出的服务都能被监控,它们已经涵盖了重要的系统服务(例如:pam,secure,iptables,syslogd 等),也涵盖了一些像 sudo、sshd、http、fail2ban、samba等主流的应用服务。如果您想添加新的服务到列表中,得编写一个相应的日志处理 Perl 脚本,并把它放在这个目录中。
如果这个选项要用来选择特定的服务话,您需要把 /usr/share/logwatch/default.conf/logwatch.conf 文件中的 "Service = All " 这一行注释掉。
Format=<text|html>
“Format” 配置指令定义了一份 logwatch 报告的格式(比如 text 或者 HTML)。
Output=<file|mail|stdout>
"Output" 配置指令定义生成的 logwatch 报告要发送的目的地。它能被保存成文件(file),生成电子邮件(mail)或者是直接在屏幕上显示(stdout)。
用 Logwatch 来分析日志文件要弄明白怎么使用 logwatch 来分析日志文件,可以参考下面的 logwatch.conf 文件例子:
Detail=High
MailTo= youremailaddress@yourdomain.com
Range=Today
Service= http
Service= postfix
Service= zz-disk_space
Format= html
Output= mail
使用这些设置,logwatch 将会处理三个应用服务(http、postfix 和 zz-disk_space)当天产生的日志,生成一份非常详细的 HTML 格式报告,然后邮件给您。
如果您不想个性化 /etc/logwatch/conf/logwatch.conf,您可以不修改此文件让其默认,然后在命令行里运行如下所示的命令。也会得到同样的输出。
# logwatch --detail 10 --mailto youremailaddress@yourdomain.com --range today --service http --service postfix --service zz-disk_space --format html --output mail
电子邮件发送的报告样子如图示:
这份电子邮件头部包含指向导航到报告细节的链接,在每个选中的服务细节,也会有“返回顶部”的链接。
接收人很少的情况下您可能会使用电子邮件发送报告这个选项。其它情况下,您可能会把让其生成为 HTML 格式的报告,这样每个想看这份报告的人都可以从网络共享里看到。只需要把上面例子中的配置做些修改就可以实现:
Detail=High
Range=Today
Service= http
Service= postfix
Service= zz-disk_space
Format= html
Output= file
Filename=/var/www/html/logs/dev1.html
同样的,也可以在命令行中运行如下的命令。
# logwatch --detail 10 --range today --service http --service postfix --service zz-disk_space --format html --output file --filename /var/www/html/logs/dev1.html
最后,让我们使用 cron 来配置 logwatch 的定时执行任务。下面的例子中,将会在每个工作日的下午 12:15 分运行 logwatch 调度任务。
# crontab -e
1512**1,2,3,4,5/sbin/logwatch
希望这会有所帮助。欢迎到社区发表评论或分享自己的心得和体会!