Nginxのログをsyslogで管理する場合、Niginx 1.7.1以降であればaccess_logおよびerror_logがSyslogをサポートするようになっている。 2017年3月現在、aptや(Epel経由にはなるが)yumでインストールできるNginxは1.7.1以降になるので、その前提で進めていく。

設定自体は簡単で、Nginxの設定ファイルでaccess_log/error_logの設定を以下のように書き換えてやればよい。 ただ、ローカル内のSyslogへ転送する場合でもUDP経由で送る必要がある(上にtcpで直接リモートのサーバには転送できない)ので、事前にrsyslogの設定でudpからのログを受信するよう設定しておくこと。

/etc/nginx/nginx.conf(ローカルのrsyslogに送る場合)
http { ... access_log syslog:server=127.0.0.1:514,facility=local7,tag=nginx,severity=info; ...

あとはまぁ、もろもろrsyslogの設定するだけなので割愛。


参考