从规模集中的 VM 检索应用程序健康状态

Retrieve Application Healthy status from VMs in a Scale Set

我知道我可以使用 Get-ASzVmssVM 获取 VMSS 中的实例列表。但是我怎样才能检索应用程序的健康状态呢?当您查看规模集的实例时,Azure UI 会执行此操作。有什么机制可以让我做同样的事情吗?

Get-AzVmssVM -InstanceView -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName

我想迭代不健康的实例并重新启动它们。通常 VMSS 大于 200 个实例,因此默认情况下 Azure 不会为我执行此操作。

您可以在实例的 instanceView 中查看应用程序健康状态:

$allInstances = Get-AzVmssVM -InstanceView -ResourceGroupName $rg -VMScaleSetName $vmssName
$unhealthyInstances = $allInstances | where {$_.InstanceView.VmHealth.Status.Code -eq "HealthState/unhealthy"}
Write-Output "Total instances:  $($allInstances.Count)"
Write-Output "Unhealthy instances:  $($unhealthyInstances.Count)"

更多