Поделиться через


Get-ServiceFabricClusterHealthChunk

Возвращает сведения о работоспособности кластера Service Fabric и его дочерних объектов.

Синтаксис

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

Описание

Командлет Get-ServiceFabricClusterHealthChunk получает сведения о работоспособности для кластеров и сущностей кластера Service Fabric, как запрашивается с помощью расширенных фильтров ввода. По умолчанию дочерние сущности не возвращаются. Если задано, все сущности, уважающие входные данные, возвращаются иерархическим образом.

Service Fabric сообщает следующие состояния работоспособности.

  • ХОРОШО. Сущность соответствует рекомендациям по работоспособности.
  • Ошибка. Сущность не соответствует рекомендациям по работоспособности.
  • Предупреждение. Сущность соответствует рекомендациям по работоспособности, но возникает некоторые проблемы.

Агрегированное состояние работоспособности кластера учитывает все отчеты о работоспособности кластера, а также агрегированное состояние работоспособности всех дочерних объектов, рекурсивно. Оценка работоспособности использует политику работоспособности кластера и политику работоспособности приложений каждого приложения в кластере. Политики работоспособности для кластера и оценки приложений можно передать в качестве входных данных. Если это не указано, оценка работоспособности использует применимые политики работоспособности из кластера и манифеста приложения, если указан манифест или политики по умолчанию.

Блок работоспособности кластера содержит только дочерние элементы, которые указаны в входных фильтрах. Фильтрация выполняется на стороне сервера, поэтому размер сообщения свернут.

Если запрошенные выходные данные не помещаются в сообщение, результат не возвращается.

Перед выполнением любой операции в кластере Service Fabric установите подключение к кластеру с помощью командлета Connect-ServiceFabricCluster.

Примеры

Пример 1. Получение работоспособности кластера с фильтрами узлов

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

Эта команда запрашивает работоспособность кластера. Он задает фильтры для возврата всех узлов, за исключением узла N0010, который должен быть включен только в том случае, если это агрегированное состояние работоспособности в error.

Пример 2. Получение работоспособности кластера с развернутыми фильтрами сущностей

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

Эта команда запрашивает работоспособность кластера. Он задает фильтры для возврата всех приложений и развернутых приложений и развернутых пакетов служб на указанном узле (N0020).

Пример 3. Получение работоспособности кластера с помощью фильтра приложения, включающего рекурсивные внутренние фильтры.

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

Эта команда запрашивает работоспособность кластера. Он задает фильтры для возврата только приложения. Фильтр возвращает все службы приложений и для каждой службы возвращает все разделы. Для каждой секции она включает все реплики, кроме 130984777977143495, которые должны быть возвращены только в случае ошибки.

Параметры

-ApplicationFilters

Указывает system.Fabric.Health.ApplicationHealthStateFilter System.Fabric.Health.ApplicationHealthStateFilter. Возвращаются только приложения, которые уважают наиболее конкретный фильтр. Фильтры для отдельных приложений или для всех приложений можно указать. Допускается только один общий фильтр и один фильтр для каждого приложения.

Если этот параметр не указан, приложения не возвращаются.

Тип:System.Collections.Generic.List`1[System.Fabric.Health.ApplicationHealthStateFilter]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ApplicationHealthPolicies

Указывает System.Fabric.Health.ApplicationHealthPolicyMap, включающую настраиваемые политики работоспособности для некоторых или всех приложений. Если этот параметр не указан или вы не включаете запись в карту для приложения, это приложение оценивается политикой работоспособности приложения, определенной в манифесте приложения, если она существует, или политика по умолчанию в противном случае.

Тип:ApplicationHealthPolicyMap
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ApplicationTypeHealthPolicyMap

Указывает карту, которая определяет максимальный процент неработоспособных приложений, разрешенных для каждого типа приложения. Типы приложений на этой карте оцениваются с помощью определенных процентных значений, а не глобальных MaxPercentUnhealthyApplications процента.

Например, если некоторые приложения типа критически важны, администратор кластера может добавить запись на карту для этого типа приложения и назначить 0% (т. е. не допускает никаких сбоев). Все остальные приложения можно оценить с помощью MaxPercentUnhealthyApplications значение 20%, чтобы не допускать некоторых сбоев из тысяч экземпляров приложений.

Карта политики работоспособности типов приложения используется только в том случае, если манифест кластера включает оценку работоспособности типов приложения с помощью записи конфигурации для HealthManager/EnableApplicationTypeHealthEvaluation.

Тип:ApplicationTypeHealthPolicyMap
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ConsiderWarningAsError

Указывает, следует ли рассматривать отчет о работоспособности предупреждения как ошибку во время оценки работоспособности. Это значение используется для оценки узлов и отчетов о работоспособности кластера.

Если ни один из параметров политики работоспособности кластера не указан, оценка работоспособности кластера использует политику работоспособности кластера из манифеста кластера, если она существует, или политику по умолчанию, которая не допускает сбоев.

Тип:Boolean
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MaxPercentUnhealthyApplications

Указывает максимальный допустимый процент неработоспособных приложений. Если есть больше приложений с агрегированным состоянием работоспособности ошибки, чем допускается, состояние работоспособности кластера — Ошибка.

Если ни один из параметров политики работоспособности кластера не указан, оценка работоспособности кластера использует политику работоспособности кластера из манифеста кластера, если она существует, или политику по умолчанию, которая не допускает сбоев.

Тип:Byte
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MaxPercentUnhealthyNodes

Указывает максимальный допустимый процент неработоспособных узлов. Если есть больше узлов с агрегированным состоянием работоспособности ошибки, чем допускается, кластер оценивается как ошибка. Если этот параметр не указан, оценка работоспособности использует значение, указанное в манифесте кластера.

Если ни один из параметров политики работоспособности кластера не указан, оценка работоспособности кластера использует политику работоспособности кластера из манифеста кластера, если она существует, или политику по умолчанию, которая не допускает сбоев.

Тип:Byte
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NodeFilters

Указывает System.Fabric.Health.NodeHealthStateFilter System.Fabric.NodeHealthStateFilter. Возвращаются только узлы, которые учитывают наиболее конкретный фильтр. Фильтры для отдельных узлов или для всех узлов можно указать. Допускается только один общий фильтр и один фильтр на узел. Если этот параметр не указан, узлы не возвращаются.

Тип:System.Collections.Generic.List`1[System.Fabric.Health.NodeHealthStateFilter]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NodeTypeHealthPolicyMap

Определяет карту с максимальным процентом неработоспособных узлов для определенных типов узлов.

Сопоставление политики работоспособности типа узла можно использовать во время оценки работоспособности кластера для описания специальных типов узлов. Типы узлов, включенные в карту, оцениваются по процентам, включенным в карту, а также с глобальными (см. раздел System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes). Узлы типов узлов, указанных в карте, также учитываются в глобальном пуле узлов; они являются независимыми проверками.

Тип:NodeTypeHealthPolicyMap
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TimeoutSec

Указывает период времени ожидания (в секундах) для операции.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Выходные данные

System.Object