Bagikan melalui


Get-ServiceFabricClusterHealthChunk

Mendapatkan informasi kesehatan untuk kluster Service Fabric dan anak-anaknya.

Sintaks

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

Deskripsi

Cmdlet Get-ServiceFabricClusterHealthChunk mendapatkan informasi kesehatan untuk kluster Service Fabric dan entitas kluster seperti yang diminta dengan filter input tingkat lanjut. Secara default, tidak ada entitas anak yang dikembalikan. Jika ditentukan, semua entitas yang menghormati input dikembalikan dengan cara hierarkis.

Service Fabric melaporkan status kesehatan berikut.

  • OK. Entitas memenuhi pedoman kesehatan.
  • Kesalahan. Entitas tidak memenuhi pedoman kesehatan.
  • Peringatan. Entitas memenuhi pedoman kesehatan tetapi mengalami beberapa masalah.

Status kesehatan agregat kluster mempertimbangkan semua laporan kesehatan pada kluster serta status kesehatan agregat semua anak, secara rekursif. Evaluasi kesehatan menggunakan kebijakan kesehatan kluster dan kebijakan kesehatan aplikasi dari setiap aplikasi dalam kluster. Anda dapat meneruskan kebijakan kesehatan untuk kluster dan untuk evaluasi aplikasi sebagai input. Jika tidak ditentukan, evaluasi kesehatan menggunakan kebijakan kesehatan yang berlaku dari kluster dan manifes aplikasi jika manifes ditentukan, atau kebijakan default sebaliknya.

Potongan kesehatan kluster hanya mencakup anak-anak yang menarik seperti yang ditentukan dalam filter input. Pemfilteran dilakukan di sisi server, sehingga ukuran pesan diminimalkan.

Jika output yang diminta tidak sesuai dengan pesan, tidak ada hasil yang dikembalikan.

Sebelum Anda melakukan operasi apa pun pada kluster Service Fabric, buat koneksi ke kluster dengan menggunakan cmdlet Connect-ServiceFabricCluster .

Contoh

Contoh 1: Mendapatkan kesehatan kluster dengan filter simpul

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

Perintah ini meminta kesehatan kluster. Ini menentukan filter untuk mengembalikan semua simpul, kecuali untuk simpul N0010, yang harus disertakan hanya jika status kesehatan agregat dalam Kesalahan.

Contoh 2: Mendapatkan kesehatan kluster dengan filter entitas yang disebarkan

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

Perintah ini meminta kesehatan kluster. Ini menentukan filter untuk mengembalikan semua aplikasi dan aplikasi yang disebarkan dan paket layanan yang disebarkan pada simpul tertentu (N0020).

Contoh 3: Mendapatkan kesehatan kluster dengan filter aplikasi yang menyertakan filter dalam rekursif

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

Perintah ini meminta kesehatan kluster. Ini menentukan filter untuk mengembalikan hanya aplikasi. Filter mengembalikan semua layanan aplikasi, dan untuk setiap layanan, filter mengembalikan semua partisi. Untuk setiap partisi, ini mencakup semua replika, kecuali untuk 130984777977143495, yang seharusnya hanya dikembalikan jika berada di Kesalahan.

Parameter

-ApplicationFilters

Menentukan objek Systems.Collections.Generic.List of System.Fabric.Health.ApplicationHealthStateFilter . Hanya aplikasi yang menghormati filter yang paling spesifik yang dikembalikan. Anda dapat menentukan filter untuk aplikasi individual atau untuk semua aplikasi. Hanya satu filter umum dan satu filter per aplikasi yang diizinkan.

Jika Anda tidak menentukan parameter ini, tidak ada aplikasi yang dikembalikan.

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

Menentukan System.Fabric.Health.ApplicationHealthPolicyMap yang menyertakan kebijakan kesehatan kustom untuk beberapa atau semua aplikasi. Jika Anda tidak menentukan parameter ini, atau jika Anda tidak menyertakan entri dalam peta untuk aplikasi, aplikasi tersebut dievaluasi dengan kebijakan kesehatan aplikasi yang ditentukan dalam manifes aplikasi jika ada, atau kebijakan default sebaliknya.

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

