Azure virtual machine pattern-based discovery

  • Release version: Australia
  • Updated March 12, 2026
  • 4 minutes to read
  • Summarize
    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

    Azure virtual machine pattern-based discovery enables ServiceNow customers to discover and populate detailed information about Azure virtual machines (VMs) and related resources into the ServiceNow Configuration Management Database (CMDB). This functionality is part of the Discovery and Service Mapping Patterns application and requires adherence to Microsoft Azure discovery prerequisites.

    Show full answer Show less

    This discovery method supports efficient and accurate mapping of Azure VMs, including their hardware, storage, network interfaces, and licensing information. It also includes options to exclude temporary Azure Databricks VMs and create Server CIs without running IP-based discovery.

    Key Features

    • Comprehensive VM data collection: Captures VM details such as name, unique Azure IDs, power state, memory, CPU count, attached disks, disk size, network adapters, and install status.
    • Support for related Azure resources: Discovers and maps instance scale sets, storage volumes, disk endpoints, network interfaces, availability zones, images, and hardware types.
    • CMDB population: Populates the appropriate tables, including cmdbcivminstance, cmdbcistoragevolume, cmdbcinic, cmdbciostemplate, and cloud-specific extensions to maintain organized and accurate asset data.
    • Relationship creation: Establishes key relationships between discovered CIs, such as VM instances hosted on Azure datacenters, provisioned from images or hardware types, and contained within resource groups or availability zones.
    • Azure Tag discovery: Collects Azure tags associated with VMs and stores them as key-value pairs in the CMDB, enhancing metadata and searchability.
    • Azure BYOL license discovery: Identifies license types for Windows and Red Hat Enterprise Linux VMs (Bring Your Own License or License Included) and records them in the CMDB for license management.
    • Optimizations: Options to exclude temporary Azure Databricks VMs to reduce short-lived CI records, and the ability to create Server CIs during cloud discovery without IP-based discovery, improving discovery efficiency.

    Practical application for ServiceNow customers

    By implementing Azure virtual machine pattern-based discovery, customers can achieve accurate and detailed visibility into their Azure VM environments, ensuring their CMDB reflects current cloud infrastructure. This supports better asset management, compliance, and operational decision-making.

    Customers should ensure they meet Microsoft Azure discovery prerequisites and consider updating to the latest Discovery and Service Mapping Patterns application version to access all features, including exclusions for temporary VMs and enhanced Server CI creation.

    Understanding the data fields populated and the relationships created enables customers to better analyze dependencies and manage cloud assets within ServiceNow.

    Discovery and Service Mapping Patterns finds Azure virtual machines (VMs) on your cloud environment. Discovering some of these resources may require updating to the latest version of the Discovery and Service Mapping Patterns application from the ServiceNow Store.

    Pattern-based discovery and mapping requirements

    Verify the Microsoft Azure discovery prerequisites
    For more information, see the prerequisites section in Microsoft Azure Cloud discovery using patterns.
    (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.

    Data collected by Discovery during horizontal discovery

    Discovery populates the data in the CMDB when running the Azure - Virtual Machine (LP) pattern.

    Table 1. Virtual Machine Instance [cmdb_ci_vm_instance]
    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 2. Instance Scale Set [cmdb_ci_instance_scale_set]
    Field Description
    Object ID [object_id] A unique identifier allocated by Azure for this Virtual Machine Scale Set instance.
    Table 3. Storage Volume [cmdb_ci_storage_volume]
    Field Description
    Object ID [object_id] A unique identifier for the managed disk.
    Name [name] Name of the managed disk.
    Table 4. Block Endpoint [cmdb_ci_endpoint_block]
    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 5. Cloud Mgmt Network Interface [cmdb_ci_nic]
    Field Description
    Object ID [object_id] A unique identifier for the NIC.
    Primary [primary] Indicates whether this NIC is the primary network interface.
    Table 6. VNIC Endpoint [cmdb_ci_endpoint_vnic]
    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 7. Availability Zone [cmdb_ci_availability_zone]
    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 8. Image [cmdb_ci_os_template] or Cloud Image [cmdb_ci_cloud_os_image]
    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.

    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.
    Table 9. Hardware Type [cmdb_ci_compute_template] or Cloud Hardware Type [cmdb_ci_cloud_hardware_type]
    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.

    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.

    CI relationships

    The Azure - Virtual Machine (LP) pattern creates these relationships to support Azure VM discovery.

    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 Tag discovery

    The Azure - Virtual Machine (LP) pattern collects tags and populates them in the Key Value [cmdb_key_value] table.

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

    Azure BYOL discovery

    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
    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.
    Table 11. Key Value [cmdb_key_value]
    Field Description
    Key [key] The license type key, which is one of the following:
    • Windows_OS_License_Type_automatic
    • RHEL_OS_License_Type_automatic
    Value [value] The license model, which is one of the following:
    • BYOL
    • License Included
    Configuration item [configuration_item] References the Virtual Machine Instance [cmdb_ci_vm_instance] table.