rsyslog配置

1、首先rsyslog需要打开如下内容:

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal

$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514

2、添加模板

$template nginx_access_file,"/log/nginx-logs/%programname%-%$year%-%$month%-%$day%-access.log"
$template nginx_access_format,"%msg:2:$%\n"
#有的人用%msg%,这里用%msg:2:$%是为了日志换行,不然的话,采集到的的日志不换行的

3、配置采集规则

local5.* ?nginx_access_file;nginx_access_format
#这里的local5为自定义的,后续nginx配置里面会说到

nginx配置

access_log syslog:server=x.x.x.x,facility=local5,tag=nginx,severity=info access;
#syslog 表示将日志以syslog形式保存
#server rsyslog服务器地址
#facility 即上面rsyslog配置里面配到的
#tag 标记,在rsyslog里面引用为programname
#severity 日志级别
#access 自定义的nginx日志格式,不加则为默认的

注意点

1、改完配置重启rsyslog、nginx
2、selinux关闭掉