Sdílet prostřednictvím


Get-ServiceFabricClusterHealthChunk

Získá informace o stavu pro cluster Service Fabric a jeho podřízené položky.

Syntaxe

Get-ServiceFabricClusterHealthChunk
   [-ConsiderWarningAsError <Boolean>]
   [-MaxPercentUnhealthyApplications <Byte>]
   [-MaxPercentUnhealthyNodes <Byte>]
   [-ApplicationHealthPolicies <ApplicationHealthPolicyMap>]
   [-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
   [-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
   [-ApplicationFilters <System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]>]
   [-NodeFilters <System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]>]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]

Description

Rutina Get-ServiceFabricClusterHealthChunk získá informace o stavu pro cluster Service Fabric a entity clusteru podle požadavků s rozšířenými vstupními filtry. Ve výchozím nastavení nejsou vráceny žádné podřízené entity. Pokud je zadáno, vrátí se všechny entity, které respektují vstup, hierarchickým způsobem.

Service Fabric hlásí následující stavy stavu.

  • OK. Entita splňuje pokyny pro stav.
  • Chyba. Entita nesplňuje pokyny pro stav.
  • Varování. Entita splňuje pokyny pro stav, ale dochází k některým problémům.

Agregovaný stav clusteru bere v úvahu všechny sestavy o stavu clusteru i agregovaný stav všech podřízených objektů rekurzivně. Vyhodnocení stavu používá zásady stavu clusteru a zásady stavu aplikace každé aplikace v clusteru. Jako vstup můžete předat zásady stavu pro cluster a pro vyhodnocení aplikace. Pokud není zadáno, vyhodnocení stavu použije příslušné zásady stavu z clusteru a manifestu aplikace, pokud je zadán manifest, nebo výchozí zásady jinak.

Blok stavu clusteru zahrnuje pouze podřízené položky zájmu, jak je uvedeno ve vstupních filtrech. Filtrování se provádí na straně serveru, takže je minimalizovaná velikost zprávy.

Pokud se požadovaný výstup nevejde do zprávy, nevrátí se žádný výsledek.

Před provedením jakékoli operace v clusteru Service Fabric vytvořte připojení ke clusteru pomocí rutiny Connect-ServiceFabricCluster.

Příklady

Příklad 1: Získání stavu clusteru s filtry uzlů

PS C:\> $ErrorFilter = [System.Fabric.Health.HealthStateFilter]::Error
PS C:\> $AllFilter = [System.Fabric.Health.HealthStateFilter]::All
PS C:\> $NodeFilter1 = New-Object System.Fabric.Health.NodeHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $NodeFilter2 = New-Object System.Fabric.Health.NodeHealthStateFilter -Property @{NodeNameFilter="N0010";HealthStateFilter=$ErrorFilter}
PS C:\> $NodeFilters = New-Object System.Collections.Generic.List[System.Fabric.Health.NodeHealthStateFilter]
PS C:\> $NodeFilters.Add($NodeFilter1)
PS C:\> $NodeFilters.Add($NodeFilter2)
PS C:\> Get-ServiceFabricClusterHealthChunk -NodeFilter $NodeFilters

Tento příkaz se dotazuje na stav clusteru. Určuje filtry pro vrácení všech uzlů s výjimkou uzlu N0010, které by se měly zahrnout pouze v případě, že je agregovaný stav v chybě.

Příklad 2: Získání stavu clusteru s nasazenými filtry entit

PS C:\> $ErrorFilter = [System.Fabric.Health.HealthStateFilter]::Error
PS C:\> $AllFilter = [System.Fabric.Health.HealthStateFilter]::All
PS C:\> $DspFilter1 = New-Object System.Fabric.Health.DeployedServicePackageHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $DaFilter1 =  New-Object System.Fabric.Health.DeployedApplicationHealthStateFilter -Property @{HealthStateFilter=$AllFilter;NodeNameFilter="N0020"}
PS C:\> $DaFilter1.DeployedServicePackageFilters.Add($DspFilter1)
PS C:\> $AppFilter = New-Object System.Fabric.Health.ApplicationHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $AppFilter.DeployedApplicationFilters.Add($DaFilter1)
PS C:\> $AppFilters = New-Object System.Collections.Generic.List[System.Fabric.Health.ApplicationHealthStateFilter]
PS C:\> $AppFilters.Add($AppFilter)
PS C:\> Get-ServiceFabricClusterHealthChunk -ApplicationFilters $AppFilters

Tento příkaz se dotazuje na stav clusteru. Určuje filtry pro vrácení všech aplikací a nasazených aplikací a nasazených balíčků služeb v zadaném uzlu (N0020).

Příklad 3: Získání stavu clusteru pomocí filtru aplikace, který obsahuje rekurzivní vnitřní filtry

PS C:\> $ErrorFilter = [System.Fabric.Health.HealthStateFilter]::Error
PS C:\> $AllFilter = [System.Fabric.Health.HealthStateFilter]::All
PS C:\> $ReplicaFilter1 = New-Object System.Fabric.Health.ReplicaHealthStateFilter -Property @{ReplicaOrInstanceIdFilter= 130984777977143495;HealthStateFilter=$ErrorFilter}
PS C:\> $ReplicaFilter2 = New-Object System.Fabric.Health.ReplicaHealthStateFilter -Property @{HealthStateFilter=$AllFilter}

PS C:\> $PartitionFilter = New-Object System.Fabric.Health.PartitionHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $PartitionFilter.ReplicaFilters.Add($ReplicaFilter1)
PS C:\> $PartitionFilter.ReplicaFilters.Add($ReplicaFilter2)

PS C:\> $SvcFilter1 = New-Object System.Fabric.Health.ServiceHealthStateFilter -Property @{HealthStateFilter=$AllFilter}
PS C:\> $SvcFilter1.PartitionFilters.Add($PartitionFilter)

