Squid 无法记录到系统日志

Squid 无法记录到系统日志

根据该文件: http://www.squid-cache.org/Doc/config/access_log/

squid 应该能够使用以下指令记录到 rsyslog:

access_log syslog:daemon.info squid
cache_log  syslog:daemon.info squid

但是当我尝试重新启动它时,我得到:

WARNING: Cannot write log file: syslog:daemon.info
syslog:daemon.info: Permission denied
         messages will be sent to 'stderr'.

我也尝试了 local0-local7 的所有设施,结果都一样。看来 rsyslog 不允许 squid 登录。Squid 正在使用代理用户运行。

知道如何修复这个问题吗?

答案1

嗯,这并不容易修复,主要是通过实验来完成的:

只有:

access_log syslog squid
cache_log syslog squid 

配置中的指令正在运行,但它们甚至会在 Squid 3 启动时产生相同的错误:

ARNING: Cannot write log file: syslog
syslog: Permission denied
         messages will be sent to 'stderr'.

任何其他操作(包括使用 -s)均无效!一旦应用这些指令,Squid 将完全停止向 access.log 和 cache.log 文件记录日志。

不幸的是,如果不定义设施,这将淹没消息+syslog文件,但我会将其留给rsyslog规则来过滤掉它们。

答案2

在 squid.conf 中你可能需要这样写

access_log syslog:local2 squid

然后在 rsyslog 中

local2.* @@syslogserverip:syslogport 

答案3

对 Mansur 的上述回答进行更正

在 squid.conf 中你可能需要这样写

access_log syslog:local2.info squid
access_log syslog:local2.* squid

然后在 rsyslog 中

local2.* @@syslogserverip:syslogport 

相关内容