Udostępnij za pośrednictwem


Get-ServiceFabricClusterHealthChunk

Pobiera informacje o kondycji klastra usługi Service Fabric i jego elementów podrzędnych.

Składnia

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

Opis

Polecenie cmdlet Get-ServiceFabricClusterHealthChunk pobiera informacje o kondycji klastra usługi Service Fabric i jednostek klastra zgodnie z żądaniem z zaawansowanymi filtrami wejściowymi. Domyślnie nie są zwracane żadne jednostki podrzędne. W przypadku określenia wszystkie jednostki, które szanują dane wejściowe, są zwracane w sposób hierarchiczny.

Usługa Service Fabric zgłasza następujące stany kondycji.

  • OK. Jednostka spełnia wytyczne dotyczące kondycji.
  • Błąd. Jednostka nie spełnia wytycznych dotyczących kondycji.
  • Ostrzeżenie. Jednostka spełnia wytyczne dotyczące kondycji, ale występują pewne problemy.

Zagregowany stan kondycji klastra uwzględnia wszystkie raporty o kondycji klastra, a także zagregowany stan kondycji wszystkich elementów podrzędnych, rekursywnie. Ocena kondycji używa zasad kondycji klastra i zasad kondycji aplikacji dla każdej aplikacji w klastrze. Zasady kondycji klastra i oceny aplikacji można przekazać jako dane wejściowe. Jeśli nie zostanie określony, ocena kondycji używa odpowiednich zasad kondycji z manifestu klastra i aplikacji, jeśli manifest jest określony, lub zasady domyślne w przeciwnym razie.

Fragment kondycji klastra zawiera tylko elementy podrzędne zainteresowania określone w filtrach wejściowych. Filtrowanie odbywa się po stronie serwera, więc rozmiar komunikatu jest zminimalizowany.

Jeśli żądane dane wyjściowe nie mieszczą się w komunikacie, żaden wynik nie zostanie zwrócony.

Przed wykonaniem dowolnej operacji w klastrze usługi Service Fabric ustanów połączenie z klastrem przy użyciu polecenia cmdlet Connect-ServiceFabricCluster.

Przykłady

Przykład 1. Pobieranie kondycji klastra z filtrami węzłów

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

To polecenie wykonuje zapytanie dotyczące kondycji klastra. Określa filtry, aby zwrócić wszystkie węzły, z wyjątkiem węzła N0010, które powinny być uwzględniane tylko wtedy, gdy jest to zagregowany stan kondycji w błędzie.

Przykład 2. Pobieranie kondycji klastra z wdrożonymi filtrami jednostek

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

To polecenie wykonuje zapytanie dotyczące kondycji klastra. Określa filtry, aby zwrócić wszystkie aplikacje i wdrożone aplikacje oraz wdrożone pakiety usług w określonym węźle (N0020).

Przykład 3. Pobieranie kondycji klastra za pomocą filtru aplikacji zawierającego cyklicznego filtru wewnętrznego

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

To polecenie wykonuje zapytanie dotyczące kondycji klastra. Określa filtry, aby zwracać tylko aplikację. Filtr zwraca wszystkie usługi aplikacji, a dla każdej usługi zwraca wszystkie partycje. Dla każdej partycji zawiera wszystkie repliki, z wyjątkiem 130984777977143495, które powinny być zwracane tylko w przypadku wystąpienia błędu.

Parametry

-ApplicationFilters

Określa Systems.Collections.Generic.List obiektów System.Fabric.Health.ApplicationHealthStateFilter. Zwracane są tylko aplikacje, które szanują najbardziej konkretny filtr. Można określić filtry dla poszczególnych aplikacji lub dla wszystkich aplikacji. Dozwolony jest tylko jeden filtr ogólny i jeden filtr dla aplikacji.

Jeśli nie określisz tego parametru, żadne aplikacje nie zostaną zwrócone.

Typ:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ApplicationHealthPolicies

Określa System.Fabric.Health.ApplicationHealthPolicyMap, która zawiera niestandardowe zasady kondycji dla niektórych lub wszystkich aplikacji. Jeśli nie określisz tego parametru lub jeśli nie dołączysz wpisu na mapie dla aplikacji, ta aplikacja jest oceniana przy użyciu zasad kondycji aplikacji zdefiniowanych w manifeście aplikacji, jeśli istnieje, lub zasady domyślne w przeciwnym razie.

