remote hostの時刻がずれている(or UTC) の場合などに、syslogの時刻がずれて嫌な感じなので修正できるか調べた。(ex: vyattaのsyslogがUTCで飛んでくる)
formatを変えれば出来たっぽい。
- http://www.rsyslog.com/doc/rsyslog_conf_templates.html
- man rsyslogd
- man rsyslog.conf
rhel6系のdefaultのrsyslogのformatは /etc/rsyslog.conf で定義されている変数でlogに吐いてる模様。
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
RSYSLOG_TraditionalFileFormatの説明
RSYSLOG_TraditionalFileFormat - the "old style" default log file format with low-precision timestamps RSYSLOG_FileFormat - a modern-style logfile format similar to TraditionalFileFormat, buth with high-precision timestamps and timezone information
RSYSLOG_TraditionalFileFormatの定義の詳細
$template FileFormat,"%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" $template TraditionalFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
さらにman rsyslog.conf を読んでいると、このpropertyを使えばよさそうだ。
timegenerated timestamp when the message was RECEIVED. Always in high resolution
/etc/rsyslog.conf
まとめるとこんなん。
# local timestamp template $template LocalTimeTraditionalFileFormat,"%timegenerated% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" $template LocalTimeFileFormat,"%timegenerated:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" $ActionFileDefaultTemplate LocalTimeTraditionalFileFormat #$ActionFileDefaultTemplate LocalTimeFileFormat