Squid 记录到 syslog-ng - 程序名称带有括号

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 的配置文件中,我尝试输出日志,并且 $PROGRAM 宏肯定也包含括号,这表明它来自 squid,因为此页面显示以下内容:http://www.balabit.com/sites/default/files/documents/syslog-ng-admin-guide_en.html/reference_macros.html

PROGRAM:发送消息的程序的名称。请注意,$PROGRAM 变量的内容可能不完全可信,因为它是由构建消息的客户端程序提供的。

我怎样才能删除括号?

答案1

您可以使用重写规则以任何您想要的方式修复程序名称:

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

...

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

答案2

尝试关注论坛帖子这里- 它概述了如何使用 syslog-ng 配置 Squid 和 LogZilla。在文章中,使用的配置正确地发送了程序名称。

相关内容