ab’s blog

インフラの呟きです。

rsyslogの時刻表示形式を変更する(rhel7)

hahahahahaha

はじめに

rhel7のシスログ時刻表示形式はデフォルトだと西暦の表示が無かったり月がJanとかFebだったりします。それだと長い期間でログを調べたりするときにいろいろと面倒なので形式を「YYYY-MM-DD HH:MM:SS」で表示されるように変更します。


ログ出力イメージ:

変更前: Jun 10 01:31:53 hostname systemd::daemon.info: Stopping...

変更後: 2021-06-10 01:36:26 hostname:systemd::daemon.info:Stopping...


 

変更方法

上記のように表示形式を変えるにはrsyslog.confを編集します。$ vi /etc/rsyslog.conf

29行目あたり↓コメントアウトする
# Use default timestamp format
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
↑の下に以下2行を追記して保存(ちなみに時刻フォーマットだけでなくログレベルも表示されるようになってます)
$template CustomTemplate,"%timestamp::10:date-rfc3339% %timestamp:12:19:date-rfc3339% %hostname%:%syslogtag%:%syslogfacility-text%.%syslogpriority-text%:%msg%\n"
$ActionFileDefaultTemplate CustomTemplate

編集が終わったらrsyslogを再起動します。 $ sysytemctl restart rsyslog

/var/log/messagesなどrsyslogで出力されるログの時刻がYYYYMMDDに変わります。

以上