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

Запись 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)», и я не могу найти нигде, чтобы настроить это по-другому, так как я хотел бы снять скобки.

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

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

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

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

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

...

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

Попробуйте подписаться на сообщение на форуме ВОТ - в нем описывается, как настроить Squid с LogZilla с помощью syslog-ng. В посте используемые конфиги правильно отправляют имя программы.