5.9. ログファイル

アプリケーションやサーバが正常に機能しているのか、また、どのような処理を行ったのかという情報を残しておく必要性は、さまざまな状況下で発生します。そこで、ログ(log)という仕組みが重要となってきます。ログは、アプリケーションが自ら作成する場合もあれば、他のアプリケーションを経由して作成する場合もあります。いずれにしても、ほとんどのログはディレクトリ“/var/log”以下に作成されるようになっています。この中にあるファイルは、プライバシーやセキュリティの関係上、一般ユーザでは読めない設定になっているものもあります。また、ログが巨大化しないように、一定間隔でログファイルの切り替え(rotate)をしている場合、世代を示す番号が1〜4で付いているかもしれません。

$ less /var/log/messages

Jan 25 10:26:02 SL6 kernel: imklog 4.6.2, log source = /proc/kmsg started.

Jan 25 10:26:02 SL6 rsyslogd: [origin software=”rsyslogd” swVersion=”4.6.2″ x-pid=”1213″ x-info=”http://www.rsyslog.com”] (re)start

Jan 25 12:19:49 SL6 yum[3051]: Installed: libXpm-3.5.8-2.el6.x86_64

Jan 25 12:19:51 SL6 yum[3051]: Installed: libXaw-1.0.6-4.1.el6.x86_64

Jan 25 12:19:52 SL6 yum[3051]: Installed: libotf-0.9.9-3.1.el6.x86_64

知っておくと便利なログファイルとしては、messagesファイルがあります。このファイルの内容は雑多なログとなっています。

左側から時間とホスト、アプリケーション名と実際の出力が出ています。その他、標準で用意されるログファイルは、おおよそ用途ごとに分けられています。特に参考になりそうなものを挙げておきましょう。

  • cron cronサービスの動作状況を記録していきます。
  • dmesg カーネルの起動時の出力です。
  • wtmp ユーザのログイン履歴(バイナリデータ)、lastコマンドで参照できます。
    (“-x”オプションを付加するとシステムのシャットダウン及びランレベル変更の記録も表示できます。)
  • maillog メールの配送状況を記録しています。
  • secure 認証(成功・失敗)の記録です。

ログファイルは、その性質上、放置することで容量が肥大化することがあり、ディスクスペースを占有するおそれがあります。これに対処するため、ログを一定時間ごとに切り替える(log rotate)機構が用意されています。ローテートが発生した場合には、ファイル名の末尾に数字がついていきます。最新(=現在のログ)の直前のものから0、1、2、3(ディストリビューションによっては1、2、3、4)といった順番で保持されます。ほとんどのディストリビューションでは、おおむね1ヶ月はログとして保持されるようになっており、障害発生時の事後検証等に用いることができます。