Syslogサーバー

rsyslogはDebian系(Ubuntuを含む)では、syslogdとしてセットアップされている。

vi /etc/init.d/rsyslog

SYSLOGD_OPTIONS="-c3"

サーバー(ログ集積)側

vi /etc/rsyslog.conf

#################
#### MODULES ####
#################
module(load="imuxsock")
# provides support for local system logging
#module(load="immark") 
# provides --MARK-- message capability
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# provides TCP syslog reception
#module(load="imtcp")
#input(type="imtcp" port="514")
# provides kernel logging support and enable non-kernel klog messages
module(load="imklog" permitnonkernelfacility="on")
###########################
#       Append
###########################
module(load="builtin:omfile")
$template DynamicFileName,"/var/log/%hostname%/%$year%%$month%%$day%/%programname%/message.log"
*.* ?DynamicFileName

 

ファシリティ 用途
msg ログメッセージ
hostname ログを出力したホストの名前
fromhost ログを受け取ったホストの名前
programname プログラム名
syslogfacility ファシリティ(数字)
syslogfacility-text ファシリティ(テキスト)
syslogseverity プライオリティ(数字)
syslogseverity-text プライオリティ(テキスト)
syslogpriority syslogseverityと同等
syslogpriority-text syslogseverity-textと同等
timegenerated ログを受け取った日時
timereported ログが出力された日時
timestamp timereportedと同等
$now 現在時刻(書式:YYYY-MM-DD)
$year 現在の年(4けた)
$month 現在の月(2けた)
$day 現在の日(2けた)
$hour 現在の時(24時間表記、2けた)
$minute 現在の分(2けた)

 

クライアント(ログ送信)側

vi /etc/rsyslog.d/60-remote.conf

*.*  @サーバーアドレス:514

もしくは

*.*  @FQDN:514

>Nginxのログを転送する。

vi /etc/nginx/conf.d/remotelog.conf

access_log  syslog:server=サーバー名:514,facility=local5,severity=info;
error_log  syslog:server=サーバー名:514,facility=local5,severity=info;

Nginxを再起動する。

service nginx restart