Используя 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. В посте используемые конфиги правильно отправляют имя программы.