Partilhar via


Get-ServiceFabricClusterHealthChunk

Obtém informações de saúde para um cluster de Tecidos de Serviço 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 saúde para um cluster de tecido de serviço e entidades de cluster, conforme solicitado com os filtros de entrada avançados. Por defeito, nenhuma entidade infantil é devolvida. Se especificado, todas as entidades que respeitam a entrada são devolvidas de forma hierárquica.

A Service Fabric informa os seguintes estados de saúde.

  • OK. A entidade cumpre as diretrizes de saúde.
  • Error. A entidade não cumpre as diretrizes de saúde.
  • Um aviso. A entidade cumpre as diretrizes de saúde, mas está a passar por alguns problemas.

O estado de saúde agregado do aglomerado tem em conta todos os relatórios de saúde sobre o aglomerado, bem como o estado de saúde agregado de todas as crianças, recursivamente. A avaliação da saúde utiliza a política de saúde do cluster e a política de saúde de cada aplicação no cluster. Pode passar as políticas de saúde para cluster e para avaliação de aplicações como contributo. Se não for especificado, a avaliação da saúde utiliza as políticas de saúde aplicáveis do cluster e manifesto de aplicação se o manifesto for especificado, ou as políticas de incumprimento em contrário.

O pedaço de saúde do cluster inclui apenas crianças de interesse, conforme especificado nos filtros de entrada. A filtragem é feita no lado do servidor, pelo que o tamanho da mensagem é minimizado.

Se a saída solicitada não encaixar numa mensagem, nenhum resultado será devolvido.

Antes de efetuar qualquer operação num cluster de tecido de serviço, estabeleça uma ligação ao cluster utilizando o cmdlet Connect-ServiceFabricCluster .

Exemplos

Exemplo 1: Obter a saúde 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 questiona a saúde do aglomerado. Especifica filtros para devolver todos os nós, exceto o nó N0010, que só deve ser incluído se for estado de saúde agregado em Erro.

Exemplo 2: Obter a saúde do cluster com filtros de entidades implantadas

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 questiona a saúde do aglomerado. Especifica filtros para devolver todas as aplicações e aplicações implementadas e pacotes de serviço implantados num nó especificado (N0020).

Exemplo 3: Obtenha a saúde do cluster com um filtro de aplicação 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 questiona a saúde do aglomerado. Especifica filtros para devolver apenas uma aplicação. O filtro devolve todos os serviços de aplicação e, para cada serviço, devolve todas as divisórias. Para cada divisória, inclui todas as réplicas, com exceção 130984777977143495, que só devem ser devolvidas se estiverem em Erro.

Parâmetros

-ApplicationFilters

Especifica um systems.collections.generic.List of System.Fabric.Health.ApplicationHealthStateFilter . Apenas são devolvidas aplicações que respeitem o filtro mais específico. Pode especificar os filtros para aplicações individuais ou para todas as aplicações. Só é permitido um filtro geral e um filtro por aplicação.

Se não especificar este parâmetro, não são devolvidas quais as aplicações.

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 saúde personalizadas para algumas ou todas as aplicações. Se não especificar este parâmetro, ou se não incluir uma entrada no mapa para uma aplicação, essa aplicação é avaliada com a política de saúde da aplicação definida no manifesto da aplicação se existir, ou a política de incumprimento em contrário.

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

-ApplicationTypeHealthPolicyMap

Especifica o mapa que define a percentagem máxima de aplicações não saudáveis que são permitidas por tipo de aplicação. Os tipos de aplicações neste mapa são avaliados usando percentagens específicas em vez da percentagem global de MaxPercentUnhealthyApplications .

Por exemplo, se algumas aplicações de um tipo forem críticas, o administrador de cluster pode adicionar uma entrada no mapa para esse tipo de aplicação e atribuir-lhe um valor de 0% (ou seja, não tolerar quaisquer falhas). Todas as outras aplicações podem ser avaliadas com MaxPercentUnhealthyApplicações definidas para 20% para tolerar algumas falhas em milhares de instâncias de aplicação.

O mapa da política de saúde do tipo de aplicação só é utilizado se o manifesto do cluster permitir uma avaliação de saúde tipo de aplicação utilizando 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 deve tratar um relatório de saúde de advertência como um erro durante a avaliação da saúde. Este valor é utilizado para a avaliação de nós e relatórios de saúde do cluster.

Se nenhum dos parâmetros da política de saúde do cluster for especificado, a avaliação da saúde utiliza a política de saúde do cluster a partir do manifesto do cluster, se ela existe, ou a política de incumprimento que não tolera falhas.

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

-MaxPercentUnhealthyApplications

Especifica a percentagem máxima tolerada de aplicações não saudáveis. Se houver mais aplicações com estado de erro de saúde agregado do que tolerado, o estado de saúde do cluster é o Erro.

Se nenhum dos parâmetros da política de saúde do cluster for especificado, a avaliação da saúde utiliza a política de saúde do cluster a partir do manifesto do cluster, se ela existe, ou a política de incumprimento que não tolera falhas.

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

-MaxPercentUnhealthyNodes

Especifica a percentagem máxima tolerada de nós não saudáveis. Se houver mais nós com estado de erro de saúde agregado do que tolerado, o cluster é avaliado como Erro. Se não especificar este parâmetro, a avaliação de saúde utiliza o valor fornecido no manifesto do cluster.

Se nenhum dos parâmetros da política de saúde do cluster for especificado, a avaliação da saúde utiliza a política de saúde do cluster a partir do manifesto do cluster, se ela existe, ou a política de incumprimento 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 conjunto de sistemas.collections.generic.List of System.Fabric.Health.NodeHealthStateFilter . Apenas os nós que respeitam o filtro mais específico são devolvidos. Pode especificar os filtros para nós individuais ou para todos os nós. Só é permitido um filtro geral e um filtro por nó. Se não especificar este parâmetro, não são devolvidos nós.

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 percentagens máximas de nós insalubres para tipos específicos de nós.

O mapa da política de saúde do tipo nó pode ser usado durante a avaliação da saúde do cluster para descrever tipos especiais de nó. Os tipos de nós incluídos no mapa são avaliados em função da percentagem incluída no mapa, e também com o global (ver System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Os nós de nós especificados no mapa também são contados contra o conjunto global de nós; são cheques 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 de ício, 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