ULS ログのキュー ジョブ エントリを表示する

 

トピックの最終更新日: 2015-03-09

サーバーの統合ログ サービス (ULS) のログを使用して、Microsoft Office Project Server 2007 でのキューの問題をトラブルシューティングできます。ULS ログのキュー エントリ情報は、Project Web Access の [キューの管理] ページの情報または Windows Server のイベント ビューアと併せて特に役に立ちます。

ここでは、次のことについて説明します。

  • ULS ログ ファイルの設定を構成する方法

  • Microsoft Office Excel 2007 を構成して ULS ログ ファイルを表示する方法

  • ULS ログで特定のキュー ジョブを検索する方法

  • ULS ログでのキュー ジョブ エントリの種類

  • キュー エントリ パラメータ

  • キューの問題のトラブルシューティングのベスト プラクティス

ULS ログ ファイルの設定の構成

ULS ログ ファイルの設定は、SharePoint サーバーの全体管理 Web サイトを使用して構成できます。このページでは、次のことができます。

  • ログ ファイルを格納する既定の場所を指定する。

  • サーバーに格納するログ ファイルの最大数を指定する。

  • 各ログ ファイルが対象とする期間 (分単位) を指定する。

[!メモ] ログ ファイルの設定はファームのすべてのサーバーに適用されます。

ULS ログ ファイルの設定を構成する

  1. サーバーの全体管理で [サーバー構成の管理] をクリックし、[ログおよびレポートの作成] セクションの [診断ログ] をクリックします。

  2. [診断ログ] ページで、[トレース ログ] セクションの [パス] フィールドで指定されている場所を確認します。既定の場所は C:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\LOGS です。場所を変更するには、[パス] フィールドに新しい場所を入力します。

  3. [ログ ファイル数] フィールドで、ファーム内の各サーバーに保存するログ ファイルの最大数を指定します。既定値は 96 です。

  4. [1 つのログ ファイルを使用する時間 (分)] フィールドに、各ログ ファイルを使用する時間を分単位で入力します。既定値は 30 です。

  5. [OK] をクリックします。

新しいログ ファイルには、「サーバー名-年月日-時刻.log」という形式で名前が設定されます。

たとえば、"Contoso" という名前のサーバーで 2008 年 6 月 8 日 午後 1 時 20 分に作成されるログ ファイルの名前は、「contoso-20080608-1320.log」となります。[1 つのログ ファイルを使用する時間 (分)] フィールドが 30 に設定されている場合は、それ以降に contoso-20080608-1320.log、contoso-20080608-1350.log、contoso-20080608-1420.log、contoso-20080608-1450.log などのファイルが作成されます。

ULS ログ ファイルを表示するための Excel 2007 の構成

ログ ファイルは、ほとんどのテキスト エディタおよび Microsoft Office Excel で簡単に表示できます。Excel を使用すると、ファイルを列の値で並べ替えることができ、読みやすさも向上します (特に、長い文字列データを含む行の場合)。

トレース ログ ファイルを表示するように Office Excel 2007 を構成する

  1. Office Excel 2007 で、[Office ボタン] をクリックして [開く] をクリックします。

  2. [ファイルを開く] ダイアログ ボックスで、ログ ファイルの場所を参照します。

  3. [ファイルの種類] ボックス ([ファイル名] フィールドの下) の一覧で [すべてのファイル (*.*)] をクリックして、ログ ファイルが表示されるようにします。

    [!メモ] ファイルの一覧を日付順に表示するには、ファイル一覧の空いている領域を右クリックし、[アイコンの整列] をポイントして、[更新日時] をクリックします。

  4. ファイルの一覧から、表示するログ ファイルを選択します。

  5. ログ ファイルが表示された後、[ホーム] タブの [並べ替えとフィルタ] をクリックし、[フィルタ] をクリックします。すべての行を特定の条件でフィルタできるようになります。たとえば、Project Server のエントリのみを表示するには、[Area] 列で [フィルタ] メニューをクリックし、[Project Server] 以外のすべてのオプションを選択解除します。

  6. [Message] 列を選択します。[ホーム] タブで [書式] をクリックし、[セルの書式設定] をクリックします。[セルの書式設定] ページで [配置] をクリックし、[文字の制御] セクションで [折り返して全体を表示する] をオンにします。[OK] をクリックします。メッセージ データは非常に長くなることがあるので、テキストを折り返すように列を構成すると、データが見やすくなります。

特定のキュー ジョブの検索

ログ ファイルの特定のエントリを検索するには、UTL ログと併せて Project Web Access の [キュー ジョブの管理] ページを使用する必要があります。

キュー ジョブごとにジョブ グループ ID が設定されています。このデータを使用してログ ファイルを検索します。最初に、ジョブ グループ ID 列をジョブ グリッドに追加する必要があります。それが済むと、ULS ログ ファイルで特定の値を確認できるようになります。

