Partilhar via


Get-ServiceFabricClusterHealthChunk

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

Sintaxe

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 do 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 são retornadas de forma hierárquica.

O Service Fabric relata os seguintes estados de integridade.

  • OK. A entidade atende às orientações sanitárias.
  • Erro. A entidade não atende às orientações sanitárias.
  • Atenção. A entidade cumpre as orientações sanitárias, mas está passando por alguns problemas.

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

O bloco de integridade do cluster inclui apenas filhos de interesse, conforme especificado nos filtros de entrada. A filtragem é feita no lado do servidor, para que o tamanho da mensagem seja minimizado.

Se a saída solicitada não couber 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

Este comando consulta a integridade do cluster. Ele especifica filtros para retornar todos os nós, exceto para 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

Este 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

Este 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, ele inclui todas as réplicas, exceto 130984777977143495, que só devem ser retornadas se estiver em Erro.

Parâmetros

-ApplicationFilters

Especifica um Systems.Collections.Generic.List de objetos de 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. Só é permitido um filtro geral e um filtro por aplicação.

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

Tipo:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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 diretiva de integridade do aplicativo definida no manifesto do aplicativo, se existir, ou com a política padrão de outra forma.

Tipo:ApplicationHealthPolicyMap
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-ApplicationTypeHealthPolicyMap

Especifica o mapa que define a porcentagem máxima de aplicativos não íntegros permitidos por tipo de aplicativo. Os tipos de aplicativos neste mapa são avaliados usando porcentagens específicas em vez da global MaxPercentUnhealthyApplications porcentagem.

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

O mapa da diretiva de integridade do tipo de aplicativo será usado somente se o manifesto do cluster habilitar a avaliação da integridade do tipo de aplicativo usando a entrada de configuração para HealthManager/EnableApplicationTypeHealthEvaluation.

Tipo:ApplicationTypeHealthPolicyMap
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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 da diretiva de integridade do cluster for especificado, a avaliação de integridade usará a diretiva de integridade do cluster do manifesto do cluster, se existir, ou a diretiva padrão que não tolera falhas.

Tipo:Boolean
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-MaxPercentUnhealthyApplications

Especifica a porcentagem máxima tolerada de aplicativos não íntegros. Se houver mais aplicativos com estado de erro de integridade agregado do que o tolerado, o estado de integridade do cluster será Erro.

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

Tipo:Byte
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-MaxPercentUnhealthyNodes

Especifica a porcentagem máxima tolerada de nós não íntegros. Se houver mais nós com estado de erro de integridade agregado do que o 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 da diretiva de integridade do cluster for especificado, a avaliação de integridade usará a diretiva de integridade do cluster do manifesto do cluster, se existir, ou a diretiva padrão que não tolera falhas.

Tipo:Byte
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-NodeFilters

Especifica um Systems.Collections.Generic.List de objetos System.Fabric.Health.NodeHealthStateFilter. Somente os 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. Apenas um filtro geral e um filtro por nó são permitidos. Se você não especificar esse parâmetro, nenhum nó será retornado.

Tipo:System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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 do tipo de nó pode ser usado durante a avaliação da integridade do cluster para descrever tipos de nó especiais. Os tipos de nó incluídos no mapa são avaliados em relação à porcentagem incluída no mapa e também com o global (consulte System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Os nós dos tipos de nós especificados no mapa também são contados em relação ao pool global de nós; trata-se de controlos independentes.

Tipo:NodeTypeHealthPolicyMap
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-TimeoutSec

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

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

None

Saídas

System.Object