Lync Server 2013 での集中ログ サービスのプロバイダーの構成
トピック最終更新日時: 2014-03-19
集中ログ サービスの プロバイダー の概念と構成は、把握することが最も重要な要素の 1 つです。 プロバイダーは、Lync Server トレース モデルの Lync Server サーバーの役割コンポーネントに直接マップされます。 プロバイダーは、トレースされる Lync Server 2013 のコンポーネント、収集するメッセージの種類 (致命的なメッセージ、エラー、警告など)、およびフラグ (TF_ConnectionやTF_Diagなど) を定義します。 プロバイダーは、各 Lync Server サーバー ロールのトレース可能なコンポーネントです。 プロバイダーを使用して、コンポーネントに対するトレースのレベルと種類 (S4、SIPStack、IM、プレゼンスなど) を定義します。 定義済みのプロバイダーは、シナリオの中で特定の問題状況に対応する特定の論理コレクション用のすべてのプロバイダーをグループ化するために使用されます。
Lync Server 管理シェルを使用して集中ログ サービス機能を実行するには、CsAdministrator または CsServerAdministrator ロールベースのアクセス制御 (RBAC) セキュリティ グループ、またはこれら 2 つのグループのいずれかを含むカスタム RBAC ロールのメンバーである必要があります。 このコマンドレットが割り当てられているすべてのロールベースのアクセス制御 (RBAC) ロール (自分で作成したカスタム RBAC ロールを含む) の一覧を返すには、Lync Server Management Shell または Windows PowerShell プロンプトから次のコマンドを実行します。
Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Lync Server 2013 cmdlet"}
次に例を示します。
Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Set-CsClsConfiguration"}
このトピックの残りの部分では、プロバイダーを定義する方法、プロバイダーを変更する方法、およびトラブルシューティングを最適化するためにプロバイダー定義に含まれる内容について説明します。 集中ログ サービス コマンドを発行するには、2 つの方法があります。 既定では、ディレクトリ C:\Program Files\Common Files\Microsoft Lync Server 2013\CLSAgent にあるCLSController.exeを使用できます。 または、Lync Server Management Shell を使用してWindows PowerShellコマンドを発行することもできます。 重要な違いは、コマンド ラインでCLSController.exeを使用する場合、プロバイダーが既に定義されており、変更できないシナリオの有限の選択がありますが、ログ レベルを定義できる点です。 Windows PowerShellを使用すると、ログ セッションで使用する新しいプロバイダーを定義し、その作成、収集内容、データを収集するレベルを完全に制御できます。
大事な
前述したように、プロバイダーは非常に強力です。 ただし、シナリオは、プロバイダーが表すコンポーネントに対するトレースの設定と実行を行うために必要な具体的な情報をすべて含んでいるため、プロバイダーよりも強力です。 シナリオとプロバイダーのコレクションは、大まかに言うと、大量の情報を収集する多数のコマンドを含むバッチ ファイルを実行することと、多数のコマンドをコマンド ラインから一度に 1 つずつ発行することに相当します。
プロバイダーの詳細を詳しく調べなくても済む代わりに、一元化されたログ サービスには、既に定義されているさまざまなシナリオが用意されています。 用意されているシナリオを使用して、遭遇する可能性がある問題の大部分に対応できます。 まれに、プロバイダーを作成して定義し、シナリオに割り当てなければならない場合があります。 新しいプロバイダーとシナリオを作成する必要があるかどうかを考慮する前に、用意されている各シナリオを十分に調べることを強くお勧めします。 ここでは、シナリオでのプロバイダー要素の使用によるトレース情報の収集方法を理解するために、プロバイダーの作成に関する情報が提示されていますが、プロバイダーそのものの詳細については説明しません。
Lync Server 2013 の一元ログ サービスの概要で紹介された、シナリオで使用するプロバイダーを定義する重要な要素は次のとおりです。
プロバイダー OCSLogger に精通している場合、プロバイダーは、トレース エンジンがログを収集する対象を OCSLogger に指示するコンポーネントです。 プロバイダーは同じコンポーネントであり、多くの場合、OCSLogger のコンポーネントと同じ名前を持ちます。 OCSLogger に慣れていない場合、プロバイダーは、集中ログ サービスがログを収集できるサーバー ロール固有のコンポーネントです。 集中ログ サービスの場合、CLSAgent は、プロバイダー構成で定義したコンポーネントのトレースを実行している一元的なログ サービスのアーキテクチャ部分です。
ログ レベル OCSLogger には、収集されたデータの詳細レベルを選択するオプションが用意されています。 この機能は、集中ログ サービスとシナリオの不可欠な部分であり、 Type パラメーターによって定義されます。 次のいずれかを選択できます。
すべての 定義されたプロバイダーのログに、致命的、エラー、警告、および情報の種類のトレース メッセージを収集します。
致命的 定義されたプロバイダーのエラーを示すトレース メッセージのみを収集します。
エラー 定義されたプロバイダーのエラーと致命的なメッセージを示すトレース メッセージのみを収集します。
警告 定義されたプロバイダーに対する警告を示すトレース メッセージと、致命的なメッセージとエラー メッセージのみを収集します。
情報 定義されたプロバイダーの情報メッセージに加えて、致命的なメッセージ、エラー メッセージ、警告メッセージを示すトレース メッセージのみを収集します。
詳細 定義されたプロバイダーの致命的、エラー、警告、および情報の種類のすべてのトレース メッセージを収集します。
フラグ OCSLogger には、トレース ファイルから取得できる情報の種類を定義する各プロバイダーのフラグを選択するオプションが用意されています。 プロバイダーに基づいて、次のフラグを選択できます。
TF_Connection 接続関連のログ エントリを提供します。 これらのログには、特定のコンポーネントとの間で確立された接続に関する情報が含まれます。 これには、重要なネットワーク レベルの情報 (つまり、接続の概念のないコンポーネントの場合) も含まれる場合があります。
TF_Security セキュリティに関連するすべてのイベント/ログ エントリを提供します。 たとえば、SipStack の場合、これらはドメイン検証エラーやクライアント認証/承認エラーなどのセキュリティ イベントです。
TF_Diag コンポーネントの診断またはトラブルシューティングに使用できる診断イベントを提供します。 たとえば、SipStack の場合、これらは証明書のエラー、または DNS の警告/エラーです。
TF_Protocol SIP や結合されたコミュニティ コーデック パック メッセージなどのプロトコル メッセージを提供します。
TF_Component プロバイダーの一部として指定されたコンポーネントのログ記録を有効にします。
すべての プロバイダーで使用可能なすべてのフラグを設定します。
既存の一元化ログ サービス のシナリオ プロバイダーに関する情報を確認するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
既存のプロバイダーの構成をレビューするには、次を入力します。
Get-CsClsScenario -Identity <scope and scenario name>
たとえば、グローバル会議アテンダントに関する情報をレビューするには、次のように入力します。
Get-CsClsScenario -Identity "global/CAA"
このコマンドは、関連するフラグ、設定、およびコンポーネントと共にプロバイダーの一覧を表示します。 表示される情報が十分でない場合、またはリストが既定のWindows PowerShellリスト形式に対して長すぎる場合は、別の出力方法を定義することで追加情報を表示できます。 これを行うには、次のように入力します。
Get-CsClsScenario -Identity "global/CAA" | Select-Object -ExpandProperty Provider
このコマンドの出力では、各プロバイダーを行分割形式で表示します。プロバイダー名、ログの種類、ログ レベル、フラグ、GUID、および役割が行ごとに表示されます。
新しい一元的なログ サービス シナリオ プロバイダーを定義するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
シナリオ プロバイダーは、トレースするコンポーネント、使用するフラグ、および収集する詳細レベルで構成されます。 これを実行するには次のように入力します。
$<variableName> = New-CsClsProvider -Name <provider component> -Type <log type> -Level <log level detail type> -Flags <provider trace log flags>
たとえば、Lyss プロバイダーから収集する内容および詳細レベルを定義するトレース プロバイダー定義は、次のようになります。
$LyssProvider = New-CsClsProvider -Name "Lyss" -Type "WPP" -Level "Info" -Flags "All"
-Level では、重大、エラー、警告、および情報メッセージが収集されます。 使用されるフラグは、Lyss プロバイダー用に定義されたすべてのフラグであり、TF_Connection、TF_Diag、および TF_Protocol を含みます。
変数 $LyssProvider を定義した後、New-CsClsScenario コマンドレットでその変数を使用して Lyss プロバイダーからトレースを収集できます。 このプロバイダーの作成と新しいシナリオへの割り当てを完了するには、次のように入力します。
New-CsClsScenario -Identity "site:Redmond/RedmondLyssInfo" -Provider $LyssProvider
$LyssProvider は、New-CsClsProvider で作成された定義済みのシナリオを含む変数です。
既存の集中ログ サービス シナリオ プロバイダーを変更するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
既存のプロバイダーの構成を更新または変更するには、次のように入力します。
$LyssProvider = New-CsClsProvider -Name "Lyss" -Type "WPP" -Level "Debug" -Flags "TF_Connection, TF_Diag"
次のように入力することで、プロバイダーを割り当てるシナリオを更新します。
Set-CsClsScenario -Identity "site:Redmond/RedmondLyssInfo" -Provider $LyssProvider
コマンドを実行すると、最終的にシナリオ site:Redmond/RedmondLyssInfo のフラグと割り当てられるプロバイダーのレベルが更新されます。 Get-CsClsScenario を使用して、新しいシナリオを表示できます。 詳細については、「Get-CsClsScenario」を参照してください。
警告
New-ClsCsProvider は、フラグが有効かどうかを確認しません。 フラグのスペル (TF_DIAG、TF_CONNECTION など) が正しいことを確認してください。 フラグのスペルが正しくない場合、プロバイダーは期待されるログ情報を返すことができません。
このシナリオに対してプロバイダーを追加するには、次のように入力します。
Set-CsClsScenario -Identity "site:Redmond/RedmondLyssInfo" -Provider @{Add=$ABSProvider, $CASProvider, S4Provider}
Add ディレクティブで定義される各プロバイダーは、New-CsClsProvider プロセスで既に定義されています。
シナリオ プロバイダーを削除するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
用意されているコマンドレットを使用して、既存のプロバイダーの更新と新しいプロバイダーの作成を実行できます。 プロバイダーを削除するには、Set-CsClsScenario に対して Provider パラメーター用の Replace ディレクティブを使用する必要があります。 プロバイダーを完全に削除する唯一の方法は、Update ディレクティブを使用して、削除するプロバイダーを、再定義した同じ名前のプロバイダーに置き換えることです。 たとえば、プロバイダー LyssProvider では、ログの種類として WPP、レベルとして Debug、およびフラグとして TF_CONNECTION と TF_DIAG が定義されています。 このフラグを "All" に変更する必要があるとします。 このプロバイダーを変更するには、次のように入力します。
$LyssProvider = New-CsClsProvider -Name "Lyss" -Type "WPP" -Level "Debug" -Flags "All"
Set-CsClsScenario -Identity "site:Redmond/RedmondLyssInfo" -Provider @{Replace=$LyssProvider}
シナリオとそれに関連付けられているプロバイダーを完全に削除するには、次のように入力します。
Remove-CsClsScenario -Identity <scope and name of scenario>
次に例を示します。
Remove-CsClsScenario -Identity "site:Redmond/RedmondLyssInfo"
警告
Remove-CsClsScenario コマンドレットは、確認のプロンプトを表示しません。 シナリオは、それに関連付けられているプロバイダーと共に削除されます。 シナリオを初めて作成したときに使用したコマンドを再実行することで、シナリオを再作成できます。 削除したシナリオまたはプロバイダーを回復するための手順はありません。
Remove-CsClsScenario コマンドレットを使用してシナリオを削除すると、シナリオはスコープから完全に削除されます。 作成したシナリオとシナリオの一部であったプロバイダーを使用するには、新しいプロバイダーを作成し、それらを新しいシナリオに割り当てます。