$ModLoad imuxsock
$ModLoad imklog
$ModLoad imudp $UDPServerRun 514
$ModLoad imtcp $InputTCPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template TraditionalFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
filter action
local7.* /var/log/sample.log
*.* @remoteserver :fromhost-ip, isequal, "192.168.1.100" /var/log/message_192.168.1.100
:prop, [!]compare, "str" action
*.* @remoteserver :fromhost-ip, isequal, "192.168.1.100" /var/log/message_192.168.1.100
if expr then action
if ( $msg contains "ABC" ) then /var/log/nsd.log
if re_match($msg, "^ABC.*") then { action(type="omfile" file="/var/log/abc.log") }
if $programname == "ntpd" then { action(type="omfile" file="/var/log/ntpd.log") }
$template name,"format"
facility.priority dir/filename;name
facility.priority ?name
変数 | 説明 |
%msg% | ログ メッセージ |
%hostname% | Syslog 上のホスト名 |
%fromhost% | 送信元のホスト名 (IP アドレスを逆引きする) |
%fromhost-ip% | 送信元の IP アドレス (ローカルの場合は 127.0.0.1) |
%programname% | 出力したプロセス名 |
%syslogfacility% | ファシリティの数字表記 |
%syslogfacility-text% | ファシリティの英語表記 |
%syslogseverity% %syslogpriority% | プライオリティの数字表記 |
%syslogseverity-text% %syslogpriority-text% | プライオリティの英語表記 |
%timereported% %timestamp% | Syslog 上の時間 (ログが生成された時間) 送信元の時刻のずれやタイムゾーンもそのまま |
%timegenerated% | ログを受信した時間 |
%$year% | 年 (YYYY) |
%$month% | 月 (MM) |
%$day% | 日 (DD) |
%$hour% | 時 (HH) |
%$minute% | 分 (MM) |
%$now% | 年月日 (YYYY-MM-DD) |
%unixtimestamp% | UNIX 時間 (6.5.0~) |
ex) ログにホスト名を付与する場合
$template t_sample,"%timegenerated%,%hostname%,%msg%\n" local7.* /var/log/sample.log;t_sample
ex) ログ ファイルを日付で分ける場合
$template t_daily,"/var/log/messages_%$year%%$month%%$day%" *.* ?t_daily
ex) ホスト名のファイルに保存する場合
$template t_remote,"/var/log/remote/%fromhost%/remote.log" :fromhost-ip, !isequal, "127.0.0.1" ?t_remote