有没有办法在发送之前操作日志检查规则中的行?

有没有办法在发送之前操作日志检查规则中的行?

logcheck在某些情况下,例如 netfilter 日志,如果我可以发送即将通过过滤器发送的报告,那就太好了。

logcheck(8)似乎没有描述这样的事情,man的页面也没有logcheck.conf

答案1

不直接与logcheck.您唯一可以使用的就是过滤日志文件中的行。在这篇文章中,有一个不错的过滤器示例集合:logcheck — 各种过滤器

然而,给出的logcheck只是一个 shell 脚本,您可以修改它并创建您自己的版本。您还可以修改包中通常附带的 cronjoblogcheck并通过 STDOUT 运行它,过滤内容,然后手动通过电子邮件发送出去。

( $ /usr/sbin/logcheck -o | ...your filter... ) | mail ...

定制过滤器

要设置过滤器,您可以将规则文件粘贴到logcheck相应目录的目录树下,以使其过滤掉不相关的消息。

$ ls -ld /etc/logcheck/*
drwxr-xr-x. 2 root root 4096 May 30 16:36 /etc/logcheck/cracking.d
drwxr-xr-x. 2 root root 4096 May 30 16:36 /etc/logcheck/ignore.d.paranoid
drwxr-xr-x. 2 root root 4096 May 30 16:36 /etc/logcheck/ignore.d.server
drwxr-xr-x. 2 root root 4096 May 30 16:36 /etc/logcheck/ignore.d.workstation
-rw-r--r--. 1 root root 2647 Feb 16  2013 /etc/logcheck/logcheck.conf
-rw-r--r--. 1 root root  133 Feb 16  2013 /etc/logcheck/logcheck.logfiles
drwxr-xr-x. 2 root root 4096 May 30 16:36 /etc/logcheck/violations.d
drwxr-xr-x. 2 root root 4096 May 30 16:36 /etc/logcheck/violations.ignore.d

例如,它已经附带了许多流行服务的过滤器文件:

$ ls /etc/logcheck/ignore.d.server/ | head -10
acpid
amandad
amavisd-new
anacron
anon-proxy
apache
apcupsd
arpwatch
asterisk
automount

所以你可以结合规则来过滤那里的东西。

$ more /etc/logcheck/ignore.d.server/apache 
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ apache: nss_ldap: reconnect(ing|ed) to LDAP server(\.\.\.| after [0-9]+ attempt\(s\))$

相关内容