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

Send-ServiceFabricDeployedServicePackageHealthReport

在 Service Fabric 部署的服务包上发送运行状况报告。

语法

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

说明

Send-ServiceFabricDeployedServicePackageHealthReport cmdlet 在 Service Fabric 部署的服务包上发送运行状况报告。

已部署的服务包必须已存在于运行状况存储中。 若要检查服务是否存在,请使用 Get-ServiceFabricDeployedServicePackageHealth cmdlet。 指定应用程序名称、服务包名称和节点名称。 或者,可以使用 Get-ServiceFabricDeployedApplicationHealth cmdlet。 指定应用程序名称和节点名称,并检查已部署的服务包运行状况状态部分以查找服务包。

cmdlet 在 Connect-ServiceFabricCluster cmdlet 的 HealthReportSendIntervalInSec 参数指定的时间间隔后发送报告。 在此期间,群集连接必须保持活动状态。 此命令在客户端上进行评估,而不引用在运行状况存储上运行。 即使命令返回成功,报告也可能不应用于运行状况存储中。 例如,运行状况存储可能会因为参数无效而拒绝报告,例如过时的序列号。

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

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

示例

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

PS C:\> Send-ServiceFabricDeployedServicePackageHealthReport -ApplicationName fabric:/MyApplication -NodeName "Node01" -ServiceManifestName "MyServiceManifest" -HealthProperty "Memory" -HealthState Error -SourceId "MyWatchdog"

此命令针对名为 Fabric:/MyApplication 的应用程序在名为 Node01 的节点上为名为 MyServiceManifest 的服务清单发送运行状况报告。 运行状况报告包含有关源 MyWatchdog 中出现错误运行状况状态 的内存 运行状况属性的信息,以及无限 TTL。 未提供说明,并且会自动设置序列号。

示例 2:报告对指定的 TTL 有效的警告,并在其过期时将其删除

PS C:\> Send-ServiceFabricDeployedServicePackageHealthReport -ApplicationName fabric:/MyApplication -ServiceManifestName MyServiceManifest -NodeName "Node01" -HealthProperty "CustomSetup" -HealthState Warning -SourceId MyWatchdog -RemoveWhenExpired -Description "The setup has completed with some warnings." -TimeToLiveSec 10

此命令针对名为 Fabric:/MyApplication 的应用程序在名为 Node01 的节点上名为 MyServiceManifest 的服务清单发送运行状况报告。 运行状况报告包含有关来自源 MyWatchdog 的“警告”运行状况状态的 Health 属性的信息,CustomSetup,10 秒 TTL。 报告过期后,它将从运行状况存储中删除,并且将不再影响运行状况评估。 此命令还提供警告的说明。

参数

-ApplicationName

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

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

-Description

指定有关触发报表的条件的人类可读信息。 SourceIdHealthProperty,以及 HealthState 参数完全描述报告。

说明的最大字符串长度为 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

-NodeName

指定 Service Fabric 节点的名称。 该 cmdlet 为在指定的节点上部署的服务包发送运行状况报告。

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

-RemoveWhenExpired

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

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

-SequenceNumber

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

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

-ServiceManifestName

指定 Service Fabric 服务清单的名称。 此值与 ApplicationNameNodeName一起,唯一标识已部署的服务包运行状况实体。

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

-ServicePackageActivationId

已部署 ServicePackage的激活 ID。 可以使用查询 Get-ServiceFabricDeployedServicePackage来获取此查询。

如果在创建服务 时指定 ServicePackageActivationMode SharedProcess(或者如果未指定,在这种情况下默认为 SharedProcess),则 servicePackageActivationId 的值始终为空字符串,无需指定。 若要了解有关服务包激活 ID 的详细信息,请参阅 [Service Fabric 托管模型][1]。

类型:String
Position:3
默认值: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.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