Lync Server 2013 での集中ログ サービスのシナリオの構成
トピック最終更新日時: 2014-02-05
シナリオでは、スコープ (つまり、グローバル、サイト、プール、またはコンピューター) と、集中ログ サービスで使用するプロバイダーを定義します。 シナリオを使用して、プロバイダー (S4、SIPStack、IM、プレゼンスなど) のトレースを有効または無効にします。 シナリオを構成することで、特定の問題の条件に対応する特定の論理コレクションのすべてのプロバイダーをグループ化できます。 トラブルシューティングとログ記録のニーズを満たすためにシナリオを変更する必要がある場合、Lync Server 2013 デバッグ ツールには、Edit-CsClsScenario という名前の関数を含む ClsController.psm1 という名前のWindows PowerShell モジュールが用意されています。 このモジュールの目的は、指定したシナリオのプロパティを編集することです。 このトピックでは、このモジュールの使用方法の例を示します。 Lync Server 2013 デバッグ ツールは、次のリンクからダウンロードされます。 https://go.microsoft.com/fwlink/?LinkId=285257
大事な
どのスコープ (サイト、グローバル、プール、またはコンピューター) でも、一度に最大で 2 つのシナリオを実行できます。 現在実行されているシナリオを確認するには、Windows PowerShellと Get-CsClsScenario を使用します。 Windows PowerShellと Set-CsClsScenario を使用すると、実行されているシナリオを動的に変更できます。 ログ セッション中に実行するシナリオを変更して、収集するデータや収集元のプロバイダーを変更または微調整することができます。
Lync Server Management Shell を使用して一元的なログ サービス機能を実行するには、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を使用する場合は、ログ セッションで使用する新しいシナリオを定義できます。
Lync Server 2013 の集中ログ サービスの概要で説明したように、シナリオの要素は次のとおりです。
プロバイダー OCSLogger に精通している場合、プロバイダーは、トレース エンジンがログを収集する対象を OCSLogger に指示するコンポーネントです。 プロバイダーは同じコンポーネントであり、多くの場合、OCSLogger のコンポーネントと同じ名前を持ちます。 OCSLogger に慣れていない場合、プロバイダーは、集中ログ サービスがログを収集できるサーバー ロール固有のコンポーネントです。 プロバイダーの構成の詳細については、「 Lync Server 2013 での集中ログ サービスのプロバイダーの構成」を参照してください。
Id パラメーター –Identity は、シナリオのスコープと名前を設定します。 たとえば、"global" のスコープを設定し、"LyssServiceScenario" でシナリオを特定できます。 2 つを組み合わせる場合は、IDENTITY を定義します (たとえば、"global/LyssServiceScenario")。
また、-Name パラメーターと -Parent パラメーターを使用することもできます。 Name パラメーターは、シナリオを一意に識別するために定義します。 Name を使用する場合は、Parent も使用して、グローバルまたはサイトにシナリオを追加する必要があります。
大事な
Name パラメーターと Parent パラメーターを使用する場合は、-Identity パラメーターは使用できません。
New-CsClsScenario コマンドレットを使用して新しいシナリオを作成するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
ログ セッションの新しいシナリオを作成するには、 New-CsClsProvider を使用し、シナリオの名前 (つまり、一意に識別される方法) を定義します。 WPP (つまり、Windows ソフトウェア トレース プリプロセッサと既定)、EventLog (つまり、Windows イベント ログ形式)、または IISLog (つまり、IIS ログ ファイル形式に基づく ASCII 形式のファイル) からログ形式の種類を選択します。 次に、レベル (このトピックのログ レベルで定義) とフラグ (このトピックのフラグで定義されている) を定義します。
このシナリオ例では、プロバイダー変数の例として LyssProvider を使用します。
定義されたオプションを使用してシナリオを作成するには、次のように入力します。
New-CsClsScenario -Identity <scope>/<unique scenario name> -Provider <provider variable>
次に例を示します。
New-CsClsScenario -Identity "site:Redmond/LyssServiceScenario" -Provider $LyssProvider
代わりに、次のように -Name と -Parent を使用することもできます。
New-CsClsScenario -Name "LyssServiceScenario" -Parent "site:Redmond" -Provider $LyssProvider
複数のプロバイダーを指定した新しいシナリオを New-CsClsScenario コマンドレットを使用して作成するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
スコープごとのシナリオ数は 2 つまでに制限されています。 しかし、設定するプロバイダーの数に制限はありません。 この例では、3 つのプロバイダーを作成済みで、定義するシナリオに 3 つのプロバイダーをすべて割り当てる必要があるとします。 プロバイダー変数の名前は LyssProvider、ABServerProvider、および SIPStackProvider です。 シナリオに複数のプロバイダーを定義して割り当てるには、Lync Server Management Shell またはWindows PowerShellコマンド プロンプトで次のように入力します。
New-CsClsScenario -Identity "site:Redmond/CollectDataScenario" -Provider @{Add=$LyssProvider, $ABServerProvider, $SIPStackProvider}
注意
Windows PowerShellで知られているように、値
@{<variable>=<value1>, <value2>, <value>...}
のハッシュ テーブルを作成するための規則は、スプラティングと呼ばれます。 Windows PowerShellでのスプラティングの詳細については、次を参照してくださいhttps://go.microsoft.com/fwlink/p/?LinkId=267760。
Set-CsClsScenario コマンドレットを使用して既存のシナリオを変更するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
スコープごとのシナリオ数は 2 つまでに制限されています。 実行するシナリオは、ログ キャプチャ セッションの実行中を含め、いつでも変更できます。 実行するシナリオを再定義すると、現在のログ セッションは削除されたシナリオの使用を停止し、新しいシナリオの使用を開始します。 ただし、削除されたシナリオでキャプチャされたログ情報はキャプチャされたログに残ります。 新しいシナリオを定義するには、次のようにします (ここでは、定義済みのプロバイダー "S4Provider" を追加するものとします)。
Set-CsClsScenario -Identity <name of scope and scenario defined by New-CsClsScenario> -Provider @{Add=<new provider to add>}
次に例を示します。
Set-CsClsScenario -Identity "site:Redmond/LyssServiceScenario" -Provider @{Add=$S4Provider}
プロバイダーを置き換える場合は、現在のセットと置き換える単一のプロバイダーか、プロバイダーのコンマ区切りリストを定義します。 多数のプロバイダーのうち 1 つだけを置き換える場合は、現在のプロバイダーに新しいプロバイダーを追加して、新しいプロバイダーと既存のプロバイダーの両方を含む新しいプロバイダーのセットを作成します。 すべてのプロバイダーを新しいセットで置き換える場合は、次のように入力します。
Set-CsClsScenario -Identity <name of scope and scenario defined by New-CsClsScenario> -Provider @{Replace=<providers to replace existing provider set>}
たとえば、現在の $LyssProvider、$ABServerProvider、および $SIPStackProvider のセットを $LyssServiceProvider に置き換えるには、次のように入力します。
Set-CsClsScenario -Identity "site:Redmond/LyssServiceScenario" -Provider @{Replace=$LyssServiceProvider}
現在の $LyssProvider、$ABServerProvider、および $SIPStackProvider のセットのうち、$LyssProvider プロバイダーだけを $LyssServiceProvider に置き換えるには、次のように入力します。
Set-CsClsScenario -Identity "site:Redmond/LyssServiceScenario" -Provider @{Replace=$LyssServiceProvider, $ABServerProvider, $SIPStackProvider}
Remove-CsClsScenario コマンドレットを使用して既存のシナリオを削除するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
定義済みのシナリオを削除する場合は、次のように入力します。
Remove-CsClsScenario -Identity <name of scope and scenario>
たとえば、定義済みのシナリオ site:Redmond/LyssServiceScenario を削除するには、次のようにします。
Remove-CsClsScenario -Identity "site:Redmond/LyssServiceScenario"
Remove-CsClsScenario コマンドレットでは指定したシナリオが削除されますが、キャプチャ済みのトレースはログに残り、検索に利用できます。
ClsController.psm1 モジュールを使用してEdit-CsClsScenario コマンドレットを読み込んでアンロードするには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
大事な
ClsController.psm1 モジュールは、個別の Web ダウンロードとして提供されます。 このモジュールは、Lync Server 2013 デバッグ ツールの一部です。 既定では、デバッグ ツールはディレクトリ C:\Program Files\Lync Server 2013\Debugging Tools にインストールされます。
Windows PowerShellから、次のように入力します。
Import-Module "C:\Program Files\Lync Server 2013\Debugging Tools\ClsController.psm1"
ヒント
モジュールの読み込みに成功すると、Windows PowerShell コマンド プロンプトに戻ります。 モジュールが読み込まれ、Edit-CsClsScenarioが使用可能であることを確認するには、「.」と入力します
Get-Help Edit-CsClsScenario
。 すると、EditCsClsScenario の構文の基本的な概要が表示されます。モジュールをアンロードするには、次のように入力します。
Remove-Module ClsController
ヒント
モジュールのアンロードに成功すると、Windows PowerShell コマンド プロンプトに戻ります。 モジュールがアンロードされていることを確認するには、「.」と入力します
Get-Help Edit-CsClsScenario
。 Windows PowerShellコマンドレットのヘルプの検索が試行され、失敗します。
Edit-ClsController モジュールを使用してシナリオから既存のプロバイダーを削除するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
AlwaysOn シナリオからプロバイダーを削除するには、次のように入力します。
Edit-CsClsScenario -ScenarioName <string of the scenario to edit> -ProviderName <string of the provider to remove> -Remove
次に例を示します。
Edit-CsClsScenario -ScenarioName AlwaysOn -ProviderName ChatServer -Remove
パラメーター ScenarioName および ProviderName は、位置指定 (コマンド ライン内の指定された位置に定義する必要がある) パラメーターです。 コマンドレット名を位置 1 として、シナリオ名が位置 2、プロバイダーが位置 3 にある場合は、パラメーター名を明示的に定義する必要はありません。 この情報を使用すると、上記のコマンドは次のように入力できます。
Edit-CsClsScenario AlwaysOn ChatServer -Remove
パラメーター値の位置指定は、-Scenario と -Provider にのみ適用されます。 他のすべてのパラメーターは明示的に定義する必要があります。
Edit-ClsController モジュールを使用してシナリオにプロバイダーを追加するには
Lync Server 管理シェルを起動する: [スタート] をクリックし、[ すべてのプログラム] をクリックし、[ Microsoft Lync Server 2013] をクリックして、[ Lync Server 管理シェル] をクリックします。
AlwaysOn シナリオにプロバイダーを追加するには、次のように入力します。
Edit-CsClsScenario -ScenarioName <string of the scenario to edit> -ProviderName <string of the provider to add> -Level <string of type level> -Flags <string of type flags>
次に例を示します。
Edit-CsClsScenario -ScenarioName AlwaysOn -ProviderName ChatServer -Level Info -Flags TF_COMPONENT
-Loglevel には、Fatal、Error、Warning、Info、Verbose、Debug、または All を指定できます。 -Flags には、TF_COMPONENT、TF_DIAG など、プロバイダーでサポートされるフラグのいずれかを指定できます。 また、値 ALL も指定できます。
上記の例を、コマンドレットの位置指定機能を使用して入力することもできます。 たとえば、プロバイダー ChatServer を AlwaysOn シナリオに追加するには、次のように入力します。
Edit-CsClsScenario AlwaysOn ChatServer -Level Info -Flags ALL