다음을 통해 공유


Send-ServiceFabricNodeHealthReport

Service Fabric 노드에 상태 보고서를 보냅니다.

구문

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

Description

Send-ServiceFabricNodeHealthReport cmdlet은 Service Fabric 노드에 상태 보고서를 보냅니다.

노드가 상태 저장소에 이미 있어야 합니다. 존재하는지 확인하려면 Get-ServiceFabricNodeHealth cmdlet을 사용합니다. 또는 get-ServiceFabricNode cmdlet을 사용할 수 있습니다. cmdlet이 노드를 가져오고 노드의 상태가 유효한 경우 노드는 상태 저장소에 있습니다.

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

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

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

예제

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

PS C:\> Send-ServiceFabricNodeHealthReport -NodeName "Node01" -SourceId "MyWatchdog" -HealthProperty "Firewall" -HealthState Error -Description "Firewall rules were not correctly applied"

이 명령은 MyWatchdog라는 원본에서 Node01이라는 노드에 상태 보고서를 보냅니다. 상태 보고서에는 무한 TTL을 사용하여 오류 상태의 방화벽 상태 속성에 대한 정보가 포함되어 있습니다.

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

PS C:\> Send-ServiceFabricNodeHealthReport -NodeName "Node01" -SourceId "MyWatchdog" -HealthProperty "CPU" -HealthState Warning -Description "CPU has been more than 90% for the last hour." -TimeToLiveSec 10 -RemoveWhenExpired

이 명령은 MyWatchdog라는 원본에서 Node01이라는 노드에 상태 보고서를 보냅니다. 상태 보고서에는 경고 상태의 CPU 상태 속성에 대한 정보가 포함되어 있습니다. 또한 이 명령은 경고에 대한 설명을 제공하고, TTL을 10초로 설정하고, 보고서가 만료될 때 제거되도록 구성합니다.

매개 변수

-Description

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

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

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

-HealthProperty

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

형식: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

-NodeName

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

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용: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

-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.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