你当前正在访问 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 的应用程序发送运行状况报告。

Type:Uri
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Description

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-HealthProperty

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-HealthState

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

Type:HealthState
Accepted values:Invalid, Ok, Warning, Error, Unknown
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Immediate

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NodeName

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

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-RemoveWhenExpired

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SequenceNumber

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

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceManifestName

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

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ServicePackageActivationId

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

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

Type:String
Position:3
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SourceId

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TimeoutSec

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeToLiveSec

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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