Condividi tramite


Get-ServiceFabricClusterHealthChunk

Ottiene informazioni sull'integrità per un cluster di Service Fabric e i relativi elementi figlio.

Sintassi

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

Descrizione

Il cmdlet Get-ServiceFabricClusterHealthChunk ottiene informazioni sull'integrità per un cluster e entità cluster di Service Fabric come richiesto con i filtri di input avanzati. Per impostazione predefinita, non vengono restituite entità figlio. Se specificato, tutte le entità che rispettano l'input vengono restituite in modo gerarchico.

Service Fabric segnala gli stati di integrità seguenti.

  • OK. L'entità soddisfa le linee guida sull'integrità.
  • Errore. L'entità non soddisfa le linee guida sull'integrità.
  • Avviso. L'entità soddisfa le linee guida sull'integrità, ma riscontra alcuni problemi.

Lo stato di integrità aggregato del cluster prende in considerazione tutti i report sull'integrità nel cluster, nonché lo stato di integrità aggregato di tutti gli elementi figlio, in modo ricorsivo. La valutazione dell'integrità usa i criteri di integrità del cluster e i criteri di integrità dell'applicazione di ogni applicazione nel cluster. È possibile passare i criteri di integrità per il cluster e per la valutazione dell'applicazione come input. Se non specificato, la valutazione dell'integrità usa i criteri di integrità applicabili dal cluster e dal manifesto dell'applicazione se il manifesto è specificato o i criteri predefiniti in caso contrario.

Il blocco di integrità del cluster include solo elementi figlio di interesse, come specificato nei filtri di input. Il filtro viene eseguito sul lato server, quindi le dimensioni dei messaggi vengono ridotte al minimo.

Se l'output richiesto non rientra in un messaggio, non viene restituito alcun risultato.

Prima di eseguire qualsiasi operazione in un cluster di Service Fabric, stabilire una connessione al cluster usando il cmdlet Connect-ServiceFabricCluster .

Esempio

Esempio 1: Ottenere l'integrità del cluster con i filtri dei nodi

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

Questo comando esegue una query sull'integrità del cluster. Specifica i filtri per restituire tutti i nodi, ad eccezione del nodo N0010, che devono essere inclusi solo se lo stato di integrità aggregato è in Errore.

Esempio 2: Ottenere l'integrità del cluster con filtri di entità distribuiti

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

Questo comando esegue una query sull'integrità del cluster. Specifica i filtri per restituire tutte le applicazioni e le applicazioni distribuite e i pacchetti di servizio distribuiti in un nodo specificato (N0020).

Esempio 3: Ottenere l'integrità del cluster con un filtro dell'applicazione che include filtri interni ricorsivi

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

Questo comando esegue una query sull'integrità del cluster. Specifica i filtri per restituire solo un'applicazione. Il filtro restituisce tutti i servizi dell'applicazione e, per ogni servizio, restituisce tutte le partizioni. Per ogni partizione, include tutte le repliche, ad eccezione di 130984777977143495, che devono essere restituite solo se si tratta di errore.

Parametri

-ApplicationFilters

Specifica un oggetto Systems.Collections.Generic.List di oggetti System.Fabric.Health.ApplicationHealthStateFilter . Vengono restituite solo le applicazioni che rispettano il filtro più specifico. È possibile specificare i filtri per singole applicazioni o per tutte le applicazioni. Sono consentiti un solo filtro generale e un filtro per applicazione.

Se non si specifica questo parametro, non viene restituita alcuna applicazione.

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

Specifica un Oggetto System.Fabric.Health.ApplicationHealthPolicyMap che include criteri di integrità personalizzati per alcune o tutte le applicazioni. Se non si specifica questo parametro o se non si include una voce nella mappa per un'applicazione, tale applicazione viene valutata con i criteri di integrità dell'applicazione definiti nel manifesto dell'applicazione, se esistente o il criterio predefinito in caso contrario.

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

-ApplicationTypeHealthPolicyMap

Specifica la mappa che definisce la percentuale massima di applicazioni non integre consentite per ogni tipo di applicazione. I tipi di applicazione in questa mappa vengono valutati usando percentuali specifiche anziché la percentuale globale MaxPercentUnhealthyApplications .

Ad esempio, se alcune applicazioni di un tipo sono critiche, l'amministratore del cluster può aggiungere una voce alla mappa per tale tipo di applicazione e assegnargli un valore pari a 0%, ovvero non tollerare errori. Tutte le altre applicazioni possono essere valutate con MaxPercentUnhealthyApplications impostato sul 20% per tollerare alcuni errori dalle migliaia di istanze dell'applicazione.

La mappa dei criteri di integrità dei tipi di applicazioni viene usata solo se il manifesto del cluster consente la valutazione dell'integrità dei tipi di applicazioni usando la voce di configurazione per HealthManager/EnableApplicationTypeHealthEvaluation.

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

-ConsiderWarningAsError

Indica se considerare un report sull'integrità degli avvisi come errore durante la valutazione dell'integrità. Questo valore viene usato per la valutazione dei nodi e dei report sull'integrità del cluster.

Se nessuno dei parametri dei criteri di integrità del cluster viene specificato, la valutazione dell'integrità usa i criteri di integrità del cluster dal manifesto del cluster, se esistente o i criteri predefiniti che non tollerano errori.

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

-MaxPercentUnhealthyApplications

Specifica la percentuale massima tollerata di applicazioni non integre. Se sono presenti più applicazioni con stato di integrità aggregato di errore che tollerato, lo stato di integrità del cluster è Error.

Se nessuno dei parametri dei criteri di integrità del cluster viene specificato, la valutazione dell'integrità usa i criteri di integrità del cluster dal manifesto del cluster, se esistente o i criteri predefiniti che non tollerano errori.

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

-MaxPercentUnhealthyNodes

Specifica la percentuale massima tollerata di nodi non integri. Se sono presenti più nodi con stato di integrità aggregato di errore che tollerato, il cluster viene valutato come Errore. Se non si specifica questo parametro, la valutazione dell'integrità usa il valore fornito nel manifesto del cluster.

Se nessuno dei parametri dei criteri di integrità del cluster viene specificato, la valutazione dell'integrità usa i criteri di integrità del cluster dal manifesto del cluster, se esistente o i criteri predefiniti che non tollerano errori.

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

-NodeFilters

Specifica un oggetto Systems.Collections.Generic.List di oggetti System.Fabric.Health.NodeHealthStateFilter . Vengono restituiti solo i nodi che rispettano il filtro più specifico. È possibile specificare i filtri per i singoli nodi o per tutti i nodi. Sono consentiti un solo filtro generale e un filtro per nodo. Se non si specifica questo parametro, non viene restituito alcun 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

Definisce una mappa con percentuali massime di nodi non integri per tipi di nodo specifici.

La mappa dei criteri di integrità dei tipi di nodo può essere usata durante la valutazione dell'integrità del cluster per descrivere i tipi di nodo speciali. I tipi di nodo inclusi nella mappa vengono valutati rispetto alla percentuale inclusa nella mappa e anche con il valore globale .vedere System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes. Anche i nodi dei tipi di nodo specificati nella mappa vengono conteggiati rispetto al pool globale di nodi; sono controlli indipendenti.

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

-TimeoutSec

Specifica il periodo di timeout, espresso in secondi, per l'operazione.

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

Input

None

Output

System.Object