ジョブ グループ ID 列をジョブ グリッドに追加する

  1. Project Web Access の [サーバー設定] ページの [キュー] セクションで、[キューの管理] をクリックします。

  2. [キュー ジョブの管理] ページで、[] をクリックします。

  3. [使用できる列] ボックスの一覧で [ジョブ グループ ID] を選択します。[追加] をクリックして、ジョブ グループ ID を [選択した列] ボックスの一覧に移動します。

  4. ジョブ グリッド ツールバーで [状態の更新] をクリックして、列が追加されたことを確認します。

ジョブ グループ ID 列を追加した後は、[キュー ジョブの管理] ページでジョブに対して表示されるジョブ グループ ID の値に対応するジョブ キュー エントリを、ULS ログで確認できます。たとえば、[キュー ジョブの管理] ページのジョブ グリッドで、プロジェクト発行ジョブが 2008 年 6 月 8 日の午後 1 時 22 分に失敗したことがわかったものとします。障害発生の時刻を基にして、障害情報が含まれている正しいログ ファイルを発見できます。たとえば、ログ ファイル期間 (ログ ファイルを使用する分数を指定するパラメータ) が 30 分に設定されている場合、範囲は午後 1 時 20 分から午後 1 時 50 分になるので、contoso-20080608-1320.log に障害情報が格納されます。

ログ ファイルを開いた後は、列フィルタを使用して、特定のキュー ジョブに関連するすべてのエントリを検索できます。たとえば、[Correlations] 列を使用すると、ジョブ グループ ID に基づいてフィルタできます。また、[Timestamp] 列 (障害発生の時刻でフィルタ)、[Area] 列 ("Project Server" でフィルタ)、または [Category] 列 ("Project Server Queue" でフィルタ) にフィルタを適用して検索を絞り込むこともできます。

キュー エントリ コンポーネントの表示

キュー エントリに対する ULS ログを表示するときは、2 種類の機能に分けられることに注意してください。

  • キューに送信されたジョブ : ジョブは、処理されるために Project Server からキューに送信されています。

  • 処理用に取得されたジョブ : ジョブが正常にキューに送信された後、キューのワーカー スレッドがジョブの処理を試みます。

キューに送信されたジョブ

ジョブが正常にキューに送信されると、通常、キュー ジョブに対して 3 種類のエントリが ULS ログに作成されます。

  • 開始メッセージ グループ (begin-message-group) エントリ

  • ジョブ関連データをキューに送信するエントリ

  • 終了メッセージ グループ (end-message-group) エントリ

開始メッセージ グループ エントリ : あるキュー ジョブについての ULS ログへの最初のエントリは、ジョブの開始を示すタグです。このタグは、続いて他のジョブ関連データが送信されることをキューに通知します。開始メッセージ グループ キュー ジョブ エントリの例を次に示します。

05/13/2008 11:24:09.05 w3wp.exe(0x0E38) 0x0160 ProjectServer ProjectServerQueue 8the Medium PWA:hppt://contoso/PWA, SSP:SharedService1, User:Contoso\EvaCorets, PSI: Project.QueueCreateProjectAndCheckOut [QUEUE][SENDER] ProjectQ: BeginMessageGroup(95e48e6e-71ad-4a6b-b997-86693cac4f66,41398775-d4a6-4c10-a523-4d0251d192c1,ProjectCreate,StandardPriority): JobUID: 6c2c97af-06b4-4038-8ee8-d83de92e59a9 ca5ca0b6-1dce-4d76-aefb-fec966aa8fe1

ジョブ関連データをキューに送信するエントリ : キュー ジョブによって開始メッセージ グループ エントリが送信された後、複数のジョブ関連エントリがキューに送信されます。これらのエントリのシーケンスは、ID パラメータの値を使用して追跡できます。これらのエントリは、ログ内で連続して発生する場合も、しばらくの間他のログ エントリに混ざって分散して発生する場合もあります。ジョブのグループ UID 番号を使用することで、ログ ファイル内でのジョブのエントリを追跡できます。この時点では、ジョブは "キューに配置中" の状態です。ジョブ関連エントリの例を次に示します。

05/13/2008 11:24:09.07 w3wp.exe (0x0E38) 0x0160 ProjectServer ProjectServerQueue 8thf Medium PWA:http://contoso/PWA, SSP:SharedServices1, User:Contoso\EvaCorets, PSI: Project.QueueCreateProjectAndCheckOut  [QUEUE][SENDER] ProjectQ: Send( Microsoft.Office.Project.Server.BusinessLayer.QueueMsg.ProjectAddToMessage ): ID: 1 GroupUID: 95e48e6e-71ad-4a6b-b997-86693cac4f66  ca5ca0b6-1dce-4d76-aefb-fec966aa8fe1

