Согласно этой документации: 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 работает с прокси-пользователем.
Есть идеи, как это исправить?
в squid.conf вам может понадобиться написать как
access_log syslog:local2 squid
а затем в rsyslog
local2.* @@syslogserverip:syslogport
Что ж, это было нелегко исправить, в основном это было сделано путем экспериментов:
Только:
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, чтобы отфильтровать их.
Внесение исправления в ответ Мансура выше
в squid.conf вам может понадобиться написать как
access_log syslog:local2.info squid
access_log syslog:local2.* squid
а затем в rsyslog
local2.* @@syslogserverip:syslogport