这是系统:
- SUSE Linux Enterprise Server 10
- 带有预定义 syslog-ng.conf 的 syslog-ng
- /var/log/messages 中的消息如下所示:
2 月 8 日 09:29:53 sles1 sshd[17529]:接受来自 10.30.34.64 端口 4855 ssh2 的键盘交互/pam
我需要的:
- 记录事件严重性/设施。例如,在消息的开头添加<PRI> :
<15> 2 月 8 日 09:29:53 sles1 sshd[17529]:接受来自 10.30.34.64 端口 4855 ssh2 的键盘交互/pam
我的问题是:
如何更改 syslog-ng.conf 以启用这种日志记录?
谢谢。
听起来您想以特定格式重写您的日志文件。该链接包含有关如何告诉 syslog-ng 执行此操作的详细信息:)
根据一些快速阅读,我认为您想使用 syslog() 驱动程序,该驱动程序在 Syslog-ng 管理员指南的第 8.1.6 节中进行了描述。 http://www.balabit.com/support/documentation/?product=syslog-ng
我希望这会有所帮助,如果我发现更多内容,我会告诉你。
我认为 syslog() 驱动程序旨在与源声明一起使用。所以我在哪里
source external { udp(); };
你可能会使用
source external { syslog(transport("udp")); };
我没有合适的测试环境来尝试这个,但如果我正确理解你的问题,我认为这就是你想要做的。
我回去看了看,结果发现有一个宏可以在你的目的地使用,叫做 TAG。
例如
destination d_all { file("/log/$FACILITY.log" group("users") template_escape(no) template("$TAG $PRIORITY $S_DATE $HOST $MSG\n")); };
,这些宏是在管理指南的第 218 页左右定义的。
如果您有这样配置的目的地:
系统日志消息以
syslog-consumer
您想要的格式发送到该套接字。您只需要设置一些东西来监听该套接字并写入文件。