我正在从 syslog-ng 中央日志主机迁移到 rsyslog。这些天我什至无法在 CentOS 存储库中找到 syslog-ng。我想按主机名和设施过滤日志。
这是我在 syslog-ng 中执行此操作的方法
destination std {
file("/var/log/HOSTS/$HOST/$YEAR/$MONTH/$DAY/$FACILITY_$HOST_$YEAR_$MONTH_$DAY"
owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes)
);
};
有没有一种简单的方法可以使用 rsyslog 来做到这一点?
答案1
这是通过模板完成的,如下所示:
$template HostDynFile,"/var/log/HOSTS/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/%syslogfacility-text%_%HOSTNAME%_%$YEAR%_%$MONTH%_%$DAY%"
然后可以在定义输出选择器行时使用该模板,例如:
*.* -?HostDynFile