---
sourceDocument: Australia IT Operations Management
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/it-operations-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Azure virtual machine

# Azure virtual machine pattern-based discovery {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Azure virtual machine pattern-based discovery

The Azure virtual machine pattern-based discovery in ServiceNow enables automated discovery of Azure VMs within your cloud environment.
It populates comprehensive VM data into the Configuration Management Database (CMDB), including VM instance details, scale sets, storage volumes, network interfaces, availability zones, images, hardware types, and related configuration item (CI) relationships.
This helps maintain an accurate and up-to-date inventory of your Azure resources.
Show full answer Show less  
To utilize this discovery effectively, ensure Microsoft Azure discovery prerequisites are met. The discovery application may require updating to the latest version from the ServiceNow Store to support all features.

## Key features

* **Pattern-based discovery:** Uses the Azure - Virtual Machine (LP) pattern to find and populate VM-related CIs and their attributes in the CMDB.
* **Support for exclusion of temporary Azure Databricks VMs:** Starting with version 1.30.2, you can exclude short-lived Databricks VMs to reduce clutter in the CMDB.
* **Server CI creation without IP-based discovery:** From version 1.31.0, Server CIs can be created during cloud discovery without running IP-based discovery, streamlining the process.
* **Detailed CI data collection:** Discovery collects key VM attributes such as name, object IDs, power state, memory, CPU count, disk details, network adapters, install status, and more across multiple CMDB tables.
* **Comprehensive CI relationships:** Relationships between VMs, scale sets, storage volumes, network interfaces, availability zones, images, hardware types, and resource groups are created to represent the Azure environment accurately.
* **Azure tag discovery:** Tags associated with VMs are collected and stored in the Key Value \[cmdbkeyvalue\] table for easier classification and management.
* **BYOL license discovery:** Detects Bring Your Own License (BYOL) and license-included models for Windows and RHEL VMs, storing license information in the Key Value table.

## Practical considerations for ServiceNow customers

* Verify Azure discovery prerequisites to ensure successful discovery runs.
* Update to the latest Discovery and Service Mapping Patterns app version to access features like Databricks VM exclusion and Server CI creation without IP discovery.
* Use the Cloud OS Image and Cloud Hardware Type tables to avoid large numbers of records when storing OS images and hardware types.
* Leverage the discovered CI relationships to understand dependencies and manage Azure resources effectively within the CMDB.
* Utilize Azure tag and license data to enhance asset management and compliance tracking.

This pattern-based discovery capability streamlines cloud resource visibility and CI accuracy, helping you optimize your Azure environment management within ServiceNow.  
Discovery and Service Mapping Patterns finds Azure virtual machines (VMs) on your cloud environment. Discovering some of these resources might require updating to the latest version of the Discovery and Service Mapping Patterns application from the ServiceNow Store.

## Pattern-based discovery and mapping requirements {#azure-vm-pattern__section_rpj_fj2_bgc}

Verify the Microsoft Azure discovery prerequisites
:   For more information, see the prerequisites section in [Microsoft Azure Cloud discovery using patterns](https://www.servicenow.com/docs/e2521~KHAw8EO7j1nC9QMA "Discovery uses multiple patterns to discover components of the Microsoft Azure Cloud deployment during horizontal discovery. Discovering some of these resources might require updating to the latest version of the Discovery and Service Mapping Patterns application from the ServiceNow Store.").

(Optional) Exclude temporary Azure Databricks VMs
:   Starting with Discovery and Service Mapping Patterns version 1.30.2, you can reduce short-lived configuration item (CI) records by excluding temporary Azure Databricks VMs. For more information, see [Exclude temporary Azure Databricks virtual machines](https://www.servicenow.com/docs/ExJxCb5F9d8vT6VPLYPmHQ "Reduce short-lived configuration item (CI) records by excluding temporary Azure Databricks virtual machines (VMs).").

Create Server CIs during cloud discovery without running IP-based discovery
:   Starting with Discovery and Service Mapping Patterns version 1.31.0, you can create Server CIs during cloud discovery without running IP-based discovery. For more information, see [Server CI population during cloud discovery](https://www.servicenow.com/docs/DnhIkU5n0wxBSzI8Km1BBQ "Cloud discovery can populate Server CIs without running IP-based discovery, reducing discovery time in large environments.").

## Data collected by Discovery during horizontal discovery {#azure-vm-pattern__section_ggp_ql2_bgc}

Discovery populates the data in the CMDB when running the Azure - Virtual Machine (LP) pattern.  
{#azure-vm-pattern__table_vm_instance__entry__2}

| Field | Description |
|-|-|
| Name \[name\] | Name of the virtual machine. |
| Object ID \[object_id\] | A unique identifier allocated by Azure for this virtual machine. |
| VM Instance ID \[vm_inst_id\] | The unique virtual machine identifier assigned by Azure. |
| State \[state\] | Power state of the virtual machine. Possible values include: On, Off, or Terminated. |
| Memory (MB) \[memory\] | Memory capacity of the virtual machine in megabytes (MB). |
| CPUs \[cpus\] | Number of virtual CPUs (vCPUs) allocated to the virtual machine. |
| Disks \[disks\] | Total number of disks attached to the virtual machine, including OS disk and data disks. |
| Disk size \[disks_size\] | Total size of all disks attached to the virtual machine in gigabytes (GB). |
| Network adapters \[nics\] | Number of network interface cards (NICs) attached to the virtual machine. |
| Install Status \[install_status\] | Install status of the resource. Default value is Installed. |
[Table 1. Virtual Machine Instance \[cmdb_ci_vm_instance\]]

{#azure-vm-pattern__table_vm_instance}  
{#azure-vm-pattern__table_scale_set__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | A unique identifier allocated by Azure for this Virtual Machine Scale Set instance. |
[Table 2. Instance Scale Set \[cmdb_ci_instance_scale_set\]]

{#azure-vm-pattern__table_scale_set}  
{#azure-vm-pattern__table_storage_volume__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | A unique identifier for the managed disk. |
| Name \[name\] | Name of the managed disk. |
[Table 3. Storage Volume \[cmdb_ci_storage_volume\]]

{#azure-vm-pattern__table_storage_volume}  
{#azure-vm-pattern__table_endpoint_block__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | A unique identifier for the disk endpoint. |
| Name \[name\] | Name of the disk endpoint. |
| Host \[host\] | The virtual machine object ID to which this disk endpoint is attached. |
[Table 4. Block Endpoint \[cmdb_ci_endpoint_block\]]

{#azure-vm-pattern__table_endpoint_block}  
{#azure-vm-pattern__table_nic__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | A unique identifier for the NIC. |
| Primary \[primary\] | Indicates whether this NIC is the primary network interface. |
[Table 5. Cloud Mgmt Network Interface \[cmdb_ci_nic\]]

{#azure-vm-pattern__table_nic}  
{#azure-vm-pattern__table_endpoint_vnic__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | A unique identifier for the virtual network interface endpoint. |
| Name \[name\] | Name of the virtual network interface endpoint. |
[Table 6. VNIC Endpoint \[cmdb_ci_endpoint_vnic\]]

{#azure-vm-pattern__table_endpoint_vnic}  
{#azure-vm-pattern__table_availability_zone__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | A unique identifier for the availability zone in the format: region-zone. |
| Name \[name\] | A unique identifier for the availability zone in the format: region-zone. |
| Install Status \[install_status\] | Install status of the resource. Default value is Installed. |
[Table 7. Availability Zone \[cmdb_ci_availability_zone\]]

{#azure-vm-pattern__table_availability_zone}  
{#azure-vm-pattern__table_os_image__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | A unique identifier for the OS image or custom image. |
| Name \[name\] | Name of the OS image or custom image. |
| Provider \[provider\] | Cloud provider. The value is set to AZURE. This field is only populated in the Cloud Image \[cmdb_ci_cloud_os_image\] table. |
[Table 8. Image \[cmdb_ci_os_template\] or Cloud Image \[cmdb_ci_cloud_os_image\]]

{#azure-vm-pattern__table_os_image}  
Note:  
When using the Image \[cmdb_ci_os_template\] table to store Cloud OS images, you may notice an unusually large number of records. To avoid this issue, you can store the discovered OS images in the Cloud Image \[cmdb_ci_cloud_os_image\] table. For more information, see [Enable Cloud OS Image discovery](https://www.servicenow.com/docs/AM9L2gpoJH8rga6KPXl_5g "Enable the Cloud OS Image [cmdb_ci_cloud_os_image] table to store the cloud OS image records for Amazon AWS Cloud, Microsoft Azure Cloud, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), and IBM Cloud.").  
{#azure-vm-pattern__table_hardware_type__entry__2}

| Field | Description |
|-|-|
| Object ID \[object_id\] | The VM size Stock Keeping Unit (SKU) name. |
| Provider \[provider\] | Cloud provider. The value is set to AZURE. This field is only populated in the Cloud Hardware Type \[cmdb_ci_cloud_hardware_type\] table. |
[Table 9. Hardware Type \[cmdb_ci_compute_template\] or Cloud Hardware Type \[cmdb_ci_cloud_hardware_type\]]

{#azure-vm-pattern__table_hardware_type}  
Note:  
When using the Hardware Type \[cmdb_ci_compute_template\] table to store the hardware types, you may notice an unusually large number of records. To avoid this issue, you can store the discovered hardware types in the Cloud Hardware Type \[cmdb_ci_cloud_hardware_type\] table. For more information, see [Enable the Cloud Hardware Type class extension](https://www.servicenow.com/docs/FYZ59iLYyJYVuQbHJF8iXQ "Enable the Cloud Hardware Type [cmdb_ci_cloud_hardware_type] table to store the predefined virtual machine (VM) hardware type records for Amazon AWS Cloud Microsoft Azure Cloud and Google Cloud Platform (GCP). This class extension helps prevent duplication of the VM hardware type records in the Hardware Type [cmdb_ci_compute_template] table, which improves performance for Discovery and related flows.").

## CI relationships {#azure-vm-pattern__section_dc4_ghc_dgc}

The Azure - Virtual Machine (LP) pattern creates these relationships to support Azure VM discovery.  
{#azure-vm-pattern__table_bkg_jhc_dgc__entry__3}

| CI | Relationship | CI |
|-|-|-|
| Virtual Machine Instance \[cmdb_ci_vm_instance\] | Managed by::Manages | Instance Scale Set \[cmdb_ci_instance_scale_set\] |
| Virtual Machine Instance \[cmdb_ci_vm_instance\] | Hosted on::Hosts | Azure Datacenter \[cmdb_ci_azure_datacenter\] |
| Virtual Machine Instance \[cmdb_ci_vm_instance\] | Provisioned From::Provisioned | Hardware Type \[cmdb_ci_compute_template\] or Cloud Hardware Type \[cmdb_ci_cloud_hardware_type\] |
| Storage Volume \[cmdb_ci_storage_volume\] | Hosted on::Hosts | Azure Datacenter \[cmdb_ci_azure_datacenter\] |
| Block Endpoint \[cmdb_ci_endpoint_block\] | Implement End Point To::Implement End Point From | Storage Volume \[cmdb_ci_storage_volume\] |
| Virtual Machine Instance \[cmdb_ci_vm_instance\] | Use End Point To::Use End Point From | Block Endpoint \[cmdb_ci_endpoint_block\] |
| Virtual Machine Instance \[cmdb_ci_vm_instance\] | Use End Point To::Use End Point From | VNIC Endpoint \[cmdb_ci_endpoint_vnic\] |
| VNIC Endpoint \[cmdb_ci_endpoint_vnic\] | Implement End Point To::Implement End Point From | Cloud Mgmt Network Interface \[cmdb_ci_nic\] |
| Resource Group \[cmdb_ci_resource_group\] | Contains::Contained by | Virtual Machine Instance \[cmdb_ci_vm_instance\] |
| Virtual Machine Instance \[cmdb_ci_vm_instance\] | Provisioned From::Provisioned | Image \[cmdb_ci_os_template\] or Cloud Image \[cmdb_ci_cloud_os_image\] |
| Image \[cmdb_ci_os_template\] or Cloud Image \[cmdb_ci_cloud_os_image\] | Hosted on::Hosts | Azure Datacenter \[cmdb_ci_azure_datacenter\] |
| Availability Zone \[cmdb_ci_availability_zone\] | Contains::Contained by | Virtual Machine Instance \[cmdb_ci_vm_instance\] |
| Azure Datacenter \[cmdb_ci_azure_datacenter\] | Contains::Contained by | Availability Zone \[cmdb_ci_availability_zone\] |
| Availability Set \[cmdb_ci_availability_set\] | Contains::Contained by | Virtual Machine Instance \[cmdb_ci_vm_instance\] |
| Key Value \[cmdb_key_value\] | References | Virtual Machine Instance \[cmdb_ci_vm_instance\] |
[ ]

{#azure-vm-pattern__table_bkg_jhc_dgc}

## Azure Tag discovery {#azure-vm-pattern__section_lyw_zhc_dgc}

The Azure - Virtual Machine (LP) pattern collects tags and populates them in the Key Value \[cmdb_key_value\] table.  
{#azure-vm-pattern__table_ojy_vss_5hc__entry__2}

| Field | Description |
|-|-|
| Key \[key\] | Tag name. |
| Value \[value\] | Tag value. |
| Configuration item \[configuration_item\] | References the Virtual Machine Instance \[cmdb_ci_vm_instance\] table. |
[Table 10. Key Value \[cmdb_key_value\]]

{#azure-vm-pattern__table_ojy_vss_5hc}

## Azure BYOL discovery {#azure-vm-pattern__section_r1t_lqx_h3c}

The pattern extension section discovers the following license types for Windows and Red Hat Enterprise Linux (RHEL) VMs:

* Bring Your Own License (BYOL)
* License included
{#azure-vm-pattern__ul_h2w_yqx_h3c}The pattern stores the license type and model in the Key Value \[cmdb_key_value\] table.  
Note:  
* For Windows VM using a custom image, Discovery populates key values only when the primary OS disk details are available.
* For RHEL VMs, Discovery populates information only for VMs that use Marketplace images.
{#azure-vm-pattern__ul_qvm_lw4_1fc}  
{#azure-vm-pattern__table_lms_grx_h3c__entry__2}

| Field | Description |
|-|-|
| Key \[key\] | The license type key, which is one of the following: * Windows_OS_License_Type_automatic * RHEL_OS_License_Type_automatic {#azure-vm-pattern__ul_s5v_wxv_c3c} |
| Value \[value\] | The license model, which is one of the following: * BYOL * License Included {#azure-vm-pattern__ul_t5v_wxv_c3c} |
| Configuration item \[configuration_item\] | References the Virtual Machine Instance \[cmdb_ci_vm_instance\] table. |
[Table 11. Key Value \[cmdb_key_value\]]

{#azure-vm-pattern__table_lms_grx_h3c}
* **[Exclude temporary Azure Databricks virtual machines](https://www.servicenow.com/docs/ExJxCb5F9d8vT6VPLYPmHQ)**   
  Reduce short-lived configuration item (CI) records by excluding temporary Azure Databricks virtual machines (VMs).

