Compartilhar via


Get-ServiceFabricClusterHealthChunk

Obtém informações de integridade para um cluster do Service Fabric e seus filhos.

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

O cmdlet Get-ServiceFabricClusterHealthChunk obtém informações de integridade para um cluster do Service Fabric e entidades de cluster, conforme solicitado com os filtros de entrada avançados. Por padrão, nenhuma entidade filho é retornada. Se especificado, todas as entidades que respeitam a entrada serão retornadas de forma hierárquica.

O Service Fabric relata os seguintes estados de integridade.

  • OK. A entidade atende às diretrizes de integridade.
  • Erro. A entidade não atende às diretrizes de integridade.
  • Aviso. A entidade atende às diretrizes de integridade, mas está enfrentando alguns problemas.

O estado de integridade agregado do cluster leva em consideração todos os relatórios de integridade no cluster, bem como o estado de integridade agregado de todas as crianças, recursivamente. A avaliação de integridade usa a política de integridade do cluster e a política de integridade do aplicativo de cada aplicativo no cluster. Você pode passar as políticas de integridade para cluster e para avaliação de aplicativo como entrada. Se não for especificado, a avaliação de integridade usará as políticas de integridade aplicáveis do cluster e do manifesto do aplicativo se o manifesto for especificado ou as políticas padrão, caso contrário.

A parte de integridade do cluster inclui apenas filhos de interesse, conforme especificado nos filtros de entrada. A filtragem é feita no lado do servidor, portanto, o tamanho da mensagem é minimizado.

Se a saída solicitada não se encaixar em uma mensagem, nenhum resultado será retornado.

Antes de executar qualquer operação em um cluster do Service Fabric, estabeleça uma conexão com o cluster usando o cmdlet Connect-ServiceFabricCluster .

Exemplos

Exemplo 1: Obter a integridade do cluster com filtros de nó

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

Esse comando consulta a integridade do cluster. Ele especifica filtros para retornar todos os nós, exceto o nó N0010, que deve ser incluído somente se for o estado de integridade agregado em Erro.

Exemplo 2: Obter a integridade do cluster com filtros de entidade implantados

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

Esse comando consulta a integridade do cluster. Ele especifica filtros para retornar todos os aplicativos e aplicativos implantados e pacotes de serviço implantados em um nó especificado (N0020).

Exemplo 3: obter a integridade do cluster com um filtro de aplicativo que inclui 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

Esse comando consulta a integridade do cluster. Ele especifica filtros para retornar apenas um aplicativo. O filtro retorna todos os serviços de aplicativo e, para cada serviço, retorna todas as partições. Para cada partição, ela inclui todas as réplicas, exceto para 130984777977143495, que só devem ser retornadas se estiver em Erro.

Parâmetros

-ApplicationFilters

Especifica um Systems.Collections.Generic.List de objetos System.Fabric.Health.ApplicationHealthStateFilter . Somente os aplicativos que respeitam o filtro mais específico são retornados. Você pode especificar os filtros para aplicativos individuais ou para todos os aplicativos. Somente um filtro geral e um filtro por aplicativo são permitidos.

Se você não especificar esse parâmetro, nenhum aplicativo será retornado.

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 um System.Fabric.Health.ApplicationHealthPolicyMap que inclui políticas de integridade personalizadas para alguns ou todos os aplicativos. Se você não especificar esse parâmetro ou se não incluir uma entrada no mapa de um aplicativo, esse aplicativo será avaliado com a política de integridade do aplicativo definida no manifesto do aplicativo, caso contrário, a política padrão.

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

-ApplicationTypeHealthPolicyMap

Especifica o mapa que define o percentual máximo de aplicativos não íntegros permitidos por tipo de aplicativo. Os tipos de aplicativo neste mapa são avaliados usando percentuais específicos em vez da porcentagem global maxPercentUnhealthyApplications .

Por exemplo, se alguns aplicativos de um tipo forem críticos, o administrador do cluster poderá adicionar uma entrada ao mapa para esse tipo de aplicativo e atribuir a ele um valor de 0% (ou seja, não tolerar falhas). Todos os outros aplicativos podem ser avaliados com MaxPercentUnhealthyApplications definidos como 20% para tolerar algumas falhas de milhares de instâncias de aplicativo.

O mapa de política de integridade de tipo de aplicativo é usado somente se o manifesto do cluster permite a avaliação de integridade de tipo de aplicativo usando a entrada de configuração para HealthManager/EnableApplicationTypeHealthEvaluation.

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

-ConsiderWarningAsError

Indica se um relatório de integridade de aviso deve ser tratado como um erro durante a avaliação de integridade. Esse valor é usado para avaliação de nós e relatórios de integridade do cluster.

Se nenhum dos parâmetros de política de integridade do cluster for especificado, a avaliação de integridade usará a política de integridade do cluster do manifesto do cluster, se existir ou a política padrão que não tolera falhas.

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

-MaxPercentUnhealthyApplications

Especifica o percentual máximo tolerado de aplicativos não íntegros. Se houver mais aplicativos com estado de integridade agregado de erro do que tolerado, o estado de integridade do cluster será Error.

Se nenhum dos parâmetros de política de integridade do cluster for especificado, a avaliação de integridade usará a política de integridade do cluster do manifesto do cluster, se existir ou a política padrão que não tolera falhas.

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

-MaxPercentUnhealthyNodes

Especifica o percentual máximo tolerado de nós não íntegros. Se houver mais nós com estado de integridade agregado de erro do que tolerado, o cluster será avaliado como Erro. Se você não especificar esse parâmetro, a avaliação de integridade usará o valor fornecido no manifesto do cluster.

Se nenhum dos parâmetros de política de integridade do cluster for especificado, a avaliação de integridade usará a política de integridade do cluster do manifesto do cluster, se existir ou a política padrão que não tolera falhas.

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

-NodeFilters

Especifica um Systems.Collections.Generic.List de objetos System.Fabric.Health.NodeHealthStateFilter . Somente nós que respeitam o filtro mais específico são retornados. Você pode especificar os filtros para nós individuais ou para todos os nós. Somente um filtro geral e um filtro por nó são permitidos. Se você não especificar esse parâmetro, nenhum nó será retornado.

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 um mapa com porcentagens máximas de nós não íntegros para tipos de nó específicos.

O mapa da política de integridade de tipo de nó pode ser usado durante a avaliação de integridade do cluster para descrever tipos especiais de nós. Os tipos de nó incluídos no mapa são avaliados em relação ao percentual incluído no mapa e também com o global (consulte System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Os nós de tipos de nó especificados no mapa também são contados em relação ao pool global de nós; são verificações independentes.

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

-TimeoutSec

Especifica o período de tempo limite, em segundos, para a operação.

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

Entradas

None

Saídas

System.Object