다음을 통해 공유


Send-ServiceFabricServiceHealthReport

Service Fabric 서비스에 상태 보고서를 보냅니다.

구문

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

Description

Send-ServiceFabricServiceHealthReport cmdlet은 Service Fabric 서비스에 대한 상태 보고서를 보냅니다.

서비스는 상태 저장소에 이미 있어야 합니다. 존재하는지 확인하려면 Get-ServiceFabricServiceHealth cmdlet을 사용하고 ServiceName 매개 변수를 지정합니다. 또는 Get-ServiceFabricApplicationHealth cmdlet을 사용하여 애플리케이션 정보를 확인한 다음 서비스 상태 섹션을 확인하여 원하는 서비스를 찾을 수 있습니다.

보고서는 Connect-ServiceFabricCluster cmdlet의 HealthReportSendIntervalInSec 매개 변수에 지정된 시간(초) 후에 전송됩니다. 이 시간 동안 클러스터 연결을 활성 상태로 유지해야 합니다.

cmdlet은 성공을 반환할 수 있지만 보고서는 비동기적으로 전송되므로 처리가 실패할 수 있습니다. 보고서가 상태 저장소에 적용되었는지 확인하려면 Get-ServiceFabricServiceHealth cmdlet을 사용하고 보고서가 HealthEvents 섹션에 표시되는지 확인합니다.

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

예제

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

PS C:\> Send-ServiceFabricServiceHealthReport -ServiceName fabric:/MyApplication/MyService -SourceId "MyWatchdog" -HealthProperty "Availability" -HealthState Error -Description "The service is not available."

이 명령은 원본 MyWatchDog에서 fabric:/MyApplication/MyService라는 서비스에 대한 상태 보고서를 보냅니다. 상태 보고서에는 무한 TTL을 사용하여 오류 상태의 상태 속성 가용성 대한 정보가 포함되어 있습니다. 이 명령은 오류에 대한 설명도 제공합니다.

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

PS C:\> Send-ServiceFabricServiceHealthReport -ServiceName fabric:/MyApplication/MyService -SourceId "MyWatchdog" -HealthProperty "PrivateData" -HealthState Warning -TimeToLiveSec 10 -RemoveWhenExpired -Description "Accessing private data in database MyServicePrivateData is slow."

이 명령은 원본 MyWatchdog에서 fabric:/MyApplication/MyService라는 서비스에 대한 상태 보고서를 보냅니다. 상태 보고서에는 10초 TTL이 있는 경고 상태의 PrivateData 상태 속성에 대한 정보가 포함되어 있으며 만료 시 제거를 위한 보고서를 표시합니다.

매개 변수

-Description

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

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

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-HealthProperty

보고서의 속성을 지정합니다. 이 속성은 SourceId 매개 변수와 함께 보고서를 고유하게 식별합니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-HealthState

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

형식:HealthState
허용되는 값:Invalid, Ok, Warning, Error, Unknown
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Immediate

보고서를 상태 저장소로 즉시 보낼지 여부를 지정합니다. 이는 가능한 한 빨리 전송해야 하는 중요한 보고서에 유용합니다. 지정하지 않으면 상태 클라이언트 설정에 따라 보고서가 전송됩니다. 따라서 HealthReportSendInterval 구성에 따라 일괄 처리됩니다. 상태 클라이언트가 상태 보고서 처리뿐만 아니라 상태 저장소에 대한 상태 보고 메시지를 최적화할 수 있으므로 이 설정을 사용하는 것이 좋습니다. 기본적으로 Powershell 패브릭 클라이언트는 HealthReportSentInterval을 0으로 설정하므로 보고서가 즉시 전송됩니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RemoveWhenExpired

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

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-SequenceNumber

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

형식:Int64
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ServiceName

Service Fabric 서비스의 URI(Uniform Resource Identifier)를 지정합니다.

형식:Uri
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-SourceId

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

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-TimeoutSec

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

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TimeToLiveSec

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

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

입력

System.Uri

System.Fabric.Health.HealthState

System.String

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