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 は、次の正常性状態を報告します。
- わかりました。 エンティティは正常性ガイドラインを満たしています。
- エラー。 エンティティが正常性ガイドラインを満たしていません。
- 警告。 エンティティは正常性ガイドラインを満たしていますが、いくつかの問題が発生しています。
クラスターの集計された正常性状態では、クラスター上のすべての正常性レポートと、すべての子の集計された正常性状態が再帰的に考慮されます。 正常性評価では、クラスターの正常性ポリシーと、クラスター内の各アプリケーションのアプリケーション正常性ポリシーが使用されます。 クラスターとアプリケーション評価の正常性ポリシーを入力として渡すことができます。 指定しない場合、正常性評価では、マニフェストが指定されている場合はクラスターとアプリケーション マニフェストの該当する正常性ポリシーが使用され、それ以外の場合は既定のポリシーが使用されます。
クラスターの正常性チャンクには、入力フィルターで指定されている対象の子のみが含まれます。 フィルター処理はサーバー側で行われるので、メッセージ サイズは最小限に抑えられます。
要求された出力がメッセージに収まらない場合、結果は返されません。
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を除くすべてのレプリカが含まれます。このレプリカは Error の場合にのみ返されます。
パラメーター
-ApplicationFilters
System.Fabric.Health.ApplicationHealthStateFilter オブジェクトの
このパラメーターを指定しない場合、アプリケーションは返されません。
型: | System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationHealthPolicies
一部またはすべてのアプリケーションのカスタム正常性ポリシーを含む System.Fabric.Health.ApplicationHealthPolicyMap
型: | ApplicationHealthPolicyMap |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationTypeHealthPolicyMap
アプリケーションの種類ごとに許可される異常なアプリケーションの最大割合を定義するマップを指定します。 このマップ内のアプリケーションの種類は、グローバル MaxPercentUnhealthyApplications percentage ではなく、特定の割合を使用して評価されます。
たとえば、種類の一部のアプリケーションが重要な場合、クラスター管理者は、そのアプリケーションの種類のマップにエントリを追加し、値 0% を割り当てることができます (つまり、エラーは許容されません)。 他のすべてのアプリケーションは、MaxPercentUnhealthyApplications 20% に設定して評価し、数千のアプリケーション インスタンスからいくつかの障害を許容できます。
アプリケーションの種類の正常性ポリシー マップは、クラスター マニフェストが HealthManager/EnableApplicationTypeHealthEvaluation の構成エントリを使用してアプリケーションの種類の正常性評価を有効にする場合にのみ使用されます。
型: | ApplicationTypeHealthPolicyMap |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ConsiderWarningAsError
正常性評価中に警告正常性レポートをエラーとして扱うかどうかを示します。 この値は、ノードとクラスターの正常性レポートの評価に使用されます。
クラスター正常性ポリシー パラメーターが指定されていない場合、正常性評価では、クラスター マニフェストのクラスター正常性ポリシー (存在する場合) または障害を許容しない既定のポリシーが使用されます。
型: | Boolean |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxPercentUnhealthyApplications
異常なアプリケーションの許容される最大割合を指定します。 正常性状態がエラーの集計されたアプリケーションの数が許容よりも多い場合、クラスターの正常性状態は Error です。
クラスター正常性ポリシー パラメーターが指定されていない場合、正常性評価では、クラスター マニフェストのクラスター正常性ポリシー (存在する場合) または障害を許容しない既定のポリシーが使用されます。
型: | Byte |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxPercentUnhealthyNodes
異常なノードの許容される最大パーセンテージを指定します。 正常性状態が集計されたエラーのノードが許容される数より多い場合、クラスターはエラーとして評価されます。 このパラメーターを指定しない場合、正常性評価ではクラスター マニフェストで指定された値が使用されます。
クラスター正常性ポリシー パラメーターが指定されていない場合、正常性評価では、クラスター マニフェストのクラスター正常性ポリシー (存在する場合) または障害を許容しない既定のポリシーが使用されます。
型: | Byte |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-NodeFilters
System.Fabric.Health.NodeHealthStateFilter オブジェクトの
型: | System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-NodeTypeHealthPolicyMap
特定のノード タイプの異常なノードの最大パーセンテージを持つマップを定義します。
ノード タイプの正常性ポリシー マップは、クラスターの正常性評価中に特殊なノードの種類を記述するために使用できます。 マップに含まれるノードの種類は、マップに含まれる割合に対して評価され、グローバルも使用されます (System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes を参照)。 マップで指定されたノード タイプのノードも、ノードのグローバル プールに対してカウントされます。これらは独立したチェックです。
型: | NodeTypeHealthPolicyMap |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TimeoutSec
操作のタイムアウト期間を秒単位で指定します。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
System.Object