你当前正在访问 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 对象,该对象包含部分或所有应用程序的自定义运行状况策略。 如果未指定此参数,运行状况评估将使用应用程序清单或默认运行状况策略中定义的应用程序运行状况策略。

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

-ApplicationsFilter

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

Type:HealthStateFilter
Accepted values:Default, None, Ok, Warning, Error, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationsHealthStateFilter

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

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

-ApplicationTypeHealthPolicyMap

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

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

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

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

-ConsiderWarningAsError

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

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

-EventsFilter

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

Type:HealthStateFilter
Accepted values:Default, None, Ok, Warning, Error, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EventsHealthStateFilter

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

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

-ExcludeHealthStatistics

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

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

-IncludeSystemApplicationHealthStatistics

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

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

-MaxPercentUnhealthyApplications

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

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

-MaxPercentUnhealthyNodes

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

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

-NodesFilter

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

Type:HealthStateFilter
Accepted values:Default, None, Ok, Warning, Error, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NodesHealthStateFilter

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

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

-NodeTypeHealthPolicyMap

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

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

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

-TimeoutSec

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

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

输入

None

输出

System.Object