共用方式為


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

Description

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

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

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

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

範例

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

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

此命令會查詢叢集的健康情況。 它會指定篩選條件,只傳回健康情況狀態為 Error 的節點,以及健康情況狀態為 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