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

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

说明

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 的服务的运行状况报告。 运行状况报告包含有关运行状况属性 PrivateData 的信息,其运行状况状态为 10 秒 TTL,并在过期时标记要删除的报告。

参数

-Description

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

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

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

-HealthProperty

指定报表的属性。 此属性与 SourceId 参数一起唯一标识报表。

类型: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

-ServiceName

指定 Service Fabric 服务的统一资源标识符 (URI) 。

类型:Uri
Position:0
默认值:None
必需:True
接受管道输入: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