Send-ServiceFabricDeployedApplicationHealthReport

노드에 배포된 Service Fabric 애플리케이션에 대한 상태 보고서를 보냅니다.

Syntax

Send-ServiceFabricDeployedApplicationHealthReport
    [-ApplicationName] <Uri>
    [-NodeName] <String>
    -HealthState <HealthState>
    -SourceId <String>
    -HealthProperty <String>
    [-Description <String>]
    [-TimeToLiveSec <Int32>]
    [-RemoveWhenExpired]
    [-SequenceNumber <Int64>]
    [-Immediate]
    [-TimeoutSec <Int32>]
    [<CommonParameters>]

Description

Send-ServiceFabricDeployedApplicationHealthReport cmdlet은 노드에 배포된 Service Fabric 애플리케이션의 상태 이벤트에 대한 상태 보고서를 보냅니다.

배포된 애플리케이션은 상태 저장소에 이미 있어야 합니다. 애플리케이션이 노드에 있는지 확인하려면 Get-ServiceFabricDeployedApplicationHealth cmdlet을 사용합니다. 또는 Get-ServiceFabricApplicationHealth cmdlet을 사용하고 DeployedApplicationHealthStates 섹션을 확인하여 노드를 찾을 수 있습니다.

cmdlet은 Connect-ServiceFabricCluster cmdlet의 HealthReportSendIntervalInSec 매개 변수로 지정된 간격 후에 보고서를 보냅니다. 클러스터 연결은 이 시간 동안 유지되어야 합니다. 이 명령은 상태 저장소에서 실행되는 것을 참조하지 않고 클라이언트에서 평가됩니다. 명령이 성공을 반환하더라도 Health 스토어에서 보고서를 적용할 수 없습니다. 예를 들어 Health 스토어는 부실 시퀀스 번호와 같은 잘못된 매개 변수로 인해 보고서를 거부할 수도 있습니다.

보고서가 상태 저장소에 적용되었는지 확인하려면 Get-ServiceFabricDeployedApplicationHealth cmdlet을 사용하고 보고서가 HealthEvents 섹션에 표시되는지 확인합니다.

Service Fabric 클러스터를 관리하려면 관리자 권한으로 실행 옵션을 사용하여 Windows PowerShell 시작합니다. Service Fabric 클러스터에서 작업을 수행하기 전에 Connect-ServiceFabricCluster cmdlet 및 Get-ServiceFabricClusterConnection cmdlet을 사용하여 클러스터에 대한 연결을 설정합니다.

예제

예제 1: 무한 TTL을 사용하여 오류 상태 보고서 보고

PS C:\> Send-ServiceFabricDeployedApplicationHealthReport -ApplicationName fabric:/MyApplication -NodeName "Node01" -HealthProperty "Availability" -HealthState Error -SourceId "MyWatchdog"

이 명령은 원본 MyWatchdog에서 Node01이라는 노드에 fabric:/MyApplication이라는 애플리케이션에 대한 상태 보고서를 보냅니다. 상태 보고서에는 무한 TTL을 사용하여 오류 상태의 상태 속성 가용성 에 대한 정보가 포함되어 있습니다.

예제 2: 지정된 TTL에 유효한 보고서 경고

PS C:\> Send-ServiceFabricDeployedApplicationHealthReport -ApplicationName fabric:/MyApplication -NodeName "Node01"-HealthProperty "Availability" -HealthState Warning -SourceId "MyWatchdog" -RemoveWhenExpired -TimeToLiveSec 10

이 명령은 원본 MyWatchdog에서 Node01이라는 노드에 fabric:/MyApplication이라는 애플리케이션에 대한 상태 보고서를 보냅니다. 상태 보고서에는 경고 상태의 상태 속성 가용성 (10초 TTL)에 대한 정보가 포함되어 있습니다. 보고서가 만료되면 제거됩니다.

매개 변수

-ApplicationName

Service Fabric 애플리케이션의 URI(Uniform Resource Identifier)를 지정합니다. cmdlet은 지정한 URI가 있는 애플리케이션에 대한 상태 보고서를 보냅니다.

Type:Uri
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Description

보고서를 트리거한 조건에 대한 사람이 읽을 수 있는 정보를 지정합니다. SourceId, HealthPropertyHealthState 매개 변수는 보고서를 완전히 설명합니다.

설명의 최대 문자열 길이는 4096자입니다. 제공된 문자열이 더 길면 자동으로 잘립니다. 잘린 경우 설명은 잘림이 발생했음을 사용자에게 나타내기 위해 표식 "[잘림]"으로 끝납니다. 총 문자열 크기는 4096자이므로 원래 문자열에서 4096자 미만이 유지됩니다.

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

-HealthProperty

보고서의 속성을 지정합니다. SourceId 매개 변수와 함께 이 속성은 보고서를 고유하게 식별합니다. 이 보고서는 동일한 엔터티의 SourceIdHealthProperty 매개 변수에 대해 동일한 값으로 이전 보고서를 재정의합니다.

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

-HealthState

보고된 상태를 나타내는 HealthState 개체를 지정합니다.

Type:HealthState
Accepted values:Invalid, Ok, Warning, Error, Unknown
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Immediate

보고서를 상태 저장소로 즉시 보낼지 여부를 지정합니다. 이는 가능한 한 빨리 보내야 하는 중요한 보고서에 유용합니다. 지정하지 않으면 상태 클라이언트 설정에 따라 보고서가 전송됩니다. 따라서 HealthReportSendInterval 구성에 따라 일괄처리됩니다. 상태 클라이언트가 상태 보고서 처리뿐만 아니라 Health 스토어로 메시지를 보고하는 상태를 최적화하도록 허용하므로 이는 권장 설정입니다. 기본적으로 Powershell 패브릭 클라이언트는 HealthReportSentInterval을 0으로 설정하므로 보고서가 즉시 전송됩니다.

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

-NodeName

Service Fabric 노드의 이름을 지정합니다. cmdlet은 지정한 노드에서 애플리케이션에 대한 상태 보고서를 보냅니다.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-RemoveWhenExpired

보고서가 만료될 때 Health 스토어에서 제거됨을 나타냅니다. 이 매개 변수를 지정하지 않으면 보고서 TTL(Time to Live)이 만료될 때 엔터티가 오류 상태로 간주됩니다. 만료될 때 제거되는 보고서는 일정 기간 동안만 유효한 조건이나 Health Store에서 보고서를 지우는 데 사용할 수 있습니다.

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

-SequenceNumber

상태 보고서와 연결된 시퀀스 번호를 지정합니다. 이 매개 변수의 값을 지정하지 않으면 시퀀스 번호가 자동으로 설정됩니다. 시퀀스 번호를 지정하는 경우 해당 값은 동일한 SourceIdHealthProperty에 설정된 이전 시퀀스 번호보다 높아야 합니다. 그렇지 않으면 부실로 인해 보고서가 거부됩니다.

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

-SourceId

보고서를 트리거한 원본의 식별자를 지정합니다.

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

-TimeoutSec

작업의 제한 시간(초)을 지정합니다.

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

-TimeToLiveSec

보고서의 TTL(Time to Live)을 초 단위로 지정합니다. TTL이 만료되면 RemoveWhenExpired 매개 변수가 지정된 경우 보고서가 상태 저장소에서 제거됩니다. 그렇지 않으면 만료된 보고서로 인해 엔터티가 오류로 평가됩니다. 기본값은 Infinite입니다.

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

입력

System.Uri

System.String

System.Fabric.Health.HealthState

System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

System.Management.Automation.SwitchParameter

System.Nullable`1[[System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

출력

System.Object