Get-ServiceFabricClusterHealthChunk

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

Syntax

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ů rozšířených vstupních filtrů. Ve výchozím nastavení se nevrátí žádné podřízené entity. Pokud je zadáno, vrátí se všechny entity, které respektují vstup, hierarchicky.

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

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

Agregovaný stav clusteru bere v úvahu všechny sestavy stavu clusteru a také 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. Zásady stavu pro cluster a vyhodnocení aplikací můžete předat jako vstup. Pokud není zadáno, použije vyhodnocení stavu příslušné zásady stavu z clusteru a manifestu aplikace, pokud je zadaný manifest, nebo výchozí zásady jinak.

Blok stavu clusteru obsahuje pouze podřízené položky zájmu uvedené 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, nebude vrácen žá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 dotazuje stav clusteru. Určuje filtry, které mají vrátit všechny uzly s výjimkou uzlů N0010, které by měly být zahrnuty 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 dotazuje 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 dotazuje stav clusteru. Určuje filtry, které mají vrátit jenom aplikaci. 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 zahrnuje všechny repliky s výjimkou 130984777977143495, které by se měly vrátit jenom v případě, že je v chybě.

Parametry

-ApplicationFilters

Určuje systems.Collections.Generic.List of System.Fabric.Health.ApplicationHealthStateFilter objects. Vrátí se pouze aplikace, které respektují nejvíce konkrétní filtr. Můžete zadat filtry pro jednotlivé aplikace nebo pro všechny aplikace. Povolený je jenom jeden obecný filtr a jeden filtr na aplikaci.

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

Type:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 aplikace, vyhodnotí se tato aplikace pomocí zásad stavu aplikace definované v manifestu aplikace, pokud existuje, nebo výchozí zásadu.

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

-ApplicationTypeHealthPolicyMap

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

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 ji hodnotu 0 % (to znamená, že tolerovat žádné chyby). Všechny ostatní aplikace je možné vyhodnotit pomocí MaxPercentUnhealthyApplications nastavené na 20 % pro tolerování některých selhání z tisíců instancí aplikace.

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

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

-ConsiderWarningAsError

Označuje, zda má být zpráva o stavu upozornění považována za chybu během vyhodnocení stavu. Tato hodnota se používá pro vyhodnocení uzlů a sestav stavu clusteru.

Pokud nejsou zadány žádné parametry zásad stavu clusteru, vyhodnocení stavu používá zásadu stavu clusteru z manifestu clusteru, pokud existuje, nebo výchozí zásady, které tolerují žádné selhání.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 nejsou zadány žádné parametry zásad stavu clusteru, vyhodnocení stavu používá zásadu stavu clusteru z manifestu clusteru, pokud existuje, nebo výchozí zásady, které tolerují žádné selhání.

Type:Byte
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 nejsou zadány žádné parametry zásad stavu clusteru, vyhodnocení stavu používá zásadu stavu clusteru z manifestu clusteru, pokud existuje, nebo výchozí zásady, které tolerují žádné selhání.

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

-NodeFilters

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

Type:System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NodeTypeHealthPolicyMap

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

Mapování zásad stavu uzlu lze použít během vyhodnocení stavu clusteru k popisu speciálních typů uzlů. Typy uzlů zahrnuté v mapě se vyhodnocují v procentech zahrnutých v mapě a také s globálními hodnotami (viz System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNode). Uzly typů uzlů zadaných v mapě se také počítají do globálního fondu uzlů; jsou nezávislé kontroly.

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

-TimeoutSec

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

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

Vstupy

None

Výstupy

System.Object