-ApplicationTypeHealthPolicyMap

Menentukan peta yang menentukan persentase maksimum aplikasi tidak sehat yang diizinkan per jenis aplikasi. Jenis aplikasi dalam peta ini dievaluasi menggunakan persentase tertentu daripada persentase MaxPercentUnhealthyApplications global.

Misalnya, jika beberapa aplikasi jenis sangat penting, administrator kluster dapat menambahkan entri ke peta untuk jenis aplikasi tersebut dan menetapkannya nilai 0% (artinya, jangan mentolerir kegagalan apa pun). Semua aplikasi lain dapat dievaluasi dengan MaxPercentUnhealthyApplications yang diatur ke 20% untuk mentolerir beberapa kegagalan dari ribuan instans aplikasi.

Peta kebijakan kesehatan jenis aplikasi hanya digunakan jika manifes kluster memungkinkan evaluasi kesehatan jenis aplikasi menggunakan entri konfigurasi untuk HealthManager/EnableApplicationTypeHealthEvaluation.

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

-ConsiderWarningAsError

Menunjukkan apakah akan memperlakukan laporan kesehatan peringatan sebagai kesalahan selama evaluasi kesehatan. Nilai ini digunakan untuk evaluasi simpul dan laporan kesehatan kluster.

Jika tidak ada parameter kebijakan kesehatan kluster yang ditentukan, evaluasi kesehatan menggunakan kebijakan kesehatan kluster dari manifes kluster, jika ada, atau kebijakan default yang mentolerir tidak ada kegagalan.

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

-MaxPercentUnhealthyApplications

Menentukan persentase maksimum yang ditoleransi dari aplikasi yang tidak sehat. Jika ada lebih banyak aplikasi dengan status kesalahan kesehatan agregat daripada yang ditoleransi, status kesehatan kluster adalah Kesalahan.

Jika tidak ada parameter kebijakan kesehatan kluster yang ditentukan, evaluasi kesehatan menggunakan kebijakan kesehatan kluster dari manifes kluster, jika ada, atau kebijakan default yang mentolerir tidak ada kegagalan.

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

-MaxPercentUnhealthyNodes

Menentukan persentase maksimum yang ditoleransi dari simpul yang tidak sehat. Jika ada lebih banyak simpul dengan status kesalahan kesehatan agregat daripada yang ditoleransi, kluster dievaluasi sebagai Kesalahan. Jika Anda tidak menentukan parameter ini, evaluasi kesehatan menggunakan nilai yang disediakan dalam manifes kluster.

Jika tidak ada parameter kebijakan kesehatan kluster yang ditentukan, evaluasi kesehatan menggunakan kebijakan kesehatan kluster dari manifes kluster, jika ada, atau kebijakan default yang mentolerir tidak ada kegagalan.

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

-NodeFilters

Menentukan objek Systems.Collections.Generic.List of System.Fabric.Health.NodeHealthStateFilter . Hanya simpul yang menghormati filter yang paling spesifik yang dikembalikan. Anda dapat menentukan filter untuk simpul individual atau untuk semua simpul. Hanya satu filter umum dan satu filter per simpul yang diizinkan. Jika Anda tidak menentukan parameter ini, tidak ada simpul yang dikembalikan.

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

Menentukan peta dengan persentase maksimum simpul yang tidak sehat untuk jenis node tertentu.

Peta kebijakan kesehatan jenis node dapat digunakan selama evaluasi kesehatan kluster untuk menggambarkan jenis node khusus. Jenis node yang disertakan dalam peta dievaluasi terhadap persentase yang disertakan dalam peta, dan juga dengan global (lihat System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Simpul jenis node yang ditentukan dalam peta juga dihitung terhadap kumpulan simpul global; mereka adalah pemeriksaan independen.

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

-TimeoutSec

Menentukan periode waktu habis, dalam detik, untuk operasi.

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

Input

None

Output

System.Object