Dela via


Get-ServiceFabricClusterHealthChunk

Hämtar hälsoinformation för ett Service Fabric-kluster och dess underordnade.

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

Cmdleten Get-ServiceFabricClusterHealthChunk hämtar hälsoinformation för ett Service Fabric-kluster och klusterentiteter som begärs med de avancerade indatafiltren. Som standard returneras inga underordnade entiteter. Om det anges returneras alla entiteter som respekterar indata på ett hierarkiskt sätt.

Service Fabric rapporterar följande hälsotillstånd.

  • OK. Entiteten uppfyller hälsoriktlinjerna.
  • Fel. Entiteten uppfyller inte hälsoriktlinjerna.
  • Varning. Entiteten uppfyller hälsoriktlinjerna men har vissa problem.

Klustrets aggregerade hälsotillstånd tar hänsyn till alla hälsorapporter i klustret samt det aggregerade hälsotillståndet för alla underordnade, rekursivt. Hälsoutvärderingen använder klustrets hälsoprincip och programhälsoprincipen för varje program i klustret. Du kan skicka hälsoprinciperna för klustret och för programutvärdering som indata. Om inget anges använder hälsoutvärderingen tillämpliga hälsoprinciper från klustret och programmanifestet om manifestet har angetts eller standardprinciperna på annat sätt.

Klustrets hälsosegment innehåller endast underordnade av intresse som anges i indatafiltren. Filtreringen görs på serversidan, så meddelandestorleken minimeras.

Om de begärda utdata inte får plats i ett meddelande returneras inget resultat.

Innan du utför någon åtgärd i ett Service Fabric-kluster upprättar du en anslutning till klustret med hjälp av cmdleten Connect-ServiceFabricCluster .

Exempel

Exempel 1: Hämta hälsotillståndet för klustret med nodfilter

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

Det här kommandot frågar hälsotillståndet för klustret. Den anger filter för att returnera alla noder, förutom noden N0010, som endast ska inkluderas om det är aggregerat hälsotillstånd i Fel.

Exempel 2: Hämta hälsotillståndet för klustret med distribuerade entitetsfilter

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

Det här kommandot frågar hälsotillståndet för klustret. Den anger filter för att returnera alla program och distribuerade program och distribuerade tjänstpaket på en angiven nod (N0020).

Exempel 3: Hämta hälsotillståndet för klustret med ett programfilter som innehåller rekursiva inre filter

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

Det här kommandot frågar hälsotillståndet för klustret. Den anger filter för att endast returnera ett program. Filtret returnerar alla programtjänster och för varje tjänst returneras alla partitioner. För varje partition innehåller den alla repliker, förutom 130984777977143495, som endast ska returneras om den har fel.

Parametrar

-ApplicationFilters

Anger en Systems.Collections.Generic.List medobjekten System.Fabric.Health.ApplicationHealthStateFilter . Endast program som respekterar det mest specifika filtret returneras. Du kan ange filter för enskilda program eller för alla program. Endast ett allmänt filter och ett filter per program tillåts.

Om du inte anger den här parametern returneras inga program.

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

Anger en System.Fabric.Health.ApplicationHealthPolicyMap som innehåller anpassade hälsoprinciper för vissa eller alla program. Om du inte anger den här parametern, eller om du inte inkluderar en post på kartan för ett program, utvärderas programmet med den programhälsoprincip som definierats i programmanifestet om den finns eller standardprincipen på annat sätt.

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

-ApplicationTypeHealthPolicyMap

Anger den karta som definierar den maximala procentandelen program med feltillstånd som tillåts per programtyp. Programtyper i den här kartan utvärderas med hjälp av specifika procentandelar i stället för den globala procentandelen MaxPercentUnhealthyApplications .

Om vissa program av en typ till exempel är kritiska kan klusteradministratören lägga till en post på kartan för den programtypen och tilldela den ett värde på 0 % (dvs. tolererar inte några fel). Alla andra program kan utvärderas med MaxPercentUnhealthyApplications inställt på 20 % för att tolerera vissa fel av tusentals programinstanser.

Programtypens hälsoprincipkarta används endast om klustermanifestet aktiverar hälsoutvärdering av programtyp med hjälp av konfigurationsposten för HealthManager/EnableApplicationTypeHealthEvaluation.

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

-ConsiderWarningAsError

Anger om en varningshälsorapport ska behandlas som ett fel under hälsoutvärderingen. Det här värdet används för utvärdering av noder och klusterhälsorapporter.

Om ingen av parametrarna för klustrets hälsoprincip anges använder hälsoutvärderingen klusterhälsoprincipen från klustermanifestet, om den finns eller standardprincipen som inte tolererar några fel.

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

-MaxPercentUnhealthyApplications

Anger den maximala tolererade procentandelen program som inte är felfria. Om det finns fler program med aggregerat hälsotillstånd för fel än vad som tolereras är klustrets hälsotillstånd Fel.

Om ingen av parametrarna för klustrets hälsoprincip anges använder hälsoutvärderingen klusterhälsoprincipen från klustermanifestet, om den finns eller standardprincipen som inte tolererar några fel.

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

-MaxPercentUnhealthyNodes

Anger den maximala tolererade procentandelen noder som inte är felfria. Om det finns fler noder med aggregerat hälsotillstånd för fel än vad som tolereras utvärderas klustret som Fel. Om du inte anger den här parametern använder hälsoutvärderingen det värde som anges i klustermanifestet.

Om ingen av parametrarna för klustrets hälsoprincip anges använder hälsoutvärderingen klusterhälsoprincipen från klustermanifestet, om den finns eller standardprincipen som inte tolererar några fel.

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

-NodeFilters

Anger en Systems.Collections.Generic.List medobjekten System.Fabric.Health.NodeHealthStateFilter . Endast noder som respekterar det mest specifika filtret returneras. Du kan ange filter för enskilda noder eller för alla noder. Endast ett allmänt filter och ett filter per nod tillåts. Om du inte anger den här parametern returneras inga noder.

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

Definierar en karta med maximala procentandelar ej felfria noder för specifika nodtyper.

Mappningen av nodtypens hälsoprincip kan användas vid utvärdering av klusterhälsa för att beskriva särskilda nodtyper. Nodtyperna som ingår i kartan utvärderas mot procentandelen som ingår i kartan och även med den globala (se System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Noderna för nodtyper som anges på kartan räknas också mot den globala poolen med noder. de är oberoende kontroller.

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

-TimeoutSec

Anger tidsgränsen i sekunder för åtgärden.

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

Indata

None

Utdata

System.Object