Get-ServiceFabricClusterHealth

取得 Service Fabric 叢集的健康情況資訊。

Syntax

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>]

Description

Get-ServiceFabricClusterHealth Cmdlet 會取得 Service Fabric 叢集的健康情況資訊。 Service Fabric 會報告下列健全狀況狀態:

  • 正常。 實體符合健康情況指導方針。
  • 錯誤。 實體不符合健康情況指導方針。
  • 警告。 實體符合健康情況指導方針,但遇到一些問題。

叢集的匯總健全狀況狀態會考慮叢集上的所有健康情況報告,以及所有子系的匯總健全狀況狀態,以遞迴方式。 健康情況評估會使用叢集中每個應用程式的叢集健康情況原則和應用程式健康情況原則。

在 Service Fabric 叢集上執行任何作業之前,請使用 Connect-ServiceFabricCluster Cmdlet 建立叢集的連線。

範例

範例 1:取得叢集的健康情況,並篩選傳回的子系

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

此命令會查詢叢集的健康情況。 它會指定篩選準則,只傳回健康狀態為 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:使用包含網狀架構:/系統應用程式統計資料取得叢集的健康情況

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