你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Send-ServiceFabricApplicationHealthReport

在 Service Fabric 应用程序上发送运行状况报告。

语法

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

说明

Send-ServiceFabricApplicationHealthReport cmdlet 在 Service Fabric 应用程序上发送运行状况报告。

应用程序必须已存在于运行状况存储中。 若要检查是否存在,请使用 Get-ServiceFabricApplicationHealth cmdlet。

该 cmdlet 在 Connect-ServiceFabricCluster cmdlet 的 HealthReportSendIntervalInSec 参数指定的时间间隔后发送报表。 在此期间,群集连接必须保持活动状态。 此 cmdlet 以异步方式发送报表,因此,即使处理失败,此 cmdlet 也可能发送成功值。 例如,如果删除实体或由于参数无效(如过时序列号),运行状况存储可能会拒绝报表。

若要查看报表是否在运行状况存储中应用,请使用 Get-ServiceFabricApplicationHealth cmdlet 并检查该报表是否显示在 HealthEvents 部分中。

若要管理 Service Fabric 群集,请使用“以管理员身份运行”选项启动Windows PowerShell。 在 Service Fabric 群集上执行任何操作之前,请使用 Connect-ServiceFabricCluster cmdlet 和 Get-ServiceFabricClusterConnection cmdlet 建立与群集的连接。

示例

示例 1:报告具有无限 TTL 的错误运行状况报告

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

此命令从源 MyWatchDog 对名为 fabric:/MyApplication 的应用程序发送运行状况报告。 运行状况报告包含有关运行状况属性 可用性 处于错误运行状况状态的信息,其中包含无限 TTL。

示例 2:报告针对指定 TTL 有效的警告

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

此命令从源 MyWatchDog 对名为 fabric:/MyApplication 的应用程序发送运行状况报告。 运行状况报告包含有关处于警告运行状况状态的运行状况属性 可用性 的信息。 报表将在运行状况存储中停留 10 秒,之后会自动将其删除。

参数

-ApplicationName

指定 Service Fabric 应用程序的统一资源标识符 (URI) 。 该 cmdlet 发送有关具有指定 URI 的应用程序的运行状况报告。

类型:Uri
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Description

指定有关触发报表的条件的人类可读信息。 SourceIdHealthPropertyHealthState 参数完全描述了报告。

该说明的最大字符串长度为 4096 个字符。 如果提供的字符串较长,则会自动截断该字符串。 截断时,说明以标记“[截断]”结尾,以指示发生截断的用户。 总字符串大小为 4096 个字符,因此保留原始字符串中的少于 4096 个字符。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-HealthProperty

指定报表的属性。 此属性与 SourceId 参数一起唯一标识报表。 该报表会覆盖同一实体上 SourceIdHealthProperty 参数具有相同值的任何以前的报表。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-HealthState

指定一个 HealthState 对象,该对象表示报告的运行状况状态。

类型:HealthState
接受的值:Invalid, Ok, Warning, Error, Unknown
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Immediate

指定是否应立即将报表发送到运行状况存储。 这对于应尽快发送的关键报告十分有用。 如果未指定,则根据运行状况客户端设置发送报告。 因此,系统将根据 HealthReportSendInterval 配置对其进行批处理。 这是建议的设置,因为它可让运行状况客户端优化发往运行状况存储的运行状况报告消息以及运行状况报告处理。 默认情况下,Powershell fabric 客户端将 HealthReportSentInterval 设置为 0,因此会立即发送报告。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveWhenExpired

指示报表在过期时会从运行状况存储中删除。 如果未指定此参数,则当报表生存时间过期时,实体将被视为处于“错误”状态。 当过期时删除的报表可用于仅在一段时间内有效或清除运行状况存储中的报表的条件。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SequenceNumber

指定与运行状况报告关联的序列号。 如果未为此参数指定值,则会自动设置序列号。 如果指定序列号,该值必须高于在同一 SourceIdHealthProperty 上设置的任何以前的序列号,否则由于过期而拒绝报告。

类型:Int64
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SourceId

指定触发报表的源的标识符。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-TimeoutSec

指定操作的超时时间段(以秒为单位)。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TimeToLiveSec

指定报表的生存时间 (TTL) (以秒为单位)。 当 TTL 过期时,如果指定 RemoveWhenExpired 参数,将从运行状况存储中删除报表。 否则,由于报告已过期,实体在错误时进行评估。 默认值为 Infinite。

类型:Int32
Position:Named
默认值: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