Ниже приведен код подключения к кластеру сервисной фабрики и получения необходимой информации о состоянии приложений:
$ConnectArgs = @{
ConnectionEndpoint = "mycluster:19000";
X509Credential = $True;
StoreLocation = 'CurrentUser';
StoreName = "MY";
FindType = 'FindByThumbprint';
FindValue = "My_thumbprint"
}
Connect-ServiceFabricCluster @ConnectArgs
Get-ServiceFabricApplicationHealth -ApplicationName fabric:/Myapp -ExcludeHealthStatistics
Но в настоящее время имеется много информации, которая мне не нужна.Как выбрать только конкретную информацию из результатов?Мне нужна только информация ServiceHealthState.Мне удалось исключить некоторую информацию из работоспособности приложения, но не удалось исключить больше.
ОБНОВЛЕНИЕ:
Я нашел следующее решение, которое близко к тому, чего я пытаюсь достичь:
$health = Get-ServiceFabricApplicationHealth -ApplicationName "fabric:/Myapp"
If ($health.AggregatedHealthState -eq "OK") {
Write-Host "$($clusterApplication)'s health is ok!"
} Else {
Write-Error "$($clusterApplication)'s health is not ok"
}
Но мне не нужно отслеживать AggregatedHealthState, потому что меня интересует только одна часть, которая находится под ServiceHealthStates, см. Пример:
ApplicationName: fabric: / Myapp
AggregatedHealthState: ошибка
ServiceHealthStates:
ServiceName: фабрика: / Myapp / внешний интерфейс
AggregatedHealthState: ошибка
ServiceName: фабрика: / Myapp / Backend
AggregatedHealthState: Ok
Но я не знаю, как выбрать эту часть, также не нашел ее в Google, надеюсь, кто-то может помочь.