複数台のサーバーから一括で診断ログを取得する方法

こんにちは。

SharePoint サポートの木田です。

 

複数台のサーバーがあるファームで、各サーバーから診断ログを取得する必要がある場合、10 台、20 台とサーバーがあると、取得するのも一苦労ではありませんか?そんな状況で役立つ Merge-SPLogFileコマンドを紹介します。

(エラーや障害に関する問い合わせで弊社サポートをご利用頂く際に、事前に調査してほしい現象が発生した時間帯の診断ログを取得頂いていると助かります!)

 

今回は、一般的なシナリオとして、複数台の Web フロント エンド サーバーがある環境で、特定の Web パーツがエラーで表示されない場合などを想定して、どのサーバーでエラーが記録されているかわからないが、現象が発生した時間帯は把握している場合に、該当の時間帯のログをファーム内のすべてのサーバーから取得する例を紹介します。

 

実行手順

  1. ファームのいずれか 1 台のサーバーに管理者権限でログインして、[SharePoint 2013 管理シェル] を管理者権限で起動します。

(SharePoint Server 2010, 2016 の場合はそれぞれのバージョンの管理シェルを起動します。)

 

  1. 以下のコマンドにて、ファーム内のすべてのサーバーより指定した時間帯のログを取得します。

(今回は現象発生時刻が 2016年8月20日 10:00 – 10:10 の間であったと仮定します。)

 

Merge-SPLogFile -Path "<ログの出力先>" -Overwrite -StartTime "<開始時刻>" - EndTime "<終了時刻>"

 

例]) Merge-SPLogFile -Path "C:\Logs\mergedlog.log" -Overwrite -StartTime "08/20/2016 10:00" - EndTime "08/20/2016 10:10"

 

※1 <開始時刻>、<終了時刻> は作業時の状況、または現象発生時刻に合わせてご指定ください。

※2 <ログの出力先> は事前にログの出力先フォルダを作成してご指定ください。

※3 現象がいつでも再現可能な場合は、こちらの記事の方法で診断ログの出力レベルを詳細にしてログを取得ください。

 

補足

時間指定以外にも、特定のエリアのログだけ収集したりすることもできます。

詳細については以下の資料をご参考ください。

 

タイトル: Merge-SPLogFile

URL    : https://technet.microsoft.com/ja-jp/library/ff607721.aspx