Вход Squid в syslog-ng - имя программы в скобках

Используя Ubuntu 10.04.4 LTS и Squid3 я хочу войти в syslog-ng

Отредактировал /etc/squid3/squid.conf и добавил следующую строку:

access_log syslog squid

Журналы пишутся, но имя программы "squid" добавляется в скобках, в то время как для других журналов имя программы не

Jul 25 17:26:23 ubuntuserver kernel: 
Jul 25 17:26:24 ubuntuserver named[1231]:
Jul 25 16:17:56 ubuntuserver (squid):

Я предполагаю, что это squid3, говорящий syslog-ng "мое имя программы (squid)", и я не могу найти где-нибудь, чтобы настроить это по-другому, так как я хотел бы снять скобки.

В conf syslog-ng я поиграл с выводом журнала, и макрос $PROGRAM определенно также содержит скобки, что указывает на то, что он исходит от squid, так как на этой странице указано следующее: http://www.balabit.com/ сайты / по умолчанию / файлы / документы / Syslog-нг-админ-guide_en.html / reference_macros.html

ПРОГРАММА: название программы, отправляющей сообщение. Обратите внимание, что содержимое переменной $PROGRAM может не полностью доверять, поскольку оно предоставляется клиентской программой, которая создала сообщение.

Как я могу снять скобки?

2 ответа

Решение

Вы можете использовать правило перезаписи, чтобы исправить имя программы в любом случае:

rewrite r_brackets {
    subst ("\((.+)\)", "$1", value (PROGRAM));
};

...

log { source (...); ....; rewrite (r_brackets); destination (...); ...; };

Попробуйте прочитать сообщение на форуме ЗДЕСЬ - в нем описано, как настроить Squid с LogZilla с помощью syslog-ng. В посте используемые конфиги правильно отправляют имя программы.

Другие вопросы по тегам