■いちばん近道なLinuxマスター術
システムログの読み方を理解しよう
 サーバとして運用していく上で,自分のマシンが現在どのように動作しているのかを把握するのは,とても重要なことだ。なぜならば,公開サーバとして第三者がアクセスできるようにすると,自分が思いもよらないセキュリティホールが存在したり,それ以前にも設定を誤っていてエラーログが記録されていることがあるからだ。このような状況下であっても,ログを見られる目を養えば速やかに対処することができるだろう。システムが教えてくれるログを理解することは,サーバ運用の中でも必須事項なのだ。

システムログの読み方を理解しよう

 Linuxを始めとするUNIX OSやソフトウェアは,非常に多くの動作記録(ログ)が記録される。一元的に情報を集めるシステムログは,管理作業に不可欠な情報収集のための重要な仕組みであり,これによって管理者は日常的かつ網羅的に情報集を行うことができるのである。

 しかし,システムログをうまく活用できないと,システム管理が非常に面倒なのになってしまう。たとえば何らかのトラブルが起こった場合,不慣れな管理者では原因不明だと大騒ぎしてしまうだろう。このような状態であっても,実はシステムログを見れば一目瞭然で解決できることが多いのだ。

 第4回目の今回は,システム管理を行う上で重要な情報が記録されるシステムログについて,その内容と理解する方法について解説していこう。

システムログの仕組み

 システムログ(一般的には「シスログ」と呼ばれる)は,その名の通りシステムの動作状態が記録されている記録のことだ。システムログが記録される代表的なタイミングは次のような状態(イベント)である。

  • マシンの起動時,ハードウェアの認識や初期化のプロセス
  • カーネル内においてエラーが発生したとき
  • サーバプログラムの起動時・終了時

 この点から分かるのは,マシンが動作している上で何らかのチェックが行われたり,エラーが発生したり,システム状況に変化があった場合に記録されるということだ。

 具体的には,アプリケーションなどが記録したいメッセージとともに syslog(3) というシステムコールを呼び出すことによってメッセージはsyslogdというプログラムに渡される。その内容は,/var/log/messagesなどのファイルに記録されるのだ。また,システムログには次のようないくつかの種類がある。

  • カーネルメッセージ
  • lpr,Mail,Newsなどのアプリケーションのメッセージ
  • 認証関連のメッセージ
  • ユーザーアプリケーションのメッセージ

 それぞれのアプリケーションによって使い分けられており,たとえばカーネルメッセージだけを特定のログファイルに記録するようなことできるようになっている。「どのメッセージをどこに出力するか(出力先はファイルとは限らない)」という設定をするのが,「syslog.conf」と呼ばれる設定ファイルである。

1/6 NEXT
2000年10月11日更新