Назад | Перейти на главную страницу

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 работает с прокси-пользователем.

Есть идеи, как это исправить?

в 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