journal エラーログの確認方法

概要

今使用しているカゴヤのVPSのCentOS 7のログは、systemdのjournalに変更になりました。
今までは、下記のようにgrepを使ってmessages内のエラーログを見てました

# messagesの場合
$ sudo cat /var/log/messages | egrep -i "emerg|alert|crit|error|warn|fail"
# 起動時のエラーの場合
$ sudo cat /var/log/dmesg | egrep -i "emerg|alert|crit|error|warn|fail"
# リアルタイムでログを見るとき
$ sudo tail -f  /var/log/messages

ログに表示方法(journal)

journalでのログ確認では、「journalctl」を使用します

journal内のエラーログの確認方法(journal)

# journalctl | egrep -i "emerg|alert|crit|error|warn|fail"

起動時のエラーログの確認方法(journal)

# journalctl -k | egrep -i "emerg|alert|crit|error|warn|fail"

リアルタイムでの確認方法(journal)

# journalctl -f

コマンドがわかれば、以前とさほど変わりませんし、journalctlコマンドにオプションつけるだけです。

私の環境では、前日のjournalでエラーあるとメールを送信する以下のスクリプトを作って、cronで実行しています。5分毎にとかログ監視をするほど故障・障害もなさそうなので、前日分だけエラーを拾うようにしています

#!/bin/bash

#メールを送信するメールアドレスを指定する
MAILTO=test@example.com
#メールの件名を生成
MAIL_SUB="ALERT journald log"
#メール本文に使用するファイルを指定する
MAILFILE=/var/tmp/journald_log.txt

ERROR_CNT=`journalctl --since "1day ago" | egrep -i "emerg|alert|crit|error|warn|fail" | wc -l`

if [ $ERROR_CNT -gt 1 ]; then
#メールを送信する
  mail -s $MAIL_SUB $MAILTO < $MAILFILE
fi

スポンサーリンク

LinuxCentOS 7

Posted by admin