PS C:\> $AppFilter = New-Object System.Fabric.Health.ApplicationHealthStateFilter -Property @{ApplicationNameFilter="fabric:/app1"}
PS C:\> $AppFilter.ServiceFilters.Add($SvcFilter1)

PS C:\> $AppFilters = New-Object System.Collections.Generic.List[System.Fabric.Health.ApplicationHealthStateFilter]
PS C:\> $AppFilters.Add($AppFilter)
PS C:\> Get-ServiceFabricClusterHealthChunk -ApplicationFilters $AppFilters

Tento příkaz se dotazuje na stav clusteru. Určuje filtry pro vrácení pouze aplikace. Filtr vrátí všechny aplikační služby a pro každou službu vrátí všechny oddíly. Pro každý oddíl obsahuje všechny repliky s výjimkou 130984777977143495, které by se měly vrátit pouze v případě, že je v chybě.

Parametry

-ApplicationFilters

Určuje Systems.Collections.Generic.ListSystem.Fabric.Health.ApplicationHealthStateFilter objekty. Vrátí se pouze aplikace, které respektují nejvýraznější filtr. Můžete zadat filtry pro jednotlivé aplikace nebo pro všechny aplikace. Je povolen pouze jeden obecný filtr a jeden filtr na aplikaci.

Pokud tento parametr nezadáte, nebudou vráceny žádné aplikace.

Typ:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ApplicationHealthPolicies

Určuje System.Fabric.Health.ApplicationHealthPolicyMap, která obsahuje vlastní zásady stavu pro některé nebo všechny aplikace. Pokud tento parametr nezadáte nebo nezadáte položku do mapy pro aplikaci, vyhodnotí se tato aplikace pomocí zásad stavu aplikace definované v manifestu aplikace, pokud existuje, nebo výchozí zásady jinak.

Typ:ApplicationHealthPolicyMap
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ApplicationTypeHealthPolicyMap

Určuje mapu, která definuje maximální procento aplikací, které nejsou v pořádku, které jsou povoleny pro jednotlivé typy aplikací. Typy aplikací v této mapě se vyhodnocují pomocí konkrétních procent místo globálních MaxPercentUnhealthyApplications procento.

Pokud jsou například některé aplikace typu kritické, může správce clusteru přidat položku do mapy pro tento typ aplikace a přiřadit jí hodnotu 0% (to znamená, že netoleruje žádné chyby). Všechny ostatní aplikace je možné vyhodnotit pomocí MaxPercentUnhealthyApplications nastavená na 20%, aby bylo možné tolerovat některá selhání z tisíců instancí aplikace.

Mapa zásad stavu typu aplikace se používá pouze v případě, že manifest clusteru umožňuje vyhodnocení stavu typu aplikace pomocí položky konfigurace pro HealthManager/EnableApplicationTypeHealthEvaluation.

Typ:ApplicationTypeHealthPolicyMap
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ConsiderWarningAsError

Označuje, jestli se má zpráva o stavu upozornění považovat za chybu při vyhodnocování stavu. Tato hodnota se používá pro vyhodnocení uzlů a sestav stavu clusteru.

Pokud není zadán žádný z parametrů zásad stavu clusteru, vyhodnocení stavu používá zásadu stavu clusteru z manifestu clusteru, pokud existuje, nebo výchozí zásada, která toleruje žádné chyby.

Typ:Boolean
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-MaxPercentUnhealthyApplications

Určuje maximální tolerované procento aplikací, které nejsou v pořádku. Pokud existuje více aplikací s agregovaným stavem chyby, než je tolerováno, stav clusteru je Chyba.

Pokud není zadán žádný z parametrů zásad stavu clusteru, vyhodnocení stavu používá zásadu stavu clusteru z manifestu clusteru, pokud existuje, nebo výchozí zásada, která toleruje žádné chyby.

Typ:Byte
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-MaxPercentUnhealthyNodes

Určuje maximální tolerované procento uzlů, které nejsou v pořádku. Pokud existuje více uzlů s agregovaným stavem chyby, než je tolerováno, cluster se vyhodnotí jako Chyba. Pokud tento parametr nezadáte, použije vyhodnocení stavu hodnotu uvedenou v manifestu clusteru.

Pokud není zadán žádný z parametrů zásad stavu clusteru, vyhodnocení stavu používá zásadu stavu clusteru z manifestu clusteru, pokud existuje, nebo výchozí zásada, která toleruje žádné chyby.

Typ:Byte
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-NodeFilters

Určuje Systems.Collections.Generic.List objektů System.Fabric.Health.NodeHealthStateFilter objekty. Vrátí se pouze uzly, které respektují nejvýraznější filtr. Můžete zadat filtry pro jednotlivé uzly nebo pro všechny uzly. Je povolen pouze jeden obecný filtr a jeden filtr na jeden uzel. Pokud tento parametr nezadáte, nebudou vráceny žádné uzly.

Typ:System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-NodeTypeHealthPolicyMap

Definuje mapu s maximálními procenty uzlů, které nejsou v pořádku pro konkrétní typy uzlů.

Mapu zásad stavu typu uzlu je možné použít při vyhodnocování stavu clusteru k popisu speciálních typů uzlů. Typy uzlů zahrnuté v mapě se vyhodnocují s procentem zahrnutým v mapě a také s globálními hodnotami (viz System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Uzly typů uzlů zadaných v mapě se také počítají do globálního fondu uzlů; jsou nezávislé kontroly.

Typ:NodeTypeHealthPolicyMap
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-TimeoutSec

Určuje časový limit operace v sekundách.

Typ:Int32
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Výstupy

System.Object