首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从syslog.conf迁移到syslogng.conf

从syslog.conf迁移到syslogng.conf
EN

Server Fault用户
提问于 2012-07-10 19:18:48
回答 1查看 1.8K关注 0票数 2

我正在将Solaris框从of移动到syslog-ng,因为syAdd.1-d的Solaris版本删除了日志上的原始源主机名。我正在查看syslogng.conf文档,但不确定我是否完全理解它。我们有一个相对简单的syslog.conf,我希望那里的一个syslog-ng专家能告诉我如何将它“转换”成一个可行的syslogng.conf?

代码语言:javascript
复制
#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                                      *
)
EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-07-10 22:32:05

一旦您了解了它的配置文件的结构,syslog就非常直接(但是非常冗长)。在像您这样简单的安装中,您现在需要知道的是,您必须配置源、过滤器和目的地。我不知道您正在运行哪个版本的syslog-ng,但是这里有一个用于3.0.x的版本(也适用于最近的版本):

代码语言:javascript
复制
@version 3.0

# syslog source
source s_sys { sun-streams ("/dev/log" door("/var/run/syslog_door")); };

# use this instead if you receive logs from network:
# source s_sys { udp ();
#                sun-streams ("/dev/log" door("/var/run/syslog_door")); };

# destinations
destination d_sysmsg { file ("/dev/sysmsg"); };
destination d_messages { file ("/var/adm/messages"); };
destination d_ncolog { file ("/var/log/ncolog"); };
destination d_nimitz { udp ("nimitz"); };
destination d_auth { file ("/var/log/authlog"); };
destination d_syslog { file ("/var/log/syslog"); };
destination d_users { usertty ("*"); };

# filters
filter f_emerg { priority (emerg); };
filter f_sysmsg { priority (err..emerg) or
                  (facility (kern) or facility (auth)) and priority (notice..emerg); };
filter f_messages { priority (err..emerg) or
                    facility (kern) or
                    facility (daemon) and priority (notice..emerg) or
                    facility (mail) and priority (crit..emerg); };
filter f_local7 { facility (local7); };
filter f_audit { facility (13); };
filter f_mail { facility (mail); };

# log paths
log { source (s_sys); filter (f_emerg); destination (d_users); };
log { source (s_sys); filter (f_sysmsg); destination (d_sysmsg); };
log { source (s_sys); filter (f_messages); destination (d_messages); };
log { source (s_sys); filter (f_local7); destination (d_ncolog); destination (d_nimitz); };
log { source (s_sys); filter (f_audit); destination (d_ncolog); destination (d_nimitz); };
log { source (s_sys); filter (f_mail); destination (d_syslog); };

我想我涵盖了所有的一切,除了“如果”的部分。如果您的主机没有在本地保存日志,即它不是LOGHOST,则必须添加另一个目的地

代码语言:javascript
复制
destination d_loghost { udp ("loghost"); };

并将邮件的日志路径更改为

代码语言:javascript
复制
log { source (s_sys); filter (f_mail); destination (d_loghost); };
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/406522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档