Freigeben über


Get-ServiceFabricClusterHealthChunk

Ruft Integritätsinformationen für einen Service Fabric-Cluster und seine untergeordneten Elemente ab.

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

Beschreibung

Das cmdlet Get-ServiceFabricClusterHealthChunk ruft Integritätsinformationen für einen Service Fabric-Cluster und Clusterentitäten ab, wie mit den erweiterten Eingabefiltern angefordert. Standardmäßig werden keine untergeordneten Entitäten zurückgegeben. Wenn angegeben, werden alle Entitäten, die die Eingabe respektieren, hierarchisch zurückgegeben.

Service Fabric meldet die folgenden Integritätszustände.

  • OKAY. Die Entität erfüllt Integritätsrichtlinien.
  • Fehler. Die Entität erfüllt keine Integritätsrichtlinien.
  • Warnung. Die Entität erfüllt Integritätsrichtlinien, aber es treten einige Probleme auf.

Der aggregierte Integritätszustand des Clusters berücksichtigt alle Integritätsberichte des Clusters sowie den aggregierten Integritätszustand aller untergeordneten Elemente rekursiv. Die Integritätsauswertung verwendet die Clusterintegritätsrichtlinie und die Anwendungsintegritätsrichtlinie jeder Anwendung im Cluster. Sie können die Integritätsrichtlinien für cluster und für die Anwendungsauswertung als Eingabe übergeben. Wenn nicht angegeben, verwendet die Integritätsauswertung die anwendbaren Integritätsrichtlinien aus dem Cluster- und Anwendungsmanifest, wenn das Manifest angegeben ist, oder die Standardrichtlinien andernfalls.

Der Clusterintegritätsabschnitt enthält nur untergeordnete Elemente, die in den Eingabefiltern angegeben sind. Die Filterung erfolgt auf serverseitiger Seite, sodass die Nachrichtengröße minimiert wird.

Wenn die angeforderte Ausgabe nicht in eine Nachricht passt, wird kein Ergebnis zurückgegeben.

Bevor Sie einen Vorgang auf einem Service Fabric-Cluster ausführen, stellen Sie mithilfe des Cmdlets Connect-ServiceFabricCluster eine Verbindung mit dem Cluster her.

Beispiele

Beispiel 1: Abrufen der Integrität des Clusters mit Knotenfiltern

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

Dieser Befehl fragt die Integrität des Clusters ab. Es gibt Filter an, die alle Knoten zurückgeben sollen, mit Ausnahme von Knoten N0010, die nur einbezogen werden sollen, wenn es sich um den aggregierten Integritätsstatus im Fehlerzustand handelt.

Beispiel 2: Abrufen der Integrität des Clusters mit bereitgestellten Entitätsfiltern

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

Dieser Befehl fragt die Integrität des Clusters ab. Es gibt Filter an, um alle Anwendungen und bereitgestellten Anwendungen und bereitgestellten Dienstpakete auf einem angegebenen Knoten (N0020) zurückzugeben.

Beispiel 3: Abrufen der Integrität des Clusters mit einem Anwendungsfilter, der rekursive innere Filter enthält

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

Dieser Befehl fragt die Integrität des Clusters ab. Es gibt Filter an, die nur eine Anwendung zurückgeben sollen. Der Filter gibt alle Anwendungsdienste zurück, und für jeden Dienst werden alle Partitionen zurückgegeben. Für jede Partition enthält sie alle Replikate, mit Ausnahme von 130984777977143495, die nur zurückgegeben werden sollten, wenn sie sich im Fehler befindet.

Parameter

-ApplicationFilters

Gibt einen Systems.Collections.Generic.List- von System.Fabric.Health.ApplicationHealthStateFilter-Objekte an. Nur Anwendungen, die den spezifischsten Filter respektieren, werden zurückgegeben. Sie können die Filter für einzelne Anwendungen oder für alle Anwendungen angeben. Pro Anwendung sind nur ein allgemeiner Filter und ein Filter zulässig.

Wenn Sie diesen Parameter nicht angeben, werden keine Anwendungen zurückgegeben.

Typ:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ApplicationHealthPolicies

Gibt eine System.Fabric.Health.ApplicationHealthPolicyMap an, die benutzerdefinierte Integritätsrichtlinien für einige oder alle Anwendungen enthält. Wenn Sie diesen Parameter nicht angeben oder wenn Sie keinen Eintrag in die Zuordnung für eine Anwendung einschließen, wird diese Anwendung mit der im Anwendungsmanifest definierten Anwendungsintegritätsrichtlinie ausgewertet, sofern vorhanden, oder die Standardrichtlinie andernfalls.

Typ:ApplicationHealthPolicyMap
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ApplicationTypeHealthPolicyMap

Gibt die Zuordnung an, die den maximalen Prozentsatz von fehlerhaften Anwendungen definiert, die pro Anwendungstyp zulässig sind. Anwendungstypen in dieser Zuordnung werden mithilfe bestimmter Prozentsätze und nicht mit dem globalen MaxPercentUnhealthyApplications Prozentsatz ausgewertet.

Wenn beispielsweise einige Anwendungen eines Typs kritisch sind, kann der Clusteradministrator der Zuordnung für diesen Anwendungstyp einen Eintrag hinzufügen und ihm den Wert 0% zuweisen (d. h. keine Fehler tolerieren). Alle anderen Anwendungen können mit MaxPercentUnhealthyApplications ausgewertet werden, auf 20% festgelegt sind, um einige Fehler aus den Tausenden von Anwendungsinstanzen zu tolerieren.

Die Zuordnung der Anwendungstypintegritätsrichtlinie wird nur verwendet, wenn das Clustermanifest die Bewertung des Anwendungstyps mithilfe des Konfigurationseintrags für HealthManager/EnableApplicationTypeHealthEvaluation ermöglicht.

Typ:ApplicationTypeHealthPolicyMap
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ConsiderWarningAsError

Gibt an, ob ein Warnungsstatusbericht während der Integritätsbewertung als Fehler behandelt werden soll. Dieser Wert wird für die Auswertung von Knoten- und Clusterintegritätsberichten verwendet.

Wenn keines der Parameter für die Clusterintegritätsrichtlinie angegeben ist, verwendet die Integritätsauswertung die Clusterintegritätsrichtlinie aus dem Clustermanifest, sofern vorhanden, oder die Standardrichtlinie, die keine Fehler toleriert.

Typ:Boolean
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxPercentUnhealthyApplications

Gibt den maximalen tolerierten Prozentsatz von fehlerhaften Anwendungen an. Wenn mehr Anwendungen mit einem aggregierten Integritätsstatus als toleriert vorhanden sind, ist der Integritätsstatus des Clusters "Error".

Wenn keines der Parameter für die Clusterintegritätsrichtlinie angegeben ist, verwendet die Integritätsauswertung die Clusterintegritätsrichtlinie aus dem Clustermanifest, sofern vorhanden, oder die Standardrichtlinie, die keine Fehler toleriert.

Typ:Byte
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxPercentUnhealthyNodes

Gibt den maximal tolerierten Prozentsatz von fehlerhaften Knoten an. Wenn mehr Knoten mit dem aggregierten Integritätszustand des Fehlers vorhanden sind als toleriert, wird der Cluster als Fehler ausgewertet. Wenn Sie diesen Parameter nicht angeben, verwendet die Integritätsauswertung den im Clustermanifest bereitgestellten Wert.

Wenn keines der Parameter für die Clusterintegritätsrichtlinie angegeben ist, verwendet die Integritätsauswertung die Clusterintegritätsrichtlinie aus dem Clustermanifest, sofern vorhanden, oder die Standardrichtlinie, die keine Fehler toleriert.

Typ:Byte
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-NodeFilters

Gibt eine Systems.Collections.Generic.List- von System.Fabric.Health.NodeHealthStateFilter--Objekten an. Es werden nur Knoten zurückgegeben, die den spezifischesten Filter respektieren. Sie können die Filter für einzelne Knoten oder für alle Knoten angeben. Pro Knoten sind nur ein allgemeiner Filter und ein Filter zulässig. Wenn Sie diesen Parameter nicht angeben, werden keine Knoten zurückgegeben.

Typ:System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-NodeTypeHealthPolicyMap

Definiert eine Zuordnung mit maximalen Prozentsätzen für fehlerhafte Knoten für bestimmte Knotentypen.

Die Knotentyp-Integritätsrichtlinienzuordnung kann während der Clusterintegritätsbewertung verwendet werden, um spezielle Knotentypen zu beschreiben. Die knotentypen, die in der Karte enthalten sind, werden anhand des prozentsatzes ausgewertet, der in der Karte enthalten ist, und auch mit der globalen (siehe System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Die Knoten von Knotentypen, die in der Karte angegeben sind, werden auch für den globalen Knotenpool gezählt; sie sind unabhängige Prüfungen.

Typ:NodeTypeHealthPolicyMap
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TimeoutSec

Gibt den Timeoutzeitraum für den Vorgang in Sekunden an.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Ausgaben

System.Object