你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Send-ServiceFabricReplicaHealthReport
发送 Service Fabric 副本的运行状况报告。
语法
Send-ServiceFabricReplicaHealthReport
[-PartitionId] <Guid>
-ReplicaId <Int64>
-HealthState <HealthState>
-SourceId <String>
-HealthProperty <String>
[-Description <String>]
[-TimeToLiveSec <Int32>]
[-RemoveWhenExpired]
[-SequenceNumber <Int64>]
[-Immediate]
[-TimeoutSec <Int32>]
[<CommonParameters>]
Send-ServiceFabricReplicaHealthReport
[-PartitionId] <Guid>
-InstanceId <Int64>
-HealthState <HealthState>
-SourceId <String>
-HealthProperty <String>
[-Description <String>]
[-TimeToLiveSec <Int32>]
[-RemoveWhenExpired]
[-SequenceNumber <Int64>]
[-Immediate]
[-TimeoutSec <Int32>]
[<CommonParameters>]
说明
Send-ServiceFabricReplicaHealthReport cmdlet 在 Service Fabric 无状态服务实例或有状态服务副本上发送运行状况报告。
无状态服务实例或有状态服务副本必须已存在于运行状况存储中。 若要检查它是否存在,请使用 Get-ServiceFabricReplicaHealth cmdlet,并指定 PartitionId 和 ReplicaOrInstanceId 参数。 或者,可以将 Get-ServiceFabricPartitionHealth cmdlet 与 PartitionId 参数一起使用,然后检查 ReplicaHealthStates 节以查找副本。
cmdlet 在 Connect-ServiceFabricCluster cmdlet 的 HealthReportSendIntervalInSec 参数指定的时间间隔后发送报告。 在此期间,群集连接必须保持活动状态。
该 cmdlet 可能会返回成功,但报表以异步方式发送,因此其处理可能会失败。 若要查看报表是否在运行状况存储中应用,请使用 Get-ServiceFabricReplicaHealth cmdlet 并检查报告是否显示在运行状况事件部分中。
在 Service Fabric 群集上执行任何操作之前,请使用 Connect-ServiceFabricCluster cmdlet 建立与群集的连接。
示例
示例 1:报告具有无限 TTL 的有状态服务副本的错误运行状况报告
PS C:\> Send-ServiceFabricReplicaHealthReport -PartitionId 869dd2e9-fdda-42a5-ad96-4b71c795dfd3 -ReplicaId 130464806670632402 -SourceId "MyWatchdog" -HealthProperty "DiskUsage" -HealthState Error -Description "Disk is full"
此命令从源 MyWatchDog 为指定的有状态服务副本发送指定分区的运行状况报告。 运行状况报告包含有关 DiskUsage 处于错误运行状况状态(具有无限 TTL)的运行状况属性的信息。 此命令还提供错误的说明。
示例 2:报告针对针对指定 TTL 有效的无状态服务实例的警告运行状况报告,并在其过期时将其删除
PS C:\> Send-ServiceFabricReplicaHealthReport -PartitionId 1a151ac7-9c25-4528-81fc-4c6bb9909394 -InstanceId 130464806670632403 -SourceId "MyWatchdog" -HealthProperty "Resources" -HealthState Warning -Description "Access to resources is temporarily disabled" -TimeToLiveSec 10 -RemoveWhenExpired
此命令从源 MyWatchDog 为指定的无状态服务实例发送运行状况报告。 运行状况报告包含有关来自源 MyWatchdog 的警告运行状况状态 资源 运行状况属性的信息,10 秒 TTL。 报告标记为在过期时删除。
参数
-Description
指定有关触发报表的条件的人类可读信息。 SourceId、HealthProperty,以及 HealthState 参数完全描述报告。
说明的最大字符串长度为 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 |
-InstanceId
指定无状态服务实例 ID。 实例 ID 仅适用于无状态服务。 运行状况客户端接受使用 InstanceId 而不是 ReplicaId 的有状态副本的报表,但运行状况存储会拒绝该报表。
类型: | Int64 |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-PartitionId
指定 Service Fabric 分区的 ID。
类型: | Guid |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-RemoveWhenExpired
指示报表在过期时会从运行状况存储中删除。 如果未指定此参数,则报告生存时间过期时,实体将被视为处于“错误”状态。 在过期时删除的报表可用于仅在一段时间内有效或清除运行状况存储中的报告的条件。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ReplicaId
指定有状态服务副本 ID。 副本 ID 仅适用于有状态服务。 运行状况客户端接受使用 ReplicaId 而不是 InstaceId 的无状态实例的报告,但运行状况存储会拒绝。
类型: | Int64 |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-SequenceNumber
指定与运行状况报告关联的序列号。 如果未为此参数指定值,则会自动设置序列号。 如果指定序列号,该值必须高于针对同一个 SourceId 和 HealthProperty设置的相同实体上设置的任何以前的序列号,否则由于过期而拒绝报告。
类型: | 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.Guid
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