Typ:ApplicationHealthPolicyMap
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ApplicationTypeHealthPolicyMap

Określa mapę, która definiuje maksymalny procent aplikacji w złej kondycji dozwolonych dla typu aplikacji. Typy aplikacji na tej mapie są oceniane przy użyciu określonych wartości procentowych, a nie globalnych MaxPercentUnhealthyApplications procent.

Jeśli na przykład niektóre aplikacje typu mają krytyczne znaczenie, administrator klastra może dodać wpis do mapy dla tego typu aplikacji i przypisać mu wartość 0% (czyli nie tolerować żadnych błędów). Wszystkie inne aplikacje można ocenić za pomocą MaxPercentUnhealthyApplications ustawioną na 20%, aby tolerować niektóre awarie z tysięcy wystąpień aplikacji.

Mapa zasad kondycji typu aplikacji jest używana tylko wtedy, gdy manifest klastra umożliwia ocenę kondycji typu aplikacji przy użyciu wpisu konfiguracji HealthManager/EnableApplicationTypeHealthEvaluation.

Typ:ApplicationTypeHealthPolicyMap
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ConsiderWarningAsError

Wskazuje, czy raport kondycji ostrzeżenia ma być traktowany jako błąd podczas oceny kondycji. Ta wartość jest używana do oceny węzłów i raportów kondycji klastra.

Jeśli żaden z parametrów zasad kondycji klastra nie zostanie określony, ocena kondycji używa zasad kondycji klastra z manifestu klastra, jeśli istnieje, lub domyślnych zasad, które tolerują brak błędów.

Typ:Boolean
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxPercentUnhealthyApplications

Określa maksymalną tolerowaną wartość procentową aplikacji w złej kondycji. Jeśli istnieje więcej aplikacji ze zagregowanym stanem kondycji błędu niż tolerowane, stan kondycji klastra to Błąd.

Jeśli żaden z parametrów zasad kondycji klastra nie zostanie określony, ocena kondycji używa zasad kondycji klastra z manifestu klastra, jeśli istnieje, lub domyślnych zasad, które tolerują brak błędów.

Typ:Byte
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxPercentUnhealthyNodes

Określa maksymalną tolerowaną wartość procentową węzłów w złej kondycji. Jeśli istnieje więcej węzłów ze zagregowanym stanem kondycji błędu niż tolerowane, klaster zostanie oceniony jako Błąd. Jeśli nie określisz tego parametru, ocena kondycji używa wartości podanej w manifeście klastra.

Jeśli żaden z parametrów zasad kondycji klastra nie zostanie określony, ocena kondycji używa zasad kondycji klastra z manifestu klastra, jeśli istnieje, lub domyślnych zasad, które tolerują brak błędów.

Typ:Byte
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-NodeFilters

Określa Systems.Collections.Generic.List obiektów System.Fabric.Health.NodeHealthStateFilter. Zwracane są tylko węzły, które przestrzegają najbardziej określonego filtru. Można określić filtry dla poszczególnych węzłów lub dla wszystkich węzłów. Dozwolony jest tylko jeden filtr ogólny i jeden filtr na węzeł. Jeśli nie określisz tego parametru, nie zostaną zwrócone żadne węzły.

Typ:System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-NodeTypeHealthPolicyMap

Definiuje mapę z maksymalnymi wartościami procentowymi węzłów w złej kondycji dla określonych typów węzłów.

Mapa zasad kondycji typu węzła może być używana podczas oceny kondycji klastra w celu opisania specjalnych typów węzłów. Typy węzłów zawarte w mapie są oceniane względem wartości procentowej uwzględnionej w mapie, a także z globalnym (zobacz System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Węzły typów węzłów określonych na mapie są również liczone względem globalnej puli węzłów; są to niezależne kontrole.

Typ:NodeTypeHealthPolicyMap
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-TimeoutSec

Określa limit czasu dla operacji w sekundach.

Typ:Int32
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

Dane wyjściowe

System.Object