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