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

  • OKEY. 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 de outra forma.

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 ajustar a 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 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 130984777977143495, que só devem ser retornadas se estiverem 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.

Tipo:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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, ou a política padrão.

Tipo:ApplicationHealthPolicyMap
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 do global MaxPercentUnhealthyApplications percentual.

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 definido como 20% para tolerar algumas falhas de milhares de instâncias de aplicativo.

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

Tipo:ApplicationTypeHealthPolicyMap
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ConsiderWarningAsError

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

Se nenhum dos parâmetros da 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.

Tipo:Boolean
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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á Erro.

Se nenhum dos parâmetros da 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.

Tipo:Byte
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 da 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.

Tipo:Byte
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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. Somente 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]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-NodeTypeHealthPolicyMap

Define um mapa com percentuais máximos 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 ao percentual incluído no mapa e também com o global (consulte System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Os nós dos tipos de nó especificados no mapa também são contados no pool global de nós; são verificações independentes.

Tipo:NodeTypeHealthPolicyMap
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TimeoutSec

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

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Saídas

System.Object