syslog远程日志分离
今天开启syslog接收远程日志后,发现日志不仅仅记录在指定的文件中,并且在messages中也记录了一份。
查了查如何让日志不重复记录,终于找到这样的解决方法,本方法支持 syslog和rsyslog。从最开始说起。
第一步:配置syslog或者rsyslog服务
对于rsyslog
#vi /etc/sysconfig/rsyslog
将SYSLOGD_OPTIONS修改为
SYSLOGD_OPTIONS="-c 2 -r -m 0 -x"
-c 2 的意思是:
# syslogd options are deprecated since rsyslog v3
# if you want to use them, switch to compatibility mode 2 by "-c 2"
-r 意思是接收远程日志
-x 是关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦,要和-r一起用。
-m 0 # -m 0 disables 'MARK' messages.
对于syslog
#vi /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-r -m 0 -x"
重拉syslog 或者 rsyslog
第二步,修改syslog或者rsyslog服务的配置文件
对于rsyslog:
#vi /etc/rsyslog.conf
开启UDP和TCP(配置默认是注释掉的,删掉#开启即可)
# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp.so
$InputTCPServerRun 514
在 #### RULES #### 下添加自定义的类型和级别以及指定的输出文件路径,比如:
# Log all the web messages in one place.
local0.* -/var/log/web/web-access.log
重拉后发现还是会记录动啊messages中去,因此修改messages行配置如下:
!local0.*;*.info;mail.none;authpriv.none;cron.none /var/log/messages
即在行首添加一个“!local0.*;”配置,意思是说,local0下所有级别的日志不记录到messages中去。
重拉后生效。
今天开启syslog接收远程日志后,发现日志不仅仅记录在指定的文件中,并且在messages中也记录了一份。
查了查如何让日志不重复记录,终于找到这样的解决方法,本方法支持 syslog和rsyslog。从最开始说起。
第一步:配置syslog或者rsyslog服务
对于rsyslog
#vi /etc/sysconfig/rsyslog
将SYSLOGD_OPTIONS修改为
SYSLOGD_OPTIONS="-c 2 -r -m 0 -x"
-c 2 的意思是:
# syslogd options are deprecated since rsyslog v3
# if you want to use them, switch to compatibility mode 2 by "-c 2"
-r 意思是接收远程日志
-x 是关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦,要和-r一起用。
-m 0 # -m 0 disables 'MARK' messages.
对于syslog
#vi /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-r -m 0 -x"
重拉syslog 或者 rsyslog
第二步,修改syslog或者rsyslog服务的配置文件
对于rsyslog:
#vi /etc/rsyslog.conf
开启UDP和TCP(配置默认是注释掉的,删掉#开启即可)
# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp.so
$InputTCPServerRun 514
在 #### RULES #### 下添加自定义的类型和级别以及指定的输出文件路径,比如:
# Log all the web messages in one place.
local0.* -/var/log/web/web-access.log
重拉后发现还是会记录动啊messages中去,因此修改messages行配置如下:
!local0.*;*.info;mail.none;authpriv.none;cron.none /var/log/messages
即在行首添加一个“!local0.*;”配置,意思是说,local0下所有级别的日志不记录到messages中去。
重拉后生效。
转载于:https://blog.51cto.com/blankspace/1112316