はじめに
/var/log/messagess等rsyslogで出力されるログのログチェックをするときに、「err」とか「warning」のログレベル(プライオリティ)で重要なものだけ引っかけたいのですがデフォルトでは表示されていません。なので表示させるようにします。(ちなみにRHEL7用です)
変更方法
ログレベルを表示させるには/etc/rsyslog.confを編集します。$ vi /etc/rsyslog.conf
※Use default timestamp format項の以下記述(29行目あたり)を書き換えて保存 変更前: $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat 変更後: $template CustomTemplate,"%timegenerated% %hostname% %syslogtag% %syslogfacility-text%.%syslogpriority-text%: %msg%\n" $ActionFileDefaultTemplate CustomTemplate
編集が終わったらrsyslogを再起動します。$ systemctl restart rsyslog
その後loggerコマンドでテストすると、以下のような感じで/var/log/messagesログにログレベルが表示されます。チェックするときは、「.err:」「.warning:」等、前後のドットとコロンを検索文字列に含めるようにします(メッセージ中のerrorやwarningと区別ができるため)。
$ logger -i -p err -t test.sh TESTTEST 変更前:Mar 15 01:26:30 hostname test.sh[16947]: TESTTEST 変更後:Mar 15 01:31:49 hostname test.sh[17122]: user.err: TESTTEST
ちなみにsyslogレベルの種類は以下があります。感覚的にはerr以上を監視(チェック)しておけばよいかと思います。
レベル | 内容 |
---|---|
debug | デバッグ |
info | 情報 |
notice | 通知 |
warning | 警告 |
err | 一般的なエラー |
crit | 致命的なエラー |
alert | 緊急に対処すべきエラー |
emerg | 緊急事態 |
以上