終了メッセージ グループ エントリ : キューがキュー ジョブのすべてのデータを受信すると、終了メッセージ グループ エントリがキューに送信されます。このエントリを受信するまで、キュー ジョブの状態は "キューに配置中" です。終了メッセージ グループ エントリが正常に受信されると、ジョブは "処理待機中" 状態に移行します。終了メッセージ グループ エントリの例を次に示します。

05/13/2008 11:24:09.09 w3wp.exe(0x0E38) 0x0160 ProjectServer ProjectServerQueue 8the Medium PWA:hppt://contoso/PWA, SSP:SharedService1, User:Contoso\EvaCorets, PSI: Project.QueueCreateProjectAndCheckOut [QUEUE][SENDER] ProjectQ: EndMessageGroup(): GroupUID: 6c2c97af-06b4-4038-8ee8-d83de92e59a9 ca5ca0b6-1dce-4d76-aefb-fec966aa8fe1

処理用に取得されたジョブ

キューに正常に送信されたジョブは、最終的に、ジョブ ワーカー スレッドによって処理のために取得されます。これには 2 種類のジョブが関連付けられます。

  • 開始グループ (starting-group) エントリ

  • グループ正常終了 (group-completed-successfully) エントリ

開始グループ エントリ : ULS ログの開始グループ エントリは、ジョブが処理のために取得されたことを示します。この時点で、ジョブのステータスは "処理中" になります。開始グループ エントリの例を次に示します。

05/13/2008 11:24:09.55 Microsoft.Office.Project.Server (0x0E9C) 0x1378  ProjectServer   ProjectServerQueue 7h52 Medium PWA:http://Contoso/PWA, SSP:SharedServices1, User:Contoso\EvaCorets, PSI:[QUEUE] ProjectQ: Starting group 95e48e6e-71ad-4a6b-b997-86693cac4f66 type = ProjectCreate priority = StandardPriority   59d07fb9-158f-42b6-ac09-824d592c06c7

グループ正常終了エントリ : ジョブの処理が正常に終了すると、ULS ログのグループ正常終了エントリによって示されます。ジョブの状態は "成功" になります。グループ正常終了エントリの例を次に示します。

05/13/2008 11:24:11.52 Microsoft.Office.Project.Server (0x0E9C) 0x1378  ProjectServer  ProjectServerQueue 7h5o Medium PWA:http://Contoso/PWA, SSP:SharedServices1, User:Contoso\EvaCorets, PSI:[QUEUE] ProjectQ: Group completed successfully: 95e48e6e-71ad-4a6b-b997-86693cac4f66 type = ProjectCreate 59d07fb9-158f-42b6-ac09-824d592c06c7

キュー エントリ パラメータ

ULS ログ内のさまざまなキュー ジョブ エントリのすべてで、次のパラメータが使用される場合があります。

パラメータ 説明

PWA:http://contoso/PWA

キュー ジョブが処理されている Project Server のインスタンスを示します。この例では "http://contoso/PWA" です。

SSP:ShareService1

ジョブが発生した Project Server インスタンスの共有サービス プロバイダを示します。この例では "SharedService1" です。

User:Contoso\EvaCorets

キュー ジョブの所有者を示します。この例では、EvaCorets というエイリアスで示される Windows ユーザーです。

PSI: WinProj.PreSaveProject

ジョブを通して行われている Project Server Interface (PSI) 呼び出しを示します。この例の WinProj.PreSaveProject は、PSI 呼び出しが Project Professional によるプロジェクト保存操作であることを示します。

[SENDER]

メッセージがキューに送信されていることを示します。

[QUEUE]

キューのメイン スレッドおよびキューのワーカー スレッドを定義します。

[SERVICE]

Queue Watcher Process を定義します。

[QSERVICE]

Queue Worker Process を定義します。

ProjectQ:

Project キューを定義します (Timesheet キューではなく)。

ProjectSave

ジョブの種類が Project クライアントからの保存であることを指定します。ジョブの種類は Type = in Starting Group エントリまたは Group Completed Successfully エントリに追加されます。

StandardPriority

ジョブの優先度を示します。優先度の低いジョブ (プロジェクト発行ジョブによって作成されたレポート データベースへの書き込みなど) は、優先度の高いジョブが取得された後で、処理のために取得されます。優先度は Priority = in Starting Group エントリまたは Group Completed Successfully エントリに追加されます。

JobUID: de2f...

キュー ジョブの UID を定義します。ジョブ UID の値は、Project Web Access の [サーバー設定] の [キュー ジョブの管理] ページでの、キュー ジョブに対するジョブ ID の値に対応します。

[!メモ] ULS ログのキュー ジョブ エントリの最後の列の UID 値は、通常、Project Web Access の [サーバー設定] の [キュー ジョブの管理] ページでの、ジョブ グループ UID の値に関連付けることができます。

キューのスレッドおよびプロセスの詳細については、「Microsoft Office Project Server 2007 キュー システム」を参照してください。