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>]
Description
Get-ServiceFabricClusterHealthChunk cmdlet은 고급 입력 필터를 사용하여 요청된 대로 Service Fabric 클러스터 및 클러스터 엔터티에 대한 상태 정보를 가져옵니다. 기본적으로 자식 엔터티는 반환되지 않습니다. 지정된 경우 입력을 준수하는 모든 엔터티가 계층적 방식으로 반환됩니다.
Service Fabric은 다음과 같은 상태를 보고합니다.
- 그래. 엔터티는 상태 지침을 충족합니다.
- 오류. 엔터티가 상태 지침을 충족하지 않습니다.
- 경고. 엔터티는 상태 지침을 충족하지만 몇 가지 문제가 발생합니다.
클러스터의 집계된 상태는 클러스터의 모든 상태 보고서와 모든 자식의 집계된 상태를 재귀적으로 고려합니다. 상태 평가는 클러스터에 있는 각 애플리케이션의 클러스터 상태 정책 및 애플리케이션 상태 정책을 사용합니다. 클러스터 및 애플리케이션 평가에 대한 상태 정책을 입력으로 전달할 수 있습니다. 지정하지 않으면 상태 평가는 매니페스트가 지정된 경우 클러스터 및 애플리케이션 매니페스트의 해당 상태 정책을 사용하거나, 그렇지 않으면 기본 정책을 사용합니다.
클러스터 상태 청크에는 입력 필터에 지정된 대로 관심 있는 자식만 포함됩니다. 필터링은 서버 쪽에서 수행되므로 메시지 크기가 최소화됩니다.
요청된 출력이 메시지에 맞지 않으면 결과가 반환되지 않습니다.
Service Fabric 클러스터에서 작업을 수행하기 전에 Connect-ServiceFabricCluster cmdlet을 사용하여 클러스터에 대한 연결을 설정합니다.
예제
예제 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 지정합니다. 가장 구체적인 필터를 준수하는 애플리케이션만 반환됩니다. 개별 애플리케이션 또는 모든 애플리케이션에 대한 필터를 지정할 수 있습니다. 애플리케이션당 하나의 일반 필터와 하나의 필터만 허용됩니다.
이 매개 변수를 지정하지 않으면 애플리케이션이 반환되지 않습니다.
형식: | System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ApplicationHealthPolicies
일부 또는 모든 애플리케이션에 대한 사용자 지정 상태 정책을 포함하는 System.Fabric.Health.ApplicationHealthPolicyMap 지정합니다. 이 매개 변수를 지정하지 않거나 애플리케이션에 대한 맵에 항목을 포함하지 않으면 해당 애플리케이션이 있는 경우 애플리케이션 매니페스트에 정의된 애플리케이션 상태 정책을 사용하여 평가되거나, 그렇지 않으면 기본 정책이 평가됩니다.
형식: | ApplicationHealthPolicyMap |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ApplicationTypeHealthPolicyMap
애플리케이션 유형별로 허용되는 비정상 애플리케이션의 최대 비율을 정의하는 맵을 지정합니다. 이 맵의 애플리케이션 유형은 전역 MaxPercentUnhealthyApplications 백분율이 아닌 특정 백분율을 사용하여 평가됩니다.
예를 들어 형식의 일부 애플리케이션이 중요한 경우 클러스터 관리자는 해당 애플리케이션 유형에 대한 맵에 항목을 추가하고 0% 값을 할당할 수 있습니다(즉, 오류를 용납하지 않음). 다른 모든 애플리케이션은 MaxPercentUnhealthyApplications를 20% 설정하여 수천 개의 애플리케이션 인스턴스에서 일부 오류를 허용할 수 있습니다.
애플리케이션 유형 상태 정책 맵은 클러스터 매니페스트가 HealthManager/EnableApplicationTypeHealthEvaluation에 대한 구성 항목을 사용하여 애플리케이션 유형 상태 평가를 사용하도록 설정하는 경우에만 사용됩니다.
형식: | ApplicationTypeHealthPolicyMap |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ConsiderWarningAsError
상태 평가 중 경고 상태 보고서를 오류로 처리할지 여부를 나타냅니다. 이 값은 노드 및 클러스터 상태 보고서를 평가하는 데 사용됩니다.
클러스터 상태 정책 매개 변수가 지정되지 않은 경우 상태 평가는 클러스터 매니페스트의 클러스터 상태 정책(있는 경우) 또는 오류를 용납하지 않는 기본 정책을 사용합니다.
형식: | Boolean |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MaxPercentUnhealthyApplications
비정상 애플리케이션의 최대 허용 비율을 지정합니다. 집계된 상태의 오류가 허용되는 것보다 많은 애플리케이션이 있는 경우 클러스터의 상태는 Error입니다.
클러스터 상태 정책 매개 변수가 지정되지 않은 경우 상태 평가는 클러스터 매니페스트의 클러스터 상태 정책(있는 경우) 또는 오류를 용납하지 않는 기본 정책을 사용합니다.
형식: | Byte |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MaxPercentUnhealthyNodes
비정상 노드의 최대 허용 비율을 지정합니다. 집계된 상태의 오류가 허용되는 것보다 많은 노드가 있는 경우 클러스터는 오류로 평가됩니다. 이 매개 변수를 지정하지 않으면 상태 평가에서 클러스터 매니페스트에 제공된 값을 사용합니다.
클러스터 상태 정책 매개 변수가 지정되지 않은 경우 상태 평가는 클러스터 매니페스트의 클러스터 상태 정책(있는 경우) 또는 오류를 용납하지 않는 기본 정책을 사용합니다.
형식: | Byte |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-NodeFilters
System.Fabric.Health.NodeHealthStateFilter 개체의 Systems.Collections.Generic.List 지정합니다. 가장 구체적인 필터를 준수하는 노드만 반환됩니다. 개별 노드 또는 모든 노드에 대한 필터를 지정할 수 있습니다. 노드당 하나의 일반 필터와 하나의 필터만 허용됩니다. 이 매개 변수를 지정하지 않으면 노드가 반환되지 않습니다.
형식: | System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-NodeTypeHealthPolicyMap
특정 노드 형식에 대한 최대 백분율 비정상 노드가 있는 맵을 정의합니다.
노드 유형 상태 정책 맵은 클러스터 상태 평가 중에 특수 노드 유형을 설명하는 데 사용할 수 있습니다. 맵에 포함된 노드 형식은 맵에 포함된 백분율 및 전역을 사용하여 평가됩니다(System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes 참조). 맵에 지정된 노드 형식의 노드도 전역 노드 풀에 대해 계산됩니다. 독립적인 검사입니다.
형식: | NodeTypeHealthPolicyMap |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-TimeoutSec
작업의 제한 시간(초)을 지정합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
출력
System.Object