Skype for Business 2015 の集中ログ サービス

概要:Skype for Business Server 2015 の集中ログ サービスのサービス コンポーネントと構成設定について説明します。

集中ログ サービスでは、次のことができます。

  • 中央の場所から 1 つのコマンドを使用して、1 つ以上のコンピューターとプールのログ記録を開始または停止します。

  • 1 つ以上のコンピューターとプールに関するログを検索します。 検索を調整して、すべてのマシンのすべてのログを返すか、より簡潔な結果を返すことができます。

  • ログ セッションの構成は次のとおりです。

    • シナリオを定義するか、既定のシナリオを使用します。 集中ログ サービスのシナリオは、スコープ (グローバルまたはサイト)、シナリオの目的を識別するためのシナリオ名、および 1 つ以上のプロバイダーで構成されます。 既定のシナリオと 1 つの定義されたシナリオは、コンピューター上でいつでも実行できます。

    • 既存のプロバイダーを使用するか、新しいプロバイダーを作成します。 Aprovider は、ログ セッションで収集される内容、詳細レベル、トレースするコンポーネント、適用されるフラグを定義します。

      ヒント

      OCSLogger に精通している場合、用語プロバイダーは 、コンポーネント (S4、SIPStack など)、 ログの種類 (WPP、EventLog、IIS ログ ファイルなど)、 トレース レベル (All、verbose、debug など)、 フラグ (TF_COMPONENT、TF_DIAG など) のコレクションを指します。 これらの項目はプロバイダー (Windows PowerShell 変数) で定義され、集中ログ サービス コマンドに渡されます。

    • 特定のコンピューターとプールのログを構成します。

    • ログ セッションの対象範囲を、サイト (そのサイトのコンピューターだけでログ キャプチャを実行します) またはグローバル (展開のすべてのコンピューターでログ キャプチャを実行します) から定義します。

集中ログ サービスは、根本原因分析からパフォーマンスの問題まで、大小の問題に対する強力なトラブルシューティング ツールです。 すべての例は、Skype for Business Server管理シェルを使用して示されています。 ツール自体にコマンドライン ツールのヘルプが用意されていますが、コマンド ラインから実行できる機能は限られています。 Skype for Business Server管理シェルを使用すると、はるかに大きく構成可能な機能セットにアクセスできるため、常に最初の選択肢になります。

ログ サービス コンポーネント

集中ログ サービスは、デプロイ内のすべてのサーバーで実行され、次のエージェントとサービスで構成されます。

  • 一元化されたログ サービス エージェント ClsAgent は、Skype for Business Serverがデプロイされているすべてのコンピューターで実行されます。 WCF 経由で ClsController からのコマンドをリッスンし(ポート TCP 50001-50003 で)、応答をコントローラーに送信します。 ログ セッション (開始/停止/更新) を管理し、ログを検索します。 また、ログのアーカイブや消去などのハウスキーピング操作も実行します。

  • 集中ログ サービス コントローラー コマンドレット Skype for Business Server管理シェルは、開始、停止、フラッシュ、および検索の各コマンドを ClsAgent に送信します。 検索コマンドが送信されると、結果のログがClsControllerLib.dllに返され、集計されます。 コントローラーは、エージェントにコマンドを送信し、それらのコマンドの状態を受け取り、検索スコープ内の任意のコンピューター上のすべてのエージェントから返される検索ログ ファイル データを管理し、ログ データを意味のある順序付けされた出力セットに集計します。 次のトピックの情報は、Skype for Business Server管理シェルの使用に焦点を当てています。

ClsController と ClsAgent の通信

CLSController と CLSAgent の間の関係

コマンドは、Windows Server コマンド ライン インターフェイスまたは Skype for Business Server 管理シェルを使用して発行します。 コマンドは、ログイン先のコンピューターで実行され、ローカルまたは展開内の他のコンピューターとプールに ClsAgent に送信されます。

ClsAgent では、すべての のインデックス ファイルが保持されます。ローカル コンピューターに存在する CACHE ファイル。 ClsAgent は、オプション CacheFileLocalFolders によって定義されたボリューム間で均等に分散されるように割り当て、各ボリュームの 80% 以上を消費することはありません (つまり、ローカル キャッシュの場所と割合は Set-CsClsConfiguration コマンドレットを使用して構成できます)。 ClsAgent は、ローカル コンピューターから古いキャッシュされたイベント トレース ログ (.etl) ファイルをエージングする役割も担います。 2 週間後 (つまり、 Set-CsClsConfiguration コマンドレットを使用して時間枠を構成できます)、これらのファイルはファイル共有にコピーされ、ローカル コンピューターから削除されます。 詳細については、「 Set-CsClsConfiguration」を参照してください。 検索要求を受信すると、検索条件を使用してキャッシュされた .etl ファイルのセットを選択し、エージェントによって管理されるインデックスの値に基づいて検索を実行します。

