ab’s blog

インフラの呟きです。

RHEL7 /var/log/messages にログレベル(プライオリティ)を表示する。

hahahahahaha

はじめに

/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 緊急事態

以上