次の方法で共有


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

説明

Send-ServiceFabricNodeHealthReport コマンドレットは、Service Fabric ノードに正常性レポートを送信します。

ノードは、正常性ストアに既に存在している必要があります。 存在するかどうかを確認するには、Get-ServiceFabricNodeHealth コマンドレットを使用します。 または、Get-ServiceFabricNode コマンドレットを使用することもできます。 コマンドレットがノードを取得し、ノードの正常性状態が有効な場合、ノードは正常性ストアに存在します。

このコマンドレットは、Connect-ServiceFabricCluster コマンドレットの HealthReportSendIntervalInSec パラメーターで指定された間隔後にレポートを送信します。 この間、クラスター接続を維持する必要があります。 このコマンドは、正常性ストアでの実行を参照せずにクライアントで評価されます。 コマンドが成功を返した場合でも、正常性ストアにレポートが適用されない場合があります。 たとえば、古いシーケンス番号のような無効なパラメーターが原因で、正常性ストアによってレポートが拒否される場合があります。

レポートが正常性ストアに適用されたかどうかを確認するには、Get-ServiceFabricNodeHealth コマンドレットを使用し、レポートが HealthEvents セクションに表示されることを確認します。

Service Fabric クラスターを管理するには、[管理者として実行] オプションを使用して Windows PowerShell を起動します。 Service Fabric クラスターで操作を実行する前に、Connect-ServiceFabricCluster コマンドレットと、Get-ServiceFabricClusterConnection コマンドレットを使用してクラスターへの接続を確立します。

例 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

レポートをトリガーした条件に関する人間が判読できる情報を指定します。 SourceIdHealthProperty、および HealthState パラメーター レポートを完全に記述します。

説明の最大文字列長は 4096 文字です。 指定された文字列が長い場合は、自動的に切り捨てられます。 切り捨てられると、説明はマーカー "[Truncated]" で終わり、切り捨てが発生したことをユーザーに示します。 合計文字列サイズは 4096 文字であるため、元の文字列から 4096 文字未満が保持されます。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-HealthProperty

レポートのプロパティを指定します。 このプロパティは、SourceId パラメーターと共に、レポートを一意に識別します。 このレポートは、同じエンティティの SourceId パラメーターと HealthProperty パラメーターに対して同じ値を持つ以前のレポートをオーバーライドします。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-HealthState

報告された正常性状態を表す HealthState オブジェクトを指定します。

型:HealthState
指定可能な値:Invalid, Ok, Warning, Error, Unknown
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Immediate

レポートをすぐに正常性ストアに送信するかどうかを指定します。 これは、できるだけ早く送信する必要がある重要なレポートに役立ちます。 指定しない場合、正常性クライアントの設定に基づいてレポートが送信されます。 そのため、HealthReportSendInterval 構成に従ってバッチ処理されます。 これは、正常性クライアントが正常性ストアへの正常性レポート メッセージと正常性レポートの処理を最適化できるため、推奨される設定です。 既定では、Powershell ファブリック クライアントは HealthReportSentInterval を 0 に設定するため、レポートはすぐに送信されます。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-NodeName

Service Fabric ノードの名前を指定します。 コマンドレットは、指定したノードに正常性レポートを送信します。

型:String
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-RemoveWhenExpired

レポートの有効期限が切れると、正常性ストアから削除されることを示します。 このパラメーターを指定しない場合、レポートの有効期限が切れると、エンティティはエラー状態と見なされます。 有効期限が切れたときに削除されるレポートは、一定期間だけ有効な条件や、ヘルス ストアからのレポートのクリアに使用できます。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-SequenceNumber

正常性レポートに関連付けられているシーケンス番号を指定します。 このパラメーターの値を指定しないと、シーケンス番号が自動的に設定されます。 シーケンス番号を指定する場合、その値は、同じ SourceId および HealthPropertyに設定されている以前のシーケンス番号よりも大きくする必要があります。そうしないと、古さのためにレポートが拒否されます。

型:Int64
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-SourceId

レポートをトリガーしたソースの識別子を指定します。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-TimeoutSec

操作のタイムアウト期間を秒単位で指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TimeToLiveSec

レポートの Time to Live (TTL) を秒単位で指定します。 TTL の有効期限が切れると、RemoveWhenExpired パラメーターが指定されている場合、レポートは正常性ストアから削除されます。 それ以外の場合、レポートの有効期限が切れたため、エンティティは Error で評価されます。 既定値は Infinite です。

型:Int32
配置:Named
規定値: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