注意

ローカル コンピューターからファイル共有に移動されたファイルを ClsAgent で検索できます。 ClsAgent がファイルをファイル共有に移動すると、ファイルのエージングと削除は ClsAgent で管理されません。 ファイル共有内のファイルのサイズを監視し、ファイルを削除またはアーカイブするための管理タスクを定義する必要があります。

Snooper.exe や、テキスト ファイルを読み取ることのできるツール (Notepad.exe など) を含むさまざまなツールを使用して、結果のログ ファイルの読み取りと分析を行うことができます。 Snooper.exeは、Skype for Business Server 2015 デバッグ ツールの一部であり、Web ダウンロードとして利用できます。

OCSLogger と同様に、集中ログ サービスにはトレース対象のコンポーネントがいくつかあり、TF_COMPONENTやTF_DIAGなどのフラグを選択するオプションが用意されています。 一元化されたログ サービスでは、OCSLogger のログ レベル オプションも保持されます。

コマンド ライン ClsController でSkype for Business Server管理シェルを使用する最も重要な利点は、問題領域、カスタム フラグ、ログ レベルを対象とする選択したプロバイダーを使用して、新しいシナリオを構成および定義できることです。 ClsController で使用可能なシナリオは、実行可能ファイル用に定義されるシナリオに制限されます。

以前のバージョンでは、管理者とサポート担当者が展開内のコンピューターからトレース ファイルを収集できるようにするために OCSLogger.exe が提供されていました。 OCSLogger には、長所と同時に短所も存在しました。 ログは一度に 1 台のコンピューター上でしか収集できませんでした。 OCSLogger のコピーを使用して複数のコンピューターにログオンすることは可能でしたが、最終的にログが複数作成され、結果を集計するのが容易ではありませんでした。

ユーザーがログの検索を要求すると、ClsController が (選択したシナリオに基づいて) 要求の送信先コンピューターを特定します。 また、.etl ファイルが保存されているファイル共有に検索を送信する必要があるかどうかを判断します。 検索結果が ClsController に返されると、コントローラーが結果をマージして時系列の 1 つの結果セットを作成し、ユーザーに提供します。 ユーザーは、ローカル コンピューターに検索結果を保存して、以降の分析に使用できます。

ログ記録セッションを開始したら、解決しようとする問題に関連するシナリオを指定します。 常に実行することのできるシナリオは 2 つあります。 そのうちの 1 つは AlwaysOn シナリオにする必要があります。 名前が示すとおり、このシナリオを展開内で常に実行し、すべてのコンピューター、プール、およびコンポーネントに関する情報を収集する必要があります。

重要

既定では、AlwaysOn シナリオは展開内で実行されません。 このシナリオは明示的に開始する必要があります。 開始したシナリオは明示的に停止されるまで実行され、実行状態はコンピューターを再起動しても保持されます。 シナリオの開始と停止の詳細については、「Skype for Business Server 2015 での CLS ログ キャプチャの開始または停止」を参照してください。

問題が発生した場合は、報告された問題に関連する 2 つ目のシナリオを開始します。 問題を再現し、2 つ目のシナリオのログ記録を停止します。 報告された問題に関連するログの検索を開始します。 集計されたログのコレクションによって、展開のサイト スコープまたはグローバル スコープ内のすべてのコンピューターからのトレース メッセージを含むログ ファイルが生成されます。 分析可能なデータ以上のデータが検索から返された場合は (通常、信号対ノイズ比とも呼ばれ、この場合はノイズが多すぎる状態です)、パラメーターを絞り込んで別の検索を実行します。 この時点で、問題を明確にするために役立つパターンの特定を開始できます。 最終的には、いくつかの絞り込み検索を実行した後で問題に関連するデータが見つかり、根本原因を特定できます。

ヒント

Skype for Business Serverで問題のシナリオが表示されたら、まず「問題について何を既に知っていますか」と自問します。問題の境界を定量化すると、Skype for Business Serverの運用エンティティの大部分を排除できます。

ユーザーが連絡先を検索するときに現在の結果を取得していないことがわかっているシナリオ例を検討します。 メディア コンポーネント、エンタープライズ VoIP、会議、その他の多数のコンポーネントで問題を探しても意味がありません。 実際はどこに問題が存在するのか (クライアントなのか、サーバー側の問題なのか) がわからないためです。 連絡先は、ユーザー レプリケーターによって Active Directory から収集され、アドレス帳サーバー (ABServer) を使用してクライアントに配信されます。 ABServer は、RTC データベース (ユーザー レプリケーターが書き込んだ場所) から更新プログラムを取得し、既定では午前 1 時 30 分にアドレス帳ファイルに収集します。 Skype for Business Server クライアントは、ランダムなスケジュールで新しいアドレス帳を取得します。 プロセスのしくみを把握しているため、ユーザー レプリケーターによって Active Directory から収集されるデータ、ABServer がアドレス帳ファイルを取得および作成しない、またはクライアントがアドレス帳ファイルをダウンロードしていないことに関連する問題の潜在的な原因を検索減らすことができます。

現在の構成

集中ログ サービスは、ログ サービスの収集対象、収集方法、収集元、およびログ設定を定義するように構成されています。 これらの設定は、グローバル (展開全体) またはサイト (展開内で指定されたサイト) に対して定義します。 定義するすべてのログで、ログを開始、停止、更新、および検索するコマンドに対して使用する ID に適した設定が使用されます。

現在の集中ログ サービス構成を表示するには

  1. Skype for Business Server 管理シェルを以下の手順で起動します。[スタート]、[すべてのプログラム]、[Skype for Business 2015]、[Skype for Business Server 管理シェル] の順にクリックします。

  2. コマンド ライン プロンプトで、次のように入力します。

    Get-CsClsConfiguration
    

    ヒント

    を定義して返される構成設定のスコープとスコープ ("Site:Redmond" など) を -Identity 絞り込んだり拡張したりして、サイト Redmond の CsClsConfiguration のみを返すことができます。 構成の特定の部分の詳細が必要な場合は、出力を別のWindows PowerShell コマンドレットにパイプできます。 たとえば、サイト "Redmond" の構成で定義されているシナリオの詳細を取得するには、次のように入力します。 Get-CsClsConfiguration -Identity "site:Redmond" | Select-Object -ExpandProperty Scenarios

    Get-CsClsConfiguration からのサンプル出力

    コマンドレットの結果には、集中ログ サービスの現在の構成が表示されます。

構成設定 説明
Identity
この構成のスコープと名前を識別します。 存在するグローバル構成は 1 つのみで、サイトごとに 1 つの構成があります。
Scenarios
この構成に対して定義されたシナリオの一覧。
SearchTerms
構成の定義済み検索用語。 オンプレミスの展開ではなく、Microsoft 365 または Office 365。
SecurityGroups
コンピューターを確認できるユーザー (つまり、セキュリティ グループのメンバー) を、そのユーザーのサイトに基づいて制御する定義済みセキュリティ グループ。 このコンテキストのサイトは、トポロジ ビルダーで定義されているサイトです。
Regions
SecurityGroups を地域にまとめる際に定義済み地域が使用されます。
EtlFileRolloverSizeMB
パラメーターは、新しいイベント トレース ログ (.etl) ファイルが作成される前のログ ファイルの最大サイズを示します。 定義したサイズに達すると、EtlFileRolloverMinutes で設定された最大時間に達していなくても、新しいログ ファイルが作成されます。
EtlFileRolloverMinutes
新しい .etl ファイルが作成されるまでのログの定義済み最大経過時間 (分単位)。 指定した時間が過ぎると、EtlFileRolloverSizeMBE で設定された最大サイズに達していなくても、新しいログ ファイルが作成されます。
TmfFileSearchPath
トレース メッセージ形式のファイルを検索する場所。
CacheFileLocalFolders
キャッシュ ファイルが書き込まれるコンピューター上の場所への定義済みパス。 CLSAgent はキャッシュ ファイルを書き込み、ネットワーク サービスとの関連で実行されます。 この場合は、%TEMP% が %WINDIR%\ServiceProfiles\NetworkService\AppData\Local に展開されます。 既定では、キャッシュ ファイルとログ ファイルは同じディレクトリに書き込まれます。
CacheFileNetworkFolder
汎用名前付け規則 (UNC) パスを定義すると、ログ操作中にキャッシュ ファイルを受け取ることができます。
CacheFileLocalRetentionPeriod
キャッシュ ファイルが保持される最大時間 (日単位) として定義されます。
CacheFileMaxDiskUsage
キャッシュ ファイルで使用できるディスク容量の割合として定義されます。
ComponentThrottleLimit
自動調整制限がトリガーされるまでの、コンポーネントが生成できる秒あたりの最大トレース数として定義されます。
ComponentThrottleSample
ComponentThrottleLimit を超えることができる 60 秒単位の回数。
MinimumClsAgentServiceVersion
実行が許可されている CLSAgent の最小バージョン。 この要素は、Microsoft 365 またはOffice 365を対象としています。