Мониторинг экземпляров в наборе масштабов виртуальных машин Azure (VMSS) с использованием Python
Я хочу отслеживать и получать информацию о различных экземплярах в наборе масштабов виртуальных машин Azure (VMSS).
Я использовал команду (Python):
vmss = compute_client.virtual_machine_scale_sets.list (группа_ресурсов, имя_символа_сетей)
Но я не могу получить ожидаемый результат.
Любые предложения, что делать?
2 ответа
Если вы хотите получить информацию о виртуальных машинах, используйте следующий код.
subscription_id = 'subscription Id'
credentials = ServicePrincipalCredentials(client_id=CLIENT, secret=KEY, tenant=TENANT_ID)
client = ComputeManagementClient(credentials, subscription_id)
vmss = client.virtual_machine_scale_set_vms.list("resourcegroup Name","VMSS name")
for item in vmss:
print("id:",item.id)
print("name",item.name)
Результат испытаний:
Вы можете использовать следующий код, чтобы получить ip и powerstate.
compute_client = ComputeManagementClient(credentials, subscription_id)
vmss = compute_client.virtual_machine_scale_set_vms.list(resource_group_name="", vmss="")
for item in vmss:
print("name: ", item.name)
ni_reference = item.network_profile.network_interfaces[0].id
resource_client = ResourceManagementClient(credentials, subscription_id)
nic = resource_client.resources.get_by_id(
ni_reference,
api_version='2017-12-01')
ip_reference = nic.properties['ipConfigurations'][0]['properties']
print("ip info: ", ip_reference)
instance_view = compute_client.virtual_machine_scale_set_vms.get_instance_view(resource_group_name="", vmss="", instance_id=item.instance_id)
print(instance_view.statuses[1].code)
результат:
name: yangtestvmss_1
ip info: {'provisioningState': 'Succeeded', 'privateIPAddress': '10.0.0.5', 'privateIPAllocationMethod': 'Dynamic', 'subnet': {'id': '/subscriptions/e5b0fcfa-e859-43f3-8d84-5e5fe29f4c68/resourceGroups/yangtestvmss/providers/Microsoft.Network/virtualNetworks/yangtestvmssVnet/subnets/default'}, 'primary': True, 'privateIPAddressVersion': 'IPv4', 'isInUseWithService': False}
PowerState/running
name: yangtestvmss_3
ip info: {'provisioningState': 'Succeeded', 'privateIPAddress': '10.0.0.7', 'privateIPAllocationMethod': 'Dynamic', 'subnet': {'id': '/subscriptions/e5b0fcfa-e859-43f3-8d84-5e5fe29f4c68/resourceGroups/yangtestvmss/providers/Microsoft.Network/virtualNetworks/yangtestvmssVnet/subnets/default'}, 'primary': True, 'privateIPAddressVersion': 'IPv4', 'isInUseWithService': False}
PowerState/running
Есть классный инструмент, созданный парнем из Microsoft для мониторинга VMSS, см. Эту ссылку VMSS Dashboard.
Упомянутый инструмент помогает вам увидеть статус виртуальных машин в масштабируемом наборе: вы можете увидеть домен обновления и группировку виртуальных машин в домене сбоя. Он позволяет запускать или освобождать виртуальную машину. Код выпущен более двух лет назад.