Syslog-ng:如何logging严重性/设施?

这是系统:

  • SUSE Linux Enterprise Server 10
  • syslog-ng和预定义的syslog-ng.conf
  • / var / log / messages中的消息如下所示:

2月8日09:29:53 sles1 sshd [17529]:从10.30.34.64端口接受keyboard-interactive / pam端口4855 ssh2

我需要的:

  • logging事件严重性/设施。 例如,在消息的开头添加<PRI>

<15> Feb 8 09:29:53 sles1 sshd [17529]:从10.30.34.64端口接受键盘交互式/ pam端口4855 ssh2

我的问题是:

如何更改syslog-ng.conf来启用这种日志logging?

谢谢。

这听起来像你想以特定的格式重写你的日志文件 。 链接有详细说明如何告诉syslog-ng做到这一点:)

基于一些快速阅读,我想你要使用syslog-ngpipe理员指南第8.1.6节中描述的syslog()驱动程序。 http://www.balabit.com/support/documentation/?product=syslog-ng

我希望这有助于,如果我find更多,我会让你知道。

我认为syslog()驱动程序是用来与源声明一起使用的。 所以我在哪里
source external { udp(); };

你可以使用
source external { syslog(transport("udp")); };

我没有合适的testing环境来尝试这个,但我认为这是你想要做的,如果我正确地理解你的问题。


我回去看了看,结果有一个macros,你可以在你的目的地使用称为TAG。

例如
destination d_all { file("/log/$FACILITY.log" group("users") template_escape(no) template("$TAG $PRIORITY $S_DATE $HOST $MSG\n")); };
这些macros是在pipe理员指南的第218页定义的。

如果您的目标configuration如此:

 destination syslog-consumer { unix-stream("/var/run/syslog-output"); }; 

系统日志消息前往syslog-consumer得到发送到该套接字以所需的格式。

你只需要设置一些东西来监听这个socket并写入一个文件。