Compartir a través de


Get-ServiceFabricClusterHealthChunk

Obtiene información de mantenimiento de un clúster de Service Fabric y sus elementos secundarios.

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

Description

El cmdlet Get-ServiceFabricClusterHealthChunk obtiene información de mantenimiento de un clúster de Service Fabric y entidades de clúster según se solicita con los filtros de entrada avanzados. De forma predeterminada, no se devuelve ninguna entidad secundaria. Si se especifica, todas las entidades que respetan la entrada se devuelven de forma jerárquica.

Service Fabric notifica los siguientes estados de mantenimiento.

  • Aceptar. La entidad cumple las directrices de mantenimiento.
  • Error. La entidad no cumple las directrices de mantenimiento.
  • Advertencia. La entidad cumple las directrices de mantenimiento, pero está experimentando algunos problemas.

El estado de mantenimiento agregado del clúster tiene en cuenta todos los informes de mantenimiento del clúster, así como el estado de mantenimiento agregado de todos los elementos secundarios, de forma recursiva. La evaluación de estado usa la directiva de mantenimiento del clúster y la directiva de mantenimiento de la aplicación de cada aplicación del clúster. Puede pasar las directivas de mantenimiento para el clúster y para la evaluación de la aplicación como entrada. Si no se especifica, la evaluación de estado usa las directivas de mantenimiento aplicables del clúster y el manifiesto de aplicación si se especifica el manifiesto o las directivas predeterminadas de lo contrario.

El fragmento de estado del clúster incluye solo elementos secundarios de interés, tal y como se especifica en los filtros de entrada. El filtrado se realiza en el lado servidor, por lo que el tamaño del mensaje se minimiza.

Si la salida solicitada no cabe en un mensaje, no se devuelve ningún resultado.

Antes de realizar cualquier operación en un clúster de Service Fabric, establezca una conexión con el clúster mediante el cmdlet Connect-ServiceFabricCluster .

Ejemplos

Ejemplo 1: Obtención del estado del clúster con filtros de nodo

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

Este comando consulta el estado del clúster. Especifica filtros para devolver todos los nodos, excepto el nodo N0010, que se debe incluir solo si se trata de un estado de mantenimiento agregado en Error.

Ejemplo 2: Obtención del estado del clúster con filtros de entidad implementados

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

Este comando consulta el estado del clúster. Especifica filtros para devolver todas las aplicaciones y las aplicaciones implementadas y los paquetes de servicio implementados en un nodo especificado (N0020).

Ejemplo 3: Obtención del estado del clúster con un filtro de aplicación que incluye filtros internos recursivos

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

Este comando consulta el estado del clúster. Especifica filtros para devolver solo una aplicación. El filtro devuelve todos los servicios de aplicación y, para cada servicio, devuelve todas las particiones. Para cada partición, incluye todas las réplicas, excepto 130984777977143495, que solo se deben devolver si se encuentra en Error.

Parámetros

-ApplicationFilters

Especifica un Systems.Collections.Generic.List de objetos System.Fabric.Health.ApplicationHealthStateFilter . Solo se devuelven las aplicaciones que respetan el filtro más específico. Puede especificar los filtros para aplicaciones individuales o para todas las aplicaciones. Solo se permite un filtro general y un filtro por aplicación.

Si no especifica este parámetro, no se devuelve ninguna aplicación.

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

Especifica un System.Fabric.Health.ApplicationHealthPolicyMap que incluye directivas de mantenimiento personalizadas para algunas o todas las aplicaciones. Si no especifica este parámetro o si no incluye una entrada en el mapa de una aplicación, esa aplicación se evalúa con la directiva de mantenimiento de la aplicación definida en el manifiesto de aplicación si existe o la directiva predeterminada de lo contrario.

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

-ApplicationTypeHealthPolicyMap

Especifica el mapa que define el porcentaje máximo de aplicaciones incorrectas permitidas por tipo de aplicación. Los tipos de aplicación de este mapa se evalúan con porcentajes específicos en lugar del porcentaje global MaxPercentUnhealthyApplications .

Por ejemplo, si algunas aplicaciones de un tipo son críticas, el administrador del clúster puede agregar una entrada al mapa para ese tipo de aplicación y asignarle un valor del 0 % (es decir, no tolerar errores). Todas las demás aplicaciones se pueden evaluar con MaxPercentUnhealthyApplications establecido en 20 % para tolerar algunos errores de las miles de instancias de aplicación.

La asignación de directiva de mantenimiento de tipo de aplicación se usa únicamente si el manifiesto de clúster permite la evaluación de mantenimiento de tipo de aplicación con la entrada de configuración para HealthManager/EnableApplicationTypeHealthEvaluation.

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

-ConsiderWarningAsError

Indica si se trata un informe de estado de advertencia como un error durante la evaluación de estado. Este valor se usa para la evaluación de nodos e informes de estado del clúster.

Si no se especifica ninguno de los parámetros de la directiva de mantenimiento del clúster, la evaluación de estado usa la directiva de mantenimiento del clúster del manifiesto del clúster, si existe o la directiva predeterminada que tolera ningún error.

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

-MaxPercentUnhealthyApplications

Especifica el porcentaje máximo tolerado de aplicaciones incorrectas. Si hay más aplicaciones con el estado de mantenimiento agregado de error que tolerado, el estado de mantenimiento del clúster es Error.

Si no se especifica ninguno de los parámetros de la directiva de mantenimiento del clúster, la evaluación de estado usa la directiva de mantenimiento del clúster del manifiesto del clúster, si existe o la directiva predeterminada que tolera ningún error.

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

-MaxPercentUnhealthyNodes

Especifica el porcentaje máximo tolerado de nodos incorrectos. Si hay más nodos con el estado de mantenimiento agregado de error que tolerado, el clúster se evalúa como Error. Si no especifica este parámetro, la evaluación de estado usa el valor proporcionado en el manifiesto del clúster.

Si no se especifica ninguno de los parámetros de la directiva de mantenimiento del clúster, la evaluación de estado usa la directiva de mantenimiento del clúster del manifiesto del clúster, si existe o la directiva predeterminada que tolera ningún error.

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

-NodeFilters

Especifica un Systems.Collections.Generic.List de objetos System.Fabric.Health.NodeHealthStateFilter . Solo se devuelven los nodos que respetan el filtro más específico. Puede especificar los filtros para nodos individuales o para todos los nodos. Solo se permite un filtro general y un filtro por nodo. Si no especifica este parámetro, no se devuelve ningún nodo.

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

Define un mapa con porcentajes máximos de nodos incorrectos para tipos de nodo específicos.

La asignación de directiva de mantenimiento de tipo de nodo se puede usar durante la evaluación del mantenimiento de clúster para describir tipos de nodo especiales. Los tipos de nodo incluidos en el mapa se evalúan con respecto al porcentaje incluido en el mapa y también con el global (consulte System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Los nodos de los tipos de nodo especificados en el mapa también se cuentan en el grupo global de nodos; son comprobaciones independientes.

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

-TimeoutSec

Especifica el período de tiempo de espera, en segundos, para la operación.

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

Entradas

None

Salidas

System.Object