Согласно этой документации: http://www.squid-cache.org/Doc/config/access_log/
сквид должен смочь зарегистрироваться к 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 не разрешает сквиду входить в него. Сквид работает с пользователем прокси.
Какая-либо идея, как зафиксировать это?
Ну, это было нелегко исправить, в основном это было сделано путем экспериментов:
Работают только директивы:
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 squid
, а затем в rsyslog
local2.* @@syslogserverip:syslogport
Внесение исправлений в ответ Мансура выше
в squid.conf вам может потребоваться написать что-то вроде
access_log syslog:local2.info squid
access_log syslog:local2.* squid
, а затем в rsyslog
local2.* @@syslogserverip:syslogport