如何获取看门狗中设置的 VM Scale 中所有 VM 的状态

问题描述

我正在努力创建一个看门狗,以查看是否可以从我的 SF 集群访问 VMScaleSet 中的 VM。 为此,我正在创建一个看门狗并寻找一个休息端点或任何我可以调用方法来检查规模集中 VM 的状态。

谁能帮我解决这个问题?

提前致谢。

解决方法

如果要获取 Azure VM 规模集实例的状态,可以获取以下其余 API。详情请参阅here

GET https://management.azure.com/subscriptions/{subscriptionId}
/resourceGroups/{resourceGroupName}
/providers/Microsoft.Compute/virtualMachineScaleSets
/{virtualMachineScaleSetName}/virtualMachines?api-version=2020-06-01&$expand=instanceView

例如

  1. 创建服务主体并将 Azure RABC Contributor 角色分配给 sp

  2. 获取令牌

POST /hanxia.onmicrosoft.com/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type =client_credentials
&client_id=<sp app id>
&client_secret=<sp client secret>
&resource=https://management.azure.com/
  1. 调用 API
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines?api-version=2020-06-01&$expand=instanceView HTTP/1.1
Host: management.azure.com
Authorization:  Bearer <access_token>

运行 API 后,它将在响应正文属性 status 中返回实例的状态 enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...