Get-ServiceFabricClusterHealthChunk
Service Fabric クラスターとその子の正常性情報を取得します。
構文
Get-ServiceFabricClusterHealthChunk
[-ConsiderWarningAsError <Boolean>]
[-MaxPercentUnhealthyApplications <Byte>]
[-MaxPercentUnhealthyNodes <Byte>]
[-ApplicationHealthPolicies <ApplicationHealthPolicyMap>]
[-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
[-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
[-ApplicationFilters <System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]>]
[-NodeFilters <System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]>]
[-TimeoutSec <Int32>]
[<CommonParameters>]
説明
Get-ServiceFabricClusterHealthChunk コマンドレットは、高度な入力フィルターを使用して要求された Service Fabric クラスターとクラスター エンティティの正常性情報を取得します。 既定では、子エンティティは返されません。 指定すると、入力に関連するすべてのエンティティが階層形式で返されます。
Service Fabric では、次の正常性状態が報告されます。
- OK です。 エンティティは正常性ガイドラインを満たしています。
- エラー。 エンティティは正常性ガイドラインを満たしていません。
- 警告。 エンティティは正常性ガイドラインを満たしていますが、いくつかの問題が発生しています。
クラスターの集計された正常性状態では、クラスター上のすべての正常性レポートと、すべての子の集計された正常性状態が再帰的に考慮されます。 正常性評価では、クラスターの正常性ポリシーと、クラスター内の各アプリケーションのアプリケーション正常性ポリシーが使用されます。 クラスターとアプリケーション評価の正常性ポリシーを入力として渡すことができます。 指定しない場合、正常性評価では、マニフェストが指定されている場合はクラスターマニフェストとアプリケーション マニフェストから適用可能な正常性ポリシーが使用され、それ以外の場合は既定のポリシーが使用されます。
クラスターの正常性チャンクには、入力フィルターで指定されている対象の子のみが含まれます。 フィルター処理はサーバー側で行われるので、メッセージ サイズは最小限に抑えられます。
要求された出力がメッセージに収まらない場合、結果は返されません。
Service Fabric クラスターで操作を実行する前に、 Connect-ServiceFabricCluster コマンドレットを使用してクラスターへの接続を確立します。
例
例 1: ノード フィルターを使用してクラスターの正常性を取得する
PS C:\> $ErrorFilter = [System.Fabric.Health.HealthStateFilter]::Error
PS C:\> $AllFilter = [System.Fabric.Health.HealthStateFilter]::All
PS C:\> $NodeFilter1 = New-Object System.Fabric.Health.NodeHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $NodeFilter2 = New-Object System.Fabric.Health.NodeHealthStateFilter -Property @{NodeNameFilter="N0010";HealthStateFilter=$ErrorFilter}
PS C:\> $NodeFilters = New-Object System.Collections.Generic.List[System.Fabric.Health.NodeHealthStateFilter]
PS C:\> $NodeFilters.Add($NodeFilter1)
PS C:\> $NodeFilters.Add($NodeFilter2)
PS C:\> Get-ServiceFabricClusterHealthChunk -NodeFilter $NodeFilters
このコマンドは、クラスターの正常性を照会します。 ノード N0010 を除くすべてのノードを返すフィルターを指定します。これは、エラーで正常性状態が集計されている場合にのみ含める必要があります。
例 2: デプロイされたエンティティ フィルターを使用してクラスターの正常性を取得する
PS C:\> $ErrorFilter = [System.Fabric.Health.HealthStateFilter]::Error
PS C:\> $AllFilter = [System.Fabric.Health.HealthStateFilter]::All
PS C:\> $DspFilter1 = New-Object System.Fabric.Health.DeployedServicePackageHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $DaFilter1 = New-Object System.Fabric.Health.DeployedApplicationHealthStateFilter -Property @{HealthStateFilter=$AllFilter;NodeNameFilter="N0020"}
PS C:\> $DaFilter1.DeployedServicePackageFilters.Add($DspFilter1)
PS C:\> $AppFilter = New-Object System.Fabric.Health.ApplicationHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $AppFilter.DeployedApplicationFilters.Add($DaFilter1)
PS C:\> $AppFilters = New-Object System.Collections.Generic.List[System.Fabric.Health.ApplicationHealthStateFilter]
PS C:\> $AppFilters.Add($AppFilter)
PS C:\> Get-ServiceFabricClusterHealthChunk -ApplicationFilters $AppFilters
このコマンドは、クラスターの正常性を照会します。 指定したノード (N0020) 上のすべてのアプリケーションとデプロイされたアプリケーションとデプロイされたサービス パッケージを返すフィルターを指定します。
例 3: 再帰的な内部フィルターを含むアプリケーション フィルターを使用してクラスターの正常性を取得する
PS C:\> $ErrorFilter = [System.Fabric.Health.HealthStateFilter]::Error
PS C:\> $AllFilter = [System.Fabric.Health.HealthStateFilter]::All
PS C:\> $ReplicaFilter1 = New-Object System.Fabric.Health.ReplicaHealthStateFilter -Property @{ReplicaOrInstanceIdFilter= 130984777977143495;HealthStateFilter=$ErrorFilter}
PS C:\> $ReplicaFilter2 = New-Object System.Fabric.Health.ReplicaHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $PartitionFilter = New-Object System.Fabric.Health.PartitionHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $PartitionFilter.ReplicaFilters.Add($ReplicaFilter1)
PS C:\> $PartitionFilter.ReplicaFilters.Add($ReplicaFilter2)
PS C:\> $SvcFilter1 = New-Object System.Fabric.Health.ServiceHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $SvcFilter1.PartitionFilters.Add($PartitionFilter)
PS C:\> $AppFilter = New-Object System.Fabric.Health.ApplicationHealthStateFilter -Property @{ApplicationNameFilter="fabric:/app1"}
PS C:\> $AppFilter.ServiceFilters.Add($SvcFilter1)
PS C:\> $AppFilters = New-Object System.Collections.Generic.List[System.Fabric.Health.ApplicationHealthStateFilter]
PS C:\> $AppFilters.Add($AppFilter)
PS C:\> Get-ServiceFabricClusterHealthChunk -ApplicationFilters $AppFilters
このコマンドは、クラスターの正常性を照会します。 アプリケーションのみを返すフィルターを指定します。 フィルターはすべてのアプリケーション サービスを返し、サービスごとにすべてのパーティションを返します。 パーティションごとに、130984777977143495を除くすべてのレプリカが含まれます。これは、エラー時にのみ返す必要があります。
パラメーター
-ApplicationFilters
System.Fabric.Health.ApplicationHealthStateFilter オブジェクトの Systems.Collections.Generic.List を指定します。 最も具体的なフィルターを考慮するアプリケーションのみが返されます。 個々のアプリケーションまたはすべてのアプリケーションのフィルターを指定できます。 アプリケーションごとに 1 つの一般的なフィルターと 1 つのフィルターのみが許可されます。
このパラメーターを指定しないと、アプリケーションは返されません。
Type: | System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationHealthPolicies
一部またはすべてのアプリケーションのカスタム正常性ポリシーを含む System.Fabric.Health.ApplicationHealthPolicyMap を指定します。 このパラメーターを指定しない場合、またはアプリケーションのマップにエントリを含めない場合、そのアプリケーションはアプリケーション マニフェストに定義されているアプリケーション正常性ポリシー (存在する場合) で評価され、それ以外の場合は既定のポリシーで評価されます。
Type: | ApplicationHealthPolicyMap |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationTypeHealthPolicyMap
アプリケーションの種類ごとに許可される異常なアプリケーションの最大割合を定義するマップを指定します。 このマップのアプリケーションの種類は、グローバル MaxPercentUnhealthyApplications の割合ではなく、特定のパーセンテージを使用して評価されます。
たとえば、ある種類のアプリケーションが重要な場合、クラスター管理者はそのアプリケーションの種類のマップにエントリを追加し、0% の値を割り当てることができます (つまり、エラーを許容しません)。 MaxPercentUnhealthyApplications を 20% に設定すると、他のすべてのアプリケーションを評価して、数千のアプリケーション インスタンスからの一部の障害を許容できます。
アプリケーションの種類の正常性ポリシー マップは、HealthManager/EnableApplicationTypeHealthEvaluation の構成エントリを使うアプリケーションの種類の正常性評価がクラスター マニフェストで有効になっている場合にのみ使われます。
Type: | ApplicationTypeHealthPolicyMap |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConsiderWarningAsError
正常性評価中に警告正常性レポートをエラーとして扱うかどうかを示します。 この値は、ノードとクラスターの正常性レポートの評価に使用されます。
クラスター正常性ポリシー パラメーターが指定されていない場合、正常性評価では、クラスター マニフェストのクラスター正常性ポリシーが存在する場合、または失敗を許容しない既定のポリシーが使用されます。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxPercentUnhealthyApplications
異常なアプリケーションの許容される最大パーセンテージを指定します。 集約された正常性状態が許容されるよりも多くのアプリケーションがエラーの場合、クラスターの正常性状態はエラーです。
クラスター正常性ポリシー パラメーターが指定されていない場合、正常性評価では、クラスター マニフェストのクラスター正常性ポリシーが存在する場合、または失敗を許容しない既定のポリシーが使用されます。
Type: | Byte |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxPercentUnhealthyNodes
異常なノードの許容される最大パーセンテージを指定します。 集約された正常性状態のエラーが許容されるノードよりも多くのノードがある場合、クラスターはエラーとして評価されます。 このパラメーターを指定しない場合、正常性評価ではクラスター マニフェストで指定された値が使用されます。
クラスター正常性ポリシー パラメーターが指定されていない場合、正常性評価では、クラスター マニフェストのクラスター正常性ポリシーが存在する場合、または失敗を許容しない既定のポリシーが使用されます。
Type: | Byte |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NodeFilters
System.Fabric.Health.NodeHealthStateFilter オブジェクトの Systems.Collections.Generic.List を指定します。 最も具体的なフィルターを考慮したノードのみが返されます。 個々のノードまたはすべてのノードのフィルターを指定できます。 1 つのノードにつき 1 つの一般的なフィルターと 1 つのフィルターのみが許可されます。 このパラメーターを指定しない場合、ノードは返されません。
Type: | System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NodeTypeHealthPolicyMap
特定のノード タイプに対する異常なノードの最大パーセンテージを持つマップを定義します。
ノードの種類の正常性ポリシー マップをクラスターの正常性評価時に使用して、特別なノードの種類を記述できます。 マップに含まれるノードの種類は、マップに含まれる割合に対して評価され、グローバルも評価されます (System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes を参照)。 マップで指定されたノード タイプのノードも、ノードのグローバル プールに対してカウントされます。これらは独立したチェックです。
Type: | NodeTypeHealthPolicyMap |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TimeoutSec
操作のタイムアウト期間を秒単位で指定します。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
None
出力
System.Object