Send-ServiceFabricServiceHealthReport

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

Syntax

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

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

-HealthProperty

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

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

-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

-ServiceName

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

Type:Uri
Position:0
Default value:None
Required:True
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.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