Azure virtual machine pattern-based discovery
Summarize
Summary of Azure virtual machine pattern-based discovery
The Azure virtual machine pattern-based discovery feature within ServiceNow Discovery and Service Mapping Patterns enables customers to identify and populate detailed configuration items (CIs) for Azure virtual machines (VMs) and their associated resources in the CMDB. This discovery relies on specific prerequisites and can be enhanced by updating the Discovery and Service Mapping Patterns application.
Show less
Key Features
- Pattern-based Azure VM discovery: Uses the Azure - Virtual Machine (LP) pattern to gather comprehensive VM data including state, CPU, memory, disks, network interfaces, and more.
- Support for VM-related CIs: Discovers and populates CIs such as Instance Scale Sets, Storage Volumes, Block Endpoints, Network Interfaces, Virtual Network Interface Endpoints, Availability Zones, OS Images, and Hardware Types.
- CI relationships: Automatically creates relationships between discovered CIs, such as which VM is hosted on which datacenter, provisioned from which hardware or image, and network/storage associations. This provides a complete topology of Azure VM infrastructure.
- Azure Tag collection: Collects and stores Azure tags as key-value pairs linked to VM CIs, enabling better categorization and filtering.
- License type discovery: Supports detection of Windows and Red Hat Enterprise Linux license models (BYOL or License Included) for Azure VMs and stores this information in the CMDB.
- Optional exclusions and configurations: Starting from version 1.30.2, temporary Azure Databricks VMs can be excluded to reduce short-lived CI records. From version 1.31.0, Server CIs can be created during cloud discovery without running IP-based discovery.
Practical Use and Benefits
ServiceNow customers can leverage this pattern-based discovery to maintain an accurate, up-to-date CMDB reflecting their Azure VM environments. This enables better asset management, compliance tracking, and operational insights. The detailed CI attributes and relationships support advanced service mapping, impact analysis, and automated workflows.
By excluding temporary Azure Databricks VMs, customers can reduce noise from transient resources, improving CMDB quality. The ability to create Server CIs without IP-based discovery simplifies discovery workflows in cloud environments.
What to Expect
- Accurate population of Azure VM attributes such as VM name, state, CPU, memory, disk count and size, NIC count, and install status.
- Comprehensive discovery of associated resources and their relationships, forming a clear infrastructure topology.
- Storage of Azure tags and license information for enhanced asset tracking and compliance management.
- Improved CMDB cleanliness by optionally excluding temporary Databricks VMs.
- Flexibility to create Server CIs during cloud discovery without dependency on IP-based discovery.
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.
| 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. |
| Field | Description |
|---|---|
| Object ID [object_id] | A unique identifier allocated by Azure for this Virtual Machine Scale Set instance. |
| Field | Description |
|---|---|
| Object ID [object_id] | A unique identifier for the managed disk. |
| Name [name] | Name of the managed disk. |
| 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. |
| Field | Description |
|---|---|
| Object ID [object_id] | A unique identifier for the NIC. |
| Primary [primary] | Indicates whether this NIC is the primary network interface. |
| Field | Description |
|---|---|
| Object ID [object_id] | A unique identifier for the virtual network interface endpoint. |
| Name [name] | Name of the virtual network interface endpoint. |
| 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. |
| 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. |
| 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. |
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.
| 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
- Bring Your Own License (BYOL)
- License included
- 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.
| Field | Description |
|---|---|
| Key [key] | The license type key, which is one of the following:
|
| Value [value] | The license model, which is one of the following:
|
| Configuration item [configuration_item] | References the Virtual Machine Instance [cmdb_ci_vm_instance] table. |