Partager via


Get-ServiceFabricClusterHealthChunk

Obtient des informations d’intégrité pour un cluster Service Fabric et ses enfants.

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

La cmdlet Get-ServiceFabricClusterHealthChunk obtient des informations d’intégrité pour un cluster et des entités de cluster Service Fabric, comme demandé avec les filtres d’entrée avancés. Par défaut, aucune entité enfant n’est retournée. Si elle est spécifiée, toutes les entités qui respectent l’entrée sont retournées de manière hiérarchique.

Service Fabric signale les états d’intégrité suivants.

  • D’ACCORD. L’entité répond aux instructions d’intégrité.
  • Erreur. L’entité ne répond pas aux instructions d’intégrité.
  • Avertissement. L’entité répond aux instructions d’intégrité, mais rencontre certains problèmes.

L’état d’intégrité agrégé du cluster prend en compte tous les rapports d’intégrité sur le cluster, ainsi que l’état d’intégrité agrégé de tous les enfants, de manière récursive. L’évaluation d’intégrité utilise la stratégie d’intégrité du cluster et la stratégie d’intégrité de l’application de chaque application du cluster. Vous pouvez passer les stratégies d’intégrité pour le cluster et pour l’évaluation de l’application en tant qu’entrée. Si elle n’est pas spécifiée, l’évaluation de l’intégrité utilise les stratégies d’intégrité applicables à partir du cluster et du manifeste d’application si le manifeste est spécifié, ou les stratégies par défaut dans le cas contraire.

Le bloc d’intégrité du cluster inclut uniquement les enfants d’intérêt spécifiés dans les filtres d’entrée. Le filtrage est effectué côté serveur, de sorte que la taille des messages est réduite.

Si la sortie demandée ne correspond pas à un message, aucun résultat n’est retourné.

Avant d’effectuer une opération sur un cluster Service Fabric, établissez une connexion au cluster à l’aide de l’applet de commande Connect-ServiceFabricCluster.

Exemples

Exemple 1 : Obtenir l’intégrité du cluster avec des filtres de nœuds

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

Cette commande interroge l’intégrité du cluster. Il spécifie des filtres pour retourner tous les nœuds, à l’exception du nœud N0010, qui ne doit être inclus que s’il s’agit d’un état d’intégrité agrégé dans l’erreur.

Exemple 2 : Obtenir l’intégrité du cluster avec des filtres d’entité déployés

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

Cette commande interroge l’intégrité du cluster. Il spécifie des filtres pour retourner toutes les applications et applications déployées et les packages de service déployés sur un nœud spécifié (N0020).

Exemple 3 : Obtenir l’intégrité du cluster avec un filtre d’application qui inclut des filtres internes récursifs

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

Cette commande interroge l’intégrité du cluster. Il spécifie des filtres pour retourner uniquement une application. Le filtre retourne tous les services d’application et, pour chaque service, il retourne toutes les partitions. Pour chaque partition, elle inclut tous les réplicas, à l’exception de 130984777977143495, qui ne doivent être retournés que s’il est en cours d’erreur.

Paramètres

-ApplicationFilters

Spécifie un Systems.Collections.Generic.Listd’objets System.Fabric.Health.ApplicationHealthStateFilter. Seules les applications qui respectent le filtre le plus spécifique sont retournées. Vous pouvez spécifier les filtres pour les applications individuelles ou pour toutes les applications. Un seul filtre général et un filtre par application sont autorisés.

Si vous ne spécifiez pas ce paramètre, aucune application n’est retournée.

Type:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ApplicationHealthPolicies

Spécifie un System.Fabric.Health.ApplicationHealthPolicyMap qui inclut des stratégies d’intégrité personnalisées pour certaines ou toutes les applications. Si vous ne spécifiez pas ce paramètre ou si vous n’incluez pas d’entrée dans la carte d’une application, cette application est évaluée avec la stratégie d’intégrité de l’application définie dans le manifeste de l’application s’il existe, ou la stratégie par défaut dans le cas contraire.

Type:ApplicationHealthPolicyMap
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ApplicationTypeHealthPolicyMap

Spécifie la carte qui définit le pourcentage maximal d’applications non saines autorisées par type d’application. Les types d’applications de cette carte sont évalués à l’aide de pourcentages spécifiques plutôt que du Global MaxPercentUnhealthyApplications pourcentage.

Par exemple, si certaines applications d’un type sont critiques, l’administrateur de cluster peut ajouter une entrée à la carte pour ce type d’application et lui attribuer une valeur de 0% (autrement dit, ne tolérer aucun échec). Toutes les autres applications peuvent être évaluées avec MaxPercentUnhealthyApplications défini sur 20% pour tolérer des défaillances sur des milliers d’instances d’application.

Le mappage de stratégie d’intégrité de type d’application est utilisé uniquement si le manifeste du cluster active l’évaluation d’intégrité du type d’application à l’aide de l’entrée de configuration pour HealthManager/EnableApplicationTypeHealthEvaluation.

Type:ApplicationTypeHealthPolicyMap
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ConsiderWarningAsError

Indique s’il faut traiter un rapport d’intégrité d’avertissement comme une erreur pendant l’évaluation de l’intégrité. Cette valeur est utilisée pour l’évaluation des nœuds et des rapports d’intégrité de cluster.

Si aucun des paramètres de stratégie d’intégrité du cluster n’est spécifié, l’évaluation de l’intégrité utilise la stratégie d’intégrité du cluster à partir du manifeste du cluster, le cas échéant, ou la stratégie par défaut qui tolère aucun échec.

Type:Boolean
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxPercentUnhealthyApplications

Spécifie le pourcentage maximal toléré d’applications non saines. S’il existe plus d’applications avec un état d’intégrité agrégé d’erreur que toléré, l’état d’intégrité du cluster est Error.

Si aucun des paramètres de stratégie d’intégrité du cluster n’est spécifié, l’évaluation de l’intégrité utilise la stratégie d’intégrité du cluster à partir du manifeste du cluster, le cas échéant, ou la stratégie par défaut qui tolère aucun échec.

Type:Byte
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxPercentUnhealthyNodes

Spécifie le pourcentage maximal toléré de nœuds non sains. S’il y a plus de nœuds avec l’état d’intégrité agrégé d’erreur que toléré, le cluster est évalué en tant qu’erreur. Si vous ne spécifiez pas ce paramètre, l’évaluation d’intégrité utilise la valeur fournie dans le manifeste du cluster.

Si aucun des paramètres de stratégie d’intégrité du cluster n’est spécifié, l’évaluation de l’intégrité utilise la stratégie d’intégrité du cluster à partir du manifeste du cluster, le cas échéant, ou la stratégie par défaut qui tolère aucun échec.

Type:Byte
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NodeFilters

Spécifie une Systems.Collections.Generic.Listd’objets System.Fabric.Health.NodeHealthStateFilter. Seuls les nœuds qui respectent le filtre le plus spécifique sont retournés. Vous pouvez spécifier les filtres pour les nœuds individuels ou pour tous les nœuds. Un seul filtre général et un filtre par nœud sont autorisés. Si vous ne spécifiez pas ce paramètre, aucun nœud n’est retourné.

Type:System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NodeTypeHealthPolicyMap

Définit une carte avec des pourcentages maximal de nœuds non sains pour des types de nœuds spécifiques.

Le mappage de stratégie d’intégrité de type de nœud peut être utilisé pendant l’évaluation de l’intégrité du cluster pour décrire des types de nœuds spéciaux. Les types de nœuds inclus dans la carte sont évalués par rapport au pourcentage inclus dans la carte, ainsi qu’avec le global (voir System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Les nœuds des types de nœuds spécifiés dans la carte sont également comptabilisés sur le pool global de nœuds ; ils sont des vérifications indépendantes.

Type:NodeTypeHealthPolicyMap
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TimeoutSec

Spécifie le délai d’expiration, en secondes, pour l’opération.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Sorties

System.Object