Logcheck
Logcheck 是一个简单的工具,用于扫描日志文件并邮件发送无法识别条目的报告。
安装
apk add logcheck grep run-parts
目前,grep 和 run-parts 必须手动安装,否则 logcheck 将无法工作。 正在努力消除这些依赖项。
此外,如果您希望 logcheck 发送邮件报告,则需要 perl-mime-construct。
apk add perl-mime-construct
应该将用户 “logcheck” 添加到 adm 组,以便它可以读取日志文件
adduser logcheck adm
配置
/etc/logcheck/logcheck.conf 中的默认配置是一个很好的起点。 它适用于服务器,并将报告邮件发送给 “logcheck”(如果您的邮件配置不会将此类邮件发送到所需的目标,或者只是让 cron 发送邮件,则应更改)。
如果您不希望 logcheck 向您发送邮件,您可以让 cron 来完成,只需在 logcheck.conf 中添加 MAILOUT=1 即可。
内容 /etc/logcheck/logcheck.conf
日志文件
要扫描的日志文件在 /etc/logcheck/logcheck.logfiles.d 中配置。 您需要注释掉 journal.logfiles 中的 “journal”,因为我们没有使用 systemd
内容 /etc/logcheck/logcheck.logfiles.d/journal.logfiles
此外,您需要将 /var/log/messages 和任何其他缺失的日志文件添加到 syslog.logfiles,并注释掉您的特定 syslog 守护程序未使用的日志文件,例如 busybox syslog
内容 /etc/logcheck/logcheck.logfiles.d/syslog.logfiles
调度
Logcheck 不作为守护程序运行,而是应该定期运行。 创建一个每小时的 cron 作业
内容 /etc/periodic/hourly/logcheck
并使其可执行
chmod +x /etc/periodic/hourly/logcheck
Busybox syslog
Busybox syslog 使用 wheel 组运行,这意味着 logcheck 无法读取它创建的日志文件。 可以将 logcheck 用户添加到 wheel 组,但由于 wheel 组在语义上旨在允许用户提升对 root 的访问权限(即使在实践中不起作用,因为 logcheck 用户不应设置密码),这不是一个最佳解决方案。
相反,busybox syslog 可以设置为以 adm 身份运行
内容 /etc/init.d/syslog
无论如何,rsyslog 和 syslog-ng 都是这样工作的,无需任何更改。