我是rsyslog的新手,一直试图弄清楚为什么我没有收到我的Apache和mysql日志,这些日志在客户端configuration为通过rsyslog发送。 目前,我正在接收除Apache和MySQL以外的所有主机的所有其他types的日志。 我假设我的filter指令在服务器端的东西是错误的。 下面是我为mysql和apacheconfiguration的指令副本。
$template PerHostApacheError,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/error.log" $template PerHostApacheAccess,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/%msg:R,ERE,1,ZERO:imp:([a-zA-Z0-9\-]+)\.--end%-access.log" $template PerHostMySqld,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/mysql.log"
我的问题是在服务器端的上述指令看起来是否正确? 如果不是,他们应该怎么样。 这些文档并没有真正显示应该如何使用它的例子,而是更多的是每个人的function。 另外,是否有一个选项可以捕获所有没有定义指令的消息 – 例如,将所有未通过指令定义的消息logging到每个主机的catchall.log文件中。 就像是:
$template PerHostCatchAll,"/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/catchall.log
我在这里先向您的帮助表示感谢。