다음을 통해 공유


Get-ServiceFabricClusterHealth

Service Fabric 클러스터에 대한 상태 정보를 가져옵니다.

Syntax

Get-ServiceFabricClusterHealth
   [-ConsiderWarningAsError <Boolean>]
   [-MaxPercentUnhealthyApplications <Byte>]
   [-MaxPercentUnhealthyNodes <Byte>]
   [-EventsHealthStateFilter <Int64>]
   [-EventsFilter <HealthStateFilter>]
   [-ApplicationsHealthStateFilter <Int64>]
   [-ApplicationsFilter <HealthStateFilter>]
   [-NodesHealthStateFilter <Int64>]
   [-NodesFilter <HealthStateFilter>]
   [-ApplicationHealthPolicyMap <ApplicationHealthPolicyMap>]
   [-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
   [-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
   [-IncludeSystemApplicationHealthStatistics]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]
Get-ServiceFabricClusterHealth
   [-ConsiderWarningAsError <Boolean>]
   [-MaxPercentUnhealthyApplications <Byte>]
   [-MaxPercentUnhealthyNodes <Byte>]
   [-EventsHealthStateFilter <Int64>]
   [-EventsFilter <HealthStateFilter>]
   [-ApplicationsHealthStateFilter <Int64>]
   [-ApplicationsFilter <HealthStateFilter>]
   [-NodesHealthStateFilter <Int64>]
   [-NodesFilter <HealthStateFilter>]
   [-ApplicationHealthPolicyMap <ApplicationHealthPolicyMap>]
   [-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
   [-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
   [-ExcludeHealthStatistics]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]

Description

Get-ServiceFabricClusterHealth cmdlet은 Service Fabric 클러스터에 대한 상태 정보를 가져옵니다. Service Fabric은 다음과 같은 상태를 보고합니다.

  • OK. 엔터티는 상태 지침을 충족합니다.
  • 오류. 엔터티가 상태 지침을 충족하지 않습니다.
  • 경고. 엔터티는 상태 지침을 충족하지만 몇 가지 문제가 발생했습니다.

클러스터의 집계된 상태는 클러스터의 모든 상태 보고서와 모든 자식의 집계된 상태를 재귀적으로 고려합니다. 상태 평가는 클러스터에 있는 각 애플리케이션의 클러스터 상태 정책 및 애플리케이션 상태 정책을 사용합니다.

Service Fabric 클러스터에서 작업을 수행하기 전에 Connect-ServiceFabricCluster cmdlet을 사용하여 클러스터에 대한 연결을 설정합니다.

예제

예제 1: 클러스터의 상태 가져오기 및 반환된 자식 필터링

PS C:\> Get-ServiceFabricClusterHealth -NodesFilter Error -ApplicationsFilter 'Warning,Error'

이 명령은 클러스터의 상태를 쿼리합니다. 상태 오류가 있는 노드와 상태 경고 또는 오류가 있는 애플리케이션만 반환하도록 필터를 지정합니다.

예제 2: 사용자 지정 상태 정책을 사용하여 클러스터의 상태 가져오기

PS C:\> $defaultServiceTypeHealthPolicy = new-object -TypeName System.Fabric.Health.ServiceTypeHealthPolicy
$defaultServiceTypeHealthPolicy.MaxPercentUnhealthyPartitionsPerService = 20
$defaultServiceTypeHealthPolicy.MaxPercentUnhealthyServices = 10
$appHealthPolicy = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicy
$appHealthPolicy.ConsiderWarningAsError = $True
$appHealthPolicy.MaxPercentUnhealthyDeployedApplications = 20
$appHealthPolicy.DefaultServiceTypeHealthPolicy = $defaultServiceTypeHealthPolicy
$appHealthPolicyMap = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicyMap
$appUri1 = New-Object -TypeName System.Uri -ArgumentList "fabric:/app1"
$appHealthPolicyMap.Add($appUri1, $appHealthPolicy)
Get-ServiceFabricClusterHealth -ConsiderWarningAsError $True -MaxPercentUnhealthyNodes 10 -ApplicationHealthPolicyMap $appHealthPolicyMap

이 명령은 클러스터의 상태를 쿼리하고 사용자 지정 정책을 전달합니다.

예제 3: 애플리케이션 유형 상태 정책 맵을 사용하여 클러스터의 상태 가져오기

PS C:\> $AppTypeHealthPolicyMap = New-Object -TypeName "System.Fabric.Health.ApplicationTypeHealthPolicyMap"
PS C:\> $AppTypeHealthPolicyMap.Add("CriticalAppType", 0)
PS C:\> Get-ServiceFabricClusterHealth -ApplicationTypeHealthPolicyMap $AppTypeHealthPolicyMap -MaxPercentUnhealthyApplications 20

이 명령은 클러스터의 상태를 쿼리하고 애플리케이션 유형 상태 정책 맵을 전달합니다. 애플리케이션 유형 CriticalAppType은 오류를 용납하지 않습니다. 나머지 애플리케이션은 최대 20%의 비정상 상태를 사용하여 평가됩니다.

예제 4: 상태 이벤트 없이 상태 통계 없이 클러스터의 상태 가져오기

PS C:\> Get-ServiceFabricClusterHealth -EventsFilter None -ExcludeHealthStatistics

이 명령은 클러스터의 상태를 쿼리합니다. 상태 이벤트 및 상태 통계를 제외하는 필터를 지정합니다.

예제 5: fabric:/System 애플리케이션 통계가 포함된 클러스터의 상태 가져오기

PS C:\> Get-ServiceFabricClusterHealth -EventsFilter None -IncludeSystemApplicationHealthStatistics

이 명령은 클러스터의 상태를 쿼리합니다. 클러스터 상태의 일부로 반환된 상태 통계에는 사용자 애플리케이션 통계 외에도 fabric:/System 애플리케이션 통계가 포함됩니다.

매개 변수

-ApplicationHealthPolicyMap

일부 또는 모든 애플리케이션에 대한 사용자 지정 상태 정책을 포함하는 ApplicationHealthPolicyMap 개체를 지정합니다. 이 매개 변수를 지정하지 않으면 상태 평가에서는 애플리케이션 매니페스트 또는 기본 상태 정책에 정의된 애플리케이션 상태 정책을 사용합니다.

Type:ApplicationHealthPolicyMap
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationsFilter

상태에 따라 ApplicationHealthState 자식에 대한 필터를 지정합니다. 이 값은 HealthStateFilter의 멤버에 대한 멤버 또는 비트 연산에서 가져올 수 있습니다. 필터와 일치하는 자식만 반환됩니다. 모든 자식은 엔터티 집계 상태를 평가하는 데 사용됩니다. 지정하지 않으면 모든 항목이 반환됩니다.

Type:HealthStateFilter
Accepted values:Default, None, Ok, Warning, Error, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationsHealthStateFilter

이 매개 변수는 더 이상 사용되지 않습니다. 대신 ApplicationsFilter 매개 변수를 지정합니다.

Type:Int64
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

-EventsFilter

상태 상태에 따라 클러스터에 보고된 HealthEvents 컬렉션에 대한 필터를 지정합니다. 이 값은 HealthStateFilter의 멤버에 대한 멤버 또는 비트 연산에서 가져올 수 있습니다. 필터와 일치하는 이벤트만 반환됩니다. 모든 이벤트는 클러스터의 집계된 상태를 평가하는 데 사용됩니다. 지정하지 않으면 모든 항목이 반환됩니다.

Type:HealthStateFilter
Accepted values:Default, None, Ok, Warning, Error, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EventsHealthStateFilter

이 매개 변수는 더 이상 사용되지 않습니다. 대신 EventsFilter 매개 변수를 지정합니다.

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExcludeHealthStatistics

상태 통계를 쿼리 결과에 포함할지 여부를 나타냅니다. 지정한 경우 상태 통계는 쿼리 결과의 일부로 반환되지 않습니다. 그렇지 않으면 쿼리 결과에는 Ok, Warning 및 Error 상태에 있는 엔터티 수에 대한 정보가 포함된 클러스터 상태 통계가 포함됩니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeSystemApplicationHealthStatistics

패브릭:/시스템 애플리케이션에 대한 정보를 상태 통계에 포함할지 여부를 나타냅니다. 지정된 경우 애플리케이션, 서비스, 파티션, 복제본, 배포된 애플리케이션 및 배포된 서비스 패키지 수에는 시스템 엔터티가 포함됩니다. 지정하지 않으면 상태 통계는 사용자 애플리케이션에 대해서만 상태 수를 반환합니다.

Type:SwitchParameter
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

-NodesFilter

상태에 따라 NodeHealthState 자식에 대한 필터를 지정합니다. 이 값은 HealthStateFilter의 멤버에 대한 멤버 또는 비트 연산에서 가져올 수 있습니다. 필터와 일치하는 자식만 반환됩니다. 모든 자식은 엔터티 집계 상태를 평가하는 데 사용됩니다. 지정하지 않으면 모든 항목이 반환됩니다.

Type:HealthStateFilter
Accepted values:Default, None, Ok, Warning, Error, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NodesHealthStateFilter

이 매개 변수는 더 이상 사용되지 않습니다. 대신 NodesFilter 매개 변수를 지정합니다.

Type:Int64
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