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

Get-ServiceFabricClusterHealth

获取 Service Fabric 群集的运行状况信息。

语法

Get-ServiceFabricClusterHealth
   [-ConsiderWarningAsError <Boolean>]
   [-MaxPercentUnhealthyApplications <Byte>]
   [-MaxPercentUnhealthyNodes <Byte>]
   [-EventsHealthStateFilter <Int64>]
   [-EventsFilter <HealthStateFilter>]
   [-ApplicationsHealthStateFilter <Int64>]
   [-ApplicationsFilter <HealthStateFilter>]
   [-NodesHealthStateFilter <Int64>]
   [-NodesFilter <HealthStateFilter>]
   [-ApplicationHealthPolicyMap <ApplicationHealthPolicyMap>]
   [-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
   [-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
   [-IncludeSystemApplicationHealthStatistics]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]
Get-ServiceFabricClusterHealth
   [-ConsiderWarningAsError <Boolean>]
   [-MaxPercentUnhealthyApplications <Byte>]
   [-MaxPercentUnhealthyNodes <Byte>]
   [-EventsHealthStateFilter <Int64>]
   [-EventsFilter <HealthStateFilter>]
   [-ApplicationsHealthStateFilter <Int64>]
   [-ApplicationsFilter <HealthStateFilter>]
   [-NodesHealthStateFilter <Int64>]
   [-NodesFilter <HealthStateFilter>]
   [-ApplicationHealthPolicyMap <ApplicationHealthPolicyMap>]
   [-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
   [-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
   [-ExcludeHealthStatistics]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]

说明

Get-ServiceFabricClusterHealth cmdlet 获取 Service Fabric 群集的运行状况信息。 Service Fabric 报告以下运行状况:

  • 还行。 该实体符合运行状况准则。
  • 错误。 该实体不符合运行状况准则。
  • 警告。 该实体符合运行状况准则,但遇到了一些问题。

群集的聚合运行状况状态将考虑群集上的所有运行状况报告以及所有子级的聚合运行状况状态,以递归方式考虑。 运行状况评估使用群集运行状况策略和群集中每个应用程序的应用程序运行状况策略。

在 Service Fabric 群集上执行任何操作之前,请使用 Connect-ServiceFabricCluster cmdlet 建立与群集的连接。

示例

示例 1:获取群集的运行状况并筛选返回的子级

PS C:\> Get-ServiceFabricClusterHealth -NodesFilter Error -ApplicationsFilter 'Warning,Error'

此命令查询群集的运行状况。 它指定筛选器以仅返回运行状况状态为“错误”的节点,以及运行状况状态为“警告”或“错误”的应用程序。

示例 2:使用自定义运行状况策略获取群集的运行状况

PS C:\> $defaultServiceTypeHealthPolicy = new-object -TypeName System.Fabric.Health.ServiceTypeHealthPolicy
$defaultServiceTypeHealthPolicy.MaxPercentUnhealthyPartitionsPerService = 20
$defaultServiceTypeHealthPolicy.MaxPercentUnhealthyServices = 10
$appHealthPolicy = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicy
$appHealthPolicy.ConsiderWarningAsError = $True
$appHealthPolicy.MaxPercentUnhealthyDeployedApplications = 20
$appHealthPolicy.DefaultServiceTypeHealthPolicy = $defaultServiceTypeHealthPolicy
$appHealthPolicyMap = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicyMap
$appUri1 = New-Object -TypeName System.Uri -ArgumentList "fabric:/app1"
$appHealthPolicyMap.Add($appUri1, $appHealthPolicy)
Get-ServiceFabricClusterHealth -ConsiderWarningAsError $True -MaxPercentUnhealthyNodes 10 -ApplicationHealthPolicyMap $appHealthPolicyMap

此命令查询群集的运行状况并传入自定义策略。

示例 3:使用应用程序类型运行状况策略映射获取群集的运行状况

PS C:\> $AppTypeHealthPolicyMap = New-Object -TypeName "System.Fabric.Health.ApplicationTypeHealthPolicyMap"
PS C:\> $AppTypeHealthPolicyMap.Add("CriticalAppType", 0)
PS C:\> Get-ServiceFabricClusterHealth -ApplicationTypeHealthPolicyMap $AppTypeHealthPolicyMap -MaxPercentUnhealthyApplications 20

此命令查询群集的运行状况,并传入应用程序类型运行状况策略映射。 应用程序类型 CriticalAppType 不允许出现任何故障。 其余应用程序使用 20% 最大不正常百分比进行评估。

示例 4:在没有运行状况事件的情况下获取群集的运行状况,而不获取运行状况统计信息

PS C:\> Get-ServiceFabricClusterHealth -EventsFilter None -ExcludeHealthStatistics

此命令查询群集的运行状况。 它指定筛选器以排除任何运行状况事件和运行状况统计信息。

示例 5:获取包含 fabric:/System 应用程序统计信息的群集的运行状况

PS C:\> Get-ServiceFabricClusterHealth -EventsFilter None -IncludeSystemApplicationHealthStatistics

此命令查询群集的运行状况。 作为群集运行状况的一部分返回的运行状况统计信息包含 fabric:/System 应用程序统计信息,以及用户应用程序统计信息。

参数

-ApplicationHealthPolicyMap

指定 ApplicationHealthPolicyMap 对象,该对象包括部分或所有应用程序的自定义运行状况策略。 如果未指定此参数,运行状况评估将使用应用程序清单或默认运行状况策略中定义的应用程序运行状况策略。

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

-ApplicationsFilter

根据运行状况指定 ApplicationHealthState 子级的筛选器。 可以从成员或对 HealthStateFilter的成员执行按位操作获取该值。 仅返回与筛选器匹配的子级。 所有子级用于评估实体聚合运行状况。 如果未指定,则返回所有条目。

类型:HealthStateFilter
接受的值:Default, None, Ok, Warning, Error, All
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ApplicationsHealthStateFilter

此参数已弃用。 请改为指定 ApplicationsFilter 参数。

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

-ApplicationTypeHealthPolicyMap

指定用于定义每个应用程序类型允许的不正常应用程序的最大百分比的映射。 此映射中的应用程序类型使用特定百分比而不是全局 MaxPercentUnhealthyApplications 百分比进行评估。

例如,如果某个类型的某些应用程序至关重要,则群集管理员可以将条目添加到该应用程序类型的映射中,并为其分配值 0%(即,不允许任何失败)。 可以使用 MaxPercentUnhealthyApplications 评估所有其他应用程序, 设置为 20%,以容忍数千个应用程序实例中的某些故障。

仅当群集清单使用 HealthManager/EnableApplicationTypeHealthEvaluation的配置条目启用应用程序类型运行状况评估时,才会使用应用程序类型运行状况策略映射。

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

-ConsiderWarningAsError

指示是否在运行状况评估期间将警告运行状况报告视为错误。 此值用于评估节点和群集运行状况报告。

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

-EventsFilter

指定 HealthEvents 集合的筛选器, 基于运行状况报告群集。 可以从成员或对 HealthStateFilter的成员执行按位操作获取该值。 仅返回与筛选器匹配的事件。 所有事件都用于评估群集的聚合运行状况。 如果未指定,则返回所有条目。

类型:HealthStateFilter
接受的值:Default, None, Ok, Warning, Error, All
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EventsHealthStateFilter

此参数已弃用。 请改为指定 EventsFilter 参数。

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

-ExcludeHealthStatistics

指示运行状况统计信息是否应包含在查询结果中。 如果指定,则不会返回运行状况统计信息作为查询结果的一部分。 否则,查询结果包括群集运行状况统计信息,其中包含有关“确定”、“警告”和“错误”状态中的实体数的信息。

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

-IncludeSystemApplicationHealthStatistics

指示运行状况统计信息是否应包含 fabric:/System 应用程序的信息。 如果指定,则应用程序、服务、分区、副本、已部署的应用程序和已部署的服务包计数包括系统实体。 如果未指定,则运行状况统计信息仅返回用户应用程序的运行状况状态计数。

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

-MaxPercentUnhealthyApplications

指定不正常应用程序的最大允许百分比。 如果具有聚合运行状况的错误状态的应用程序数多于容忍,则群集的运行状况状态为错误。 如果未指定此参数,运行状况评估将使用群集清单中提供的值。

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

-MaxPercentUnhealthyNodes

指定不正常节点的最大容忍百分比。 如果节点的聚合运行状况状态比容忍的节点多,则群集的计算结果为错误。 如果未指定此参数,运行状况评估将使用群集清单中提供的值。

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

-NodesFilter

根据运行状况指定 NodeHealthState 子级的筛选器。 可以从成员或对 HealthStateFilter的成员执行按位操作获取该值。 仅返回与筛选器匹配的子级。 所有子级用于评估实体聚合运行状况。 如果未指定,则返回所有条目。

类型:HealthStateFilter
接受的值:Default, None, Ok, Warning, Error, All
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NodesHealthStateFilter

此参数已弃用。 请改为指定 NodesFilter 参数。

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

-NodeTypeHealthPolicyMap

定义特定节点类型的最大不正常节点百分比的映射。

节点类型运行状况策略映射可在群集运行状况评估期间使用,以描述特殊节点类型。 根据映射中包含的百分比以及全局(请参阅 System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes)计算映射中包含的节点类型。 映射中指定的节点类型的节点也根据节点的全局池进行计数;它们是独立的检查。

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

-TimeoutSec

指定操作的超时期限(以秒为单位)。

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

输入

None

输出

System.Object