Get-ServiceFabricClusterHealthChunk

Ruft Integritätsinformationen für einen Service Fabric-Cluster und dessen untergeordnete 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 cluster-Entitä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 berücksichtigen, in hierarchischer Weise zurückgegeben.

Service Fabric meldet die folgenden Integritätszustände.

  • OK. 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 gibt einige Probleme.

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

Der Clusterintegritätsblock enthält nur untergeordnete Elemente, wie in den Eingabefiltern angegeben. Die Filterung erfolgt auf der Serverseite, sodass die Nachrichtengröße minimiert wird.

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

Bevor Sie einen Vorgang in 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 ruft die Integrität des Clusters ab. Es gibt Filter an, um alle Knoten zurückzugeben, mit Ausnahme von Knoten N0010, die nur enthalten sein sollten, wenn es im Fehler aggregierten Integritätszustand ist.

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 ruft die Integrität des Clusters ab. Es gibt Filter an, um alle Anwendungen und bereitgestellten Anwendungen zurückzugeben und Dienstpakete auf einem angegebenen Knoten (N0020) bereitzustellen.

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 ruft die Integrität des Clusters ab. Es gibt Filter an, die nur eine Anwendung zurückgeben. Der Filter gibt alle Anwendungsdienste zurück, und für jeden Dienst gibt er alle Partitionen zurück. Für jede Partition enthält es alle Replikate, außer für 130984777977143495, die nur zurückgegeben werden sollten, wenn es sich um Fehler handelt.

Parameter

-ApplicationFilters

Gibt eine System.Collections.Generic.List of System.Fabric.Health.ApplicationHealthStateFilter-Objekte an. Nur Anwendungen, die den spezifischsten Filter berücksichtigen, werden zurückgegeben. Sie können die Filter für einzelne Anwendungen oder für alle Anwendungen angeben. Nur ein allgemeiner Filter und ein Filter pro Anwendung sind zulässig.

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

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

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, wenn sie vorhanden ist, oder die Standardrichtlinie andernfalls.

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

-ApplicationTypeHealthPolicyMap

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

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

Die Zuordnung von Anwendungstypen zu Integritätsrichtlinien wird nur angewendet, wenn das Clustermanifest die Auswertung der Integrität von Anwendungstypen mithilfe des Konfigurationseintrags für HealthManager/EnableApplicationTypeHealthEvaluation ermöglicht.

Type:ApplicationTypeHealthPolicyMap
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 keine der Parameter für die Clusterintegritätsrichtlinie angegeben werden, verwendet die Integritätsbewertung die Clusterintegritätsrichtlinie aus dem Clustermanifest, sofern vorhanden, oder die Standardrichtlinie, die keine Fehler toleriert.

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

-MaxPercentUnhealthyApplications

Gibt den maximal zulässigen Prozentsatz von ungesunden Anwendungen an. Wenn mehr Anwendungen mit dem aggregierten Integritätszustand des Fehlers vorhanden sind als toleriert, ist der Integritätszustand des Clusters Fehler.

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

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

-MaxPercentUnhealthyNodes

Gibt den maximal zulässigen Prozentsatz von ungesunden Knoten an. Wenn mehr Knoten mit dem aggregierten Integritätszustand des Fehlers vorhanden sind als zulässig, wird der Cluster als Fehler ausgewertet. Wenn Sie diesen Parameter nicht angeben, verwendet die Integritätsbewertung den wert, der im Clustermanifest bereitgestellt wird.

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

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

-NodeFilters

Gibt eine System.Collections.Generic.List of System.Fabric.Health.NodeHealthStateFilter-Objekte an. Nur Knoten, die den spezifischsten Filter berücksichtigen, werden zurückgegeben. Sie können die Filter für einzelne Knoten oder für alle Knoten angeben. Nur ein allgemeiner Filter und ein Filter pro Knoten sind zulässig. Wenn Sie diesen Parameter nicht angeben, werden keine Knoten zurückgegeben.

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

Definiert eine Karte mit maximalen Prozentsätzen für ungesunde Knoten für bestimmte Knotentypen.

Die Zuordnung der Knotentyp-Integritätsrichtlinie kann während der Clusterintegritätsevaluierung verwendet werden, um spezielle Knotentypen zu beschreiben. Die in der Karte enthaltenen Knotentypen werden mit dem Prozentsatz 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.

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

-TimeoutSec

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

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

Eingaben

None

Ausgaben

System.Object