我正在将一个 Solaris 框从 syslogd 移动到 syslog-ng,因为 syslogd 的 Solaris 版本删除了日志中的原始源主机名。我正在查看 syslogng.conf 文档,但不确定我是否完全理解它。我们有一个相对简单的 syslog.conf,我希望那里的 syslog-ng 专家可以告诉我如何将它“转换”为可用的 syslogng.conf?
#ident "@(#)syslog.conf 1.5 98/12/14 SMI" /* SunOS 5.0 */
#
# Copyright (c) 1991-1998 by Sun Microsystems, Inc.
# All rights reserved.
#
# syslog configuration file.
#
# This file is processed by m4 so be careful to quote (`') names
# that match m4 reserved words. Also, within ifdef's, arguments
# containing commas must be quoted.
#
*.err;kern.notice;auth.notice /dev/sysmsg
*.err;kern.debug;daemon.notice;mail.crit /var/adm/messages
#*.alert;kern.err;daemon.err operator
#*.alert root
*.emerg *
local7.debug /var/log/ncolog
audit.debug /var/log/ncolog
local7.debug @nimitz
audit.debug @nimitz
# if a non-loghost machine chooses to have authentication messages
# sent to the loghost machine, un-comment out the following line:
#auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost)
mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost)
#
# non-loghost machines will use the following lines to cause "user"
# log messages to be logged locally.
#
ifdef(`LOGHOST', ,
user.err /dev/sysmsg
user.err /var/adm/messages
#user.alert `root, operator'
user.emerg *
)
一旦您了解了它的配置文件的结构,syslog-ng 就非常简单(但更冗长)。在像您这样的简单安装中,您现在需要知道的是您必须配置源、过滤器和目标。我不确定您运行的是哪个版本的 syslog-ng,但这是 3.0.x 的版本(也适用于更新的版本):
我想我涵盖了除“ifdef”部分之外的所有内容。如果您的主机没有在本地保存日志,即它不是 LOGHOST,您必须添加另一个目的地
并将邮件的日志路径更改为