Sun Java System Messaging Server 6 2005Q4 管理ガイド

各種ログファイルのメッセージの追跡

次の節では、システム内でのメッセージの流れについて、またどの時点で情報が各種ログファイルに書き込まれるかについて説明します。この説明は、問題のトラブルシューティングおよび解決のために Message Server のログファイルを使用する方法を理解するのに役立ちます。参考のために 図 8–2 を参照してください。

  1. リモートホストはメッセージングホストの TCP ソケットに接続し、SMTP サービスを要求します。

  2. MTA ディスパッチャーは要求に応答し、接続をメッセージジングホストの SMTP サービスに渡します。

    MTA はモジュール方式になっているため、ジョブコントローラや SMTP サービスディスパッチャーを含む、1 組のプロセスから構成されています。ディスパッチャーは、着信 TCP 接続を受けて、SMTP サービスへ送信します。SMTP サービスは、メッセージをディスクのチャネル領域に書き込みます。SMTP サービスは、送信者や受信者などの、メッセージのエンベロープパラメータを認識します。システムの設定エントリは、メッセージがどのチャネル宛てかを示します。

  3. ディスパッチャーは、スレッドをフォークし、そのスレッドを特定の IP アドレスからの着信接続に利用可能にしたことを dispatcher.log ファイルに書き込みます。

  4. SMTP サーバーは、リモートホストが接続し、メッセージを送信した場合に行われた対話を記録し、tcp_smtp_server.log ファイルに書き込みます。このログファイルは、ディスパッチャーがホストの IP 上にある SMTP サーバーに接続を渡すときに作成されます。

  5. SMTP サーバーは、tcp_intranet などのチャネルプログラム用のディスク上のキュー領域にメッセージを書き込み、ジョブコントローラに通知します。

  6. ジョブコントローラは、チャネルプログラムにアクセスします。

  7. チャネルプログラムはメッセージを配信します。

    各チャネルには、それぞれのログファイルがあります。ただし、それらのログは通常チャネルの開始および停止を示します。さらに情報を得るには、そのチャネルのデバッグレベルを有効にする必要があります。ただし、そのようにするとシステムの処理速度が低下し、問題がさらに不明瞭になるので、実際に問題が発生している場合にのみデバッグレベルを有効にします。


    注 –

    効率性を向上させるため、すでに存在するプロセス用にチャネルが実行中である場合は、新しいメッセージが着信しても、システムは新しいチャネルプロセスを生成しません。現在実行されているプロセスが新しいメッセージを引き受けます。


  8. メッセージは、別のホスト、別の TCP 接続などの、次のホップへ配信されます。この情報は connection.log ファイルに書き込まれます。

    SMTP サーバーがディスク上のキュー領域にメッセージを書き込むと同時に、メッセージを管理するチャネルもレコードを mail.log_current、または mail.log ファイルに書き込みます。レコードは、メッセージがキューに入れられた日時、送信者、受信者などの情報を示します。詳細は、「MTA メッセージログの例」を参照してください。メッセージの追跡にもっとも役立つファイルは、mail.log_current ファイルです。