logwatch

Logwatch是一款用Perl编写的日志分析工具,用于Linux系统的日志文件分析,并可根据配置发送邮件通知。本文介绍Logwatch的安装配置过程,包括设置邮件发送、日志详细度、监控服务等内容。

【 描述 】 Logwatch是使用 Perl 开发的一个日志分析工具 Logwatch能够对Linux 的日志文件进行分析,并自动发送mail给相关处理人员,可定制需求 Logwatch的mail功能是借助宿主系统自带的mail server 发邮件的,所以系统需安装mail server , 如sendmail,postfix,Qmail等

本文yum安装配置 yum install -y logwatch

【 配置 】

a. 配置文件在 /etc/logwatch , 相关配置模板在 /usr/share/logwatch

cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf

如果不做这一步 , /etc/logwatch/conf/logwatch.conf 是一个空文件

默认配置会使用 /usr/share/logwatch/default.conf/logwatch.conf

b. vim /etc/logwatch/conf/logwatch.conf

LogDir = /var/log              logwatch 会去 /var/log 找你定义的 log 文件 TmpDir = /var/cache/logwatch # Save = /tmp/logwatch         开启此项, 处理结果将保存在/tmp/logwatch, 不邮寄或显示 MailTo = your@mail.com         多个邮箱逗号隔开 MailFrom = Logwatch            当你收到邮件时, 显示是谁发给你的 Range = All 处理什么时候的日志 , 可选项 All , Yesterday , Today , 即所有, 昨天的 , 今天的 Detail = High                  日志详细度, 可选项 Low , Med , High , 或是 0-10数字 Print = No                     可选项, Yes 会被打印到系统标准输出, 并且不会以邮件的形式发送到 MailTo 设定的邮箱里 , No 选项则会发到邮箱中 Server = All                   监控所有服务 all Service = “-httpd”             不监控的服务前面加 “-” , 如 -httpd , 即不监控 httpd 服务 , 可以写多条 Service = “-sshd”

【 Logwatch 使用 】 a. 配置好以后 , 使用如下命令测试 /usr/bin/perl /usr/share/logwatch/scripts/logwatch.pl

你会发现没有 httpd , sshd 服务的日志报告 , 去掉 Service = “-sshd” 配置 , 再执行上面命令 , 就可以看到 sshd 服务的 report 了

b. Logwatch 并不是以系统服务形式来跑的 , 而是靠在命令行上敲的 , 所以可以使用 crontab 来定时执行 在配置好 Logwatch 后 , 会生成一个软链 /etc/cron.daily/0logwatch , 对应文件为 /usr/share/logwatch/scripts/logwatch.pl 你可以删除这个软链 , 并重写 crontab :

* 00 * * *  /usr/bin/perl /usr/share/logwatch/scripts/logwatch.pl >/dev/null 2>&1

【 Logwatch 命令行使用 】 Logwatch 也可以在命令行上使用, 如下例子: logwatch –detail High –Service All –range All –print    # 显示所有日志, –detail , –Service, –range 开关可以在 logwatch.conf 中 找到 logwatch –service cron –detail High                     # 查看 sshd 日志

以下是 logwatch 的参数解释: –detail <level>:            报告的详细度,可选项: High, Med, Low , 数字 0-10 –logfile <name>:            指日志文件名 –service <name>:            服务名,有对应的解析脚本,可以在 /usr/share/logwatch/scripts/services 中找到 –print:                     打印打标准输出 –mailto <addr>:             收件人地址 –archives:                  使用压缩的文件, 轮转的文件, 例如 messages.1、messages.1.gz –save <filename>:           保存到文件 –range <range>:             日期范围, Yesterday, Today, All –debug <level>:             调试级别: High, Med, Low –splithosts:                为每个主机创建一份报告 –multiemail:                将报告发送给多个邮件地址

【 故障排除 】 如果没有收到 Logwatch日志报告邮件 , 请检察本地 sendmail 服务是否正常

直接指定邮件发送

#logwatch --range today --print --mailto sina@sina.com  当天

/usr/share/logwatch/scripts/logwatch.pl --mailto sina@sina.com

转载于:https://www.cnblogs.com/yi88/p/3144629.html

### Logwatch 的用途与配置 Logwatch 是一种日志分析工具,它通过解析系统的日志文件并生成报告来帮助管理员了解服务器上的活动情况。它可以提供每日摘要报告,使用户能够快速掌握系统的关键事件和潜在问题[^2]。 #### 配置 Logwatch Logwatch 可以通过修改其配置文件来自定义行为。默认情况下,Logwatch 使用 `/usr/share/logwatch/default.conf` 或 `/etc/logwatch/conf/` 下的配置文件。以下是几个重要的配置选项: - **Detail Level**: 控制报告的详细程度。可以设置为 `0`, `5`, 或 `10` 来调整输出的细节级别。 ```bash Detail = 10 ``` - **Service Selection**: 用户可以选择要监视的服务列表。例如,仅关注 SSH 和邮件服务的日志记录。 ```bash Service = sshd Service = mail OnlyServices = "sshd mail" ``` - **Mail Output**: 如果希望接收电子邮件形式的报告,则需指定收件人的邮箱地址。 ```bash MailTo = admin@example.com ``` - **Time Range**: 设置时间范围以便只查看特定时间段内的日志条目。 ```bash Range = yesterday ``` #### 运行 Logwatch 可以通过命令行运行 Logwatch 并生成即时报告: ```bash logwatch --detail 10 --service all --range yesterday --mailto admin@example.com ``` 上述命令会生成一份详细的昨日日志报告并通过电子邮件发送给指定的管理员账户。 对于定期任务,通常将其加入到 cron 定时器中以实现自动化操作。例如每天凌晨两点执行一次: ```bash 0 2 * * * /usr/sbin/logwatch --output mail --format html --mailto admin@example.com ``` 此 Cron 表达式会在每晚两点半触发脚本并将 HTML 版本的结果发至指定电子信箱。 ### 日志过滤功能 如果某些类型的警告消息不需要出现在最终报表里,那么可以在相应的 service 文件夹下创建排除规则。比如屏蔽掉频繁发生的失败登录尝试通知: ```bash vi /etc/logwatch/conf/services/sshd.conf Ignore = 'Failed password for invalid user' ``` 这样做的好处在于减少噪音干扰的同时让真正值得关注的信息更加突出显示出来[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值