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 ログ ファイルの設定を構成する
サーバーの全体管理で [サーバー構成の管理] をクリックし、[ログおよびレポートの作成] セクションの [診断ログ] をクリックします。
[診断ログ] ページで、[トレース ログ] セクションの [パス] フィールドで指定されている場所を確認します。既定の場所は C:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\LOGS です。場所を変更するには、[パス] フィールドに新しい場所を入力します。
[ログ ファイル数] フィールドで、ファーム内の各サーバーに保存するログ ファイルの最大数を指定します。既定値は 96 です。
[1 つのログ ファイルを使用する時間 (分)] フィールドに、各ログ ファイルを使用する時間を分単位で入力します。既定値は 30 です。
[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 を構成する
Office Excel 2007 で、[Office ボタン] をクリックして [開く] をクリックします。
[ファイルを開く] ダイアログ ボックスで、ログ ファイルの場所を参照します。
[ファイルの種類] ボックス ([ファイル名] フィールドの下) の一覧で [すべてのファイル (*.*)] をクリックして、ログ ファイルが表示されるようにします。
[!メモ] ファイルの一覧を日付順に表示するには、ファイル一覧の空いている領域を右クリックし、[アイコンの整列] をポイントして、[更新日時] をクリックします。
ファイルの一覧から、表示するログ ファイルを選択します。
ログ ファイルが表示された後、[ホーム] タブの [並べ替えとフィルタ] をクリックし、[フィルタ] をクリックします。すべての行を特定の条件でフィルタできるようになります。たとえば、Project Server のエントリのみを表示するには、[Area] 列で [フィルタ] メニューをクリックし、[Project Server] 以外のすべてのオプションを選択解除します。
[Message] 列を選択します。[ホーム] タブで [書式] をクリックし、[セルの書式設定] をクリックします。[セルの書式設定] ページで [配置] をクリックし、[文字の制御] セクションで [折り返して全体を表示する] をオンにします。[OK] をクリックします。メッセージ データは非常に長くなることがあるので、テキストを折り返すように列を構成すると、データが見やすくなります。
特定のキュー ジョブの検索
ログ ファイルの特定のエントリを検索するには、UTL ログと併せて Project Web Access の [キュー ジョブの管理] ページを使用する必要があります。
キュー ジョブごとにジョブ グループ ID が設定されています。このデータを使用してログ ファイルを検索します。最初に、ジョブ グループ ID 列をジョブ グリッドに追加する必要があります。それが済むと、ULS ログ ファイルで特定の値を確認できるようになります。
ジョブ グループ ID 列をジョブ グリッドに追加する
Project Web Access の [サーバー設定] ページの [キュー] セクションで、[キューの管理] をクリックします。
[キュー ジョブの管理] ページで、[列] をクリックします。
[使用できる列] ボックスの一覧で [ジョブ グループ ID] を選択します。[追加] をクリックして、ジョブ グループ ID を [選択した列] ボックスの一覧に移動します。
ジョブ グリッド ツールバーで [状態の更新] をクリックして、列が追加されたことを確認します。
ジョブ グループ 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 クライアントからの保存であることを指定します。ジョブの種類は |
StandardPriority |
ジョブの優先度を示します。優先度の低いジョブ (プロジェクト発行ジョブによって作成されたレポート データベースへの書き込みなど) は、優先度の高いジョブが取得された後で、処理のために取得されます。優先度は |
JobUID: de2f... |
キュー ジョブの UID を定義します。ジョブ UID の値は、Project Web Access の [サーバー設定] の [キュー ジョブの管理] ページでの、キュー ジョブに対するジョブ ID の値に対応します。
|
キューのスレッドおよびプロセスの詳細については、「Microsoft Office Project Server 2007 キュー システム」を参照してください。