Data collected for Microsoft Azure Cloud Discovery
Summarize
Summary of Data collected for Microsoft Azure Cloud Discovery
Microsoft Azure Cloud Discovery in ServiceNow collects detailed information about Azure cloud resources across datacenters. This discovery process leverages the Cloud Provisioning and Governance API along with Discovery and Service Mapping Patterns to populate the Configuration Management Database (CMDB) with accurate cloud infrastructure data.
Show less
To ensure comprehensive and up-to-date discovery, customers should keep the Discovery and Service Mapping Patterns application current, which can be managed via the ServiceNow Store. Azure cloud credentials with appropriate permissions are required to access Azure accounts and perform discovery.
Prerequisites and Setup
- Verify that the Discovery and Service Mapping Patterns application and CMDB CI Class Models Visibility Content are up to date.
- Create and configure Microsoft Azure cloud credentials with sufficient access rights.
- Set up a discovery schedule within the Cloud Discovery Workspace to automate discovery runs.
- Grant REST API permissions as outlined in the Cloud Discovery patterns spreadsheet, which also provides pattern details and links to vendor documentation. This spreadsheet is updated quarterly.
Discovery Process and Patterns
Discovery uses predefined patterns to detect various Azure resources and populate corresponding CMDB tables. Key default patterns include:
- Azure DataBase (LP): Discovers SQL servers, managed instances, MySQL, PostgreSQL, Cosmos DB, Redis, and related databases, populating the
cmdbciclouddatabasetable. - Azure LoadBalancer TD: Retrieves Azure load balancers for Service Mapping top-down discovery, populating
cmdbcilbservice. Note: This is not used for horizontal discovery. - Azure WebSite (LP): Discovers Azure web servers, populating
cmdbcicloudwebserverandcmdbciipaddresstables.
Data Collected and CMDB Tables
Discovery populates numerous CMDB tables with detailed Azure resource attributes, enabling comprehensive asset and configuration tracking. Important tables and their key fields include:
- Azure Datacenter (
cmdbciazuredatacenter): Name, region, object ID. - Availability Zone (
cmdbciavailabilityzone): Name. - Virtual Machine Instance (
cmdbcivminstance): Name, state, CPUs, memory, disks, network adapters, VM instance ID. - Compute Security Groups (
cmdbcicomputesecuritygroup): Name, state, object ID. - Images (
cmdbciostemplate): Name, guest OS, image source. - Storage Volume (
cmdbcistoragevolume): Name, state, type, size. - Cloud Networks and VMware vCenter Networks (
cmdbcinetwork,cmdbcivcenternetwork): Name, state, CIDR (not on vCenter). - Cloud Subnets (
cmdbcicloudsubnet): Name, status, CIDR. - Network Interfaces (
cmdbcinic): Name, netmask, MAC address/manufacturer, status. - Cloud Load Balancers (
cmdbcicloudloadbalancer): Name, object ID, state. - Azure Deployments (
cmdbciazuredeployment): Name, provisioning state (requires Cloud Provisioning and Governance plugin). - Resource Groups (
cmdbciresourcegroup): Name, object ID, state, operational status, install status. State and status values track lifecycle events including termination. - Public IP Addresses (
cmdbcicloudpublicipaddress): Name, public IP, DNS. - Storage Accounts (
cmdbcicloudstorageaccount): Name, SKU, state. - Cloud Databases (
cmdbciclouddatabase): Domain name, name, object ID, operational status, type, state, vendor, version (version info may be missing for some databases), with category info for Azure SQL Managed Instances. - Cloud Web Servers (
cmdbcicloudwebserver): Name, install status, vendor, domain name, operational status, state. - IP Addresses (
cmdbciipaddress): Domain name, install status, IP address, netmask, operational status, vendor. - Database (
cmdbcidatabase): Life-cycle stage status, name, status, serial number, type. - Compute Template (
cm
Discovery collects information about cloud resources in Microsoft Azure datacenters. Discovering some of these resources may require updating to the latest version of the Discovery and Service Mapping Patterns application from the ServiceNow Store.
Request apps on the Store
Visit the ServiceNow Store website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the ServiceNow Store version history release notes.
Prerequisites
- Verify that the applications are up to date
-
- Discovery and Service Mapping Patterns
- CMDB CI Class Models
- Visibility Content
- Create Azure cloud credentials
- Create Microsoft Azure credentials that can access the Microsoft Azure account. For more information, see Create Azure cloud credentials.
- Configure a discovery schedule
- Create a discovery schedule in Cloud Discovery Workspace
Verify the REST API Permissions
Download the Cloud Discovery patterns spreadsheet so you can grant user permissions required for running the Discovery patterns. In addition to permissions, the spreadsheet also includes useful information such as pattern names, types, CI Classes, and links to vendor documentation. New patterns are available quarterly, so check periodically to be sure you have the latest version of the spreadsheet.
How Discovery finds Microsoft Azure resources
Discovery uses the Cloud Provisioning and Governance API and Discovery and Service Mapping Patterns to find cloud resources.
| Pattern | Description |
|---|---|
| Azure DataBase (LP) |
Discovers database types of:
Populates the [cmdb_ci_cloud_database] table. |
| Azure LoadBalancer TD | Retrieves Microsoft Azure load balancers and populates the cmdb_ci_lb_service table. This pattern is only used by Service Mapping for top-down discovery, not by the Discovery application for horizontal discovery. |
| Azure WebSite (LP) | Retrieves Microsoft Azure web servers and populates the Cloud WebServers [cmdb_ci_cloud_webserver] and IP address [cmdb_ci_ip_address] tables. |
Data collected by Discovery during horizontal discovery
| Label | Field Name |
|---|---|
| Name | name |
| Region | region |
| Object ID | object_id |
| Label | Field Name |
|---|---|
| Name | name |
| Label | Field Name |
|---|---|
| Name | name |
| State | state |
| Object ID | object_id |
| CPUs | cpus |
| Disks | disks |
| Disks size (GB) | disks_size |
| Memory | memory |
| Network adapters | nics |
| VM Instance ID | vm_inst_id |
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| State | state |
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| Guest OS | guest_os |
| Image source | image_source |
| Label | Field Name |
|---|---|
| Name | name |
| State | state |
| Object ID | object_id |
| Storage type | storage_type |
| Size | size |
| Label | Field Name |
|---|---|
| Name | name |
| State* | state |
| CIDR* | cidr |
| Label | Field Name |
|---|---|
| Name | name |
| Status | status |
| CIDR | cidr |
| Label | Field Name |
|---|---|
| Name | name |
| Netmask | netmask |
| MAC Address | mac_address |
| MAC Manufacturer | mac_manufacturer |
| Status | install_status |
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| State | state |
| Label | Field Name |
|---|---|
| Name | name |
| Provisioning state | provisioning_state |
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| State | state |
| Operational Status | operational_status |
| Install Status | install_status |
- When a resource group is discovered for the first time, the State field is set to Available, operational_status=Operational, and Status=Installed; based on the response mapping.
- When a resource group is terminated on Microsoft Azure, the CMPReconciler scripts set the State field to Terminated, and operational_status=Non-Operational and Status=Absent.
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| Public IP address | public_ip_address |
| Public DNS | public_dns |
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| Sku Name | sku_name |
| State | state |
| Label | Field Name |
|---|---|
| Fully qualified domain name | fqdn |
| Name | name |
| Object ID | object_id |
| Operational Status | operational_status |
| Type | type |
| State | state |
| Vendor | vendor |
| Version | version Note: For NoSQL and MSSQL Managed Instances, the API responses for these databases do not return version data. |
| Category* | category |
| Label | Field Name |
|---|---|
| Name | name |
| Install status | install_status |
| Vendor | vendor |
| Fully qualified domain name | fqdn |
| Operational status | operational_status |
| State | state |
| Label | Field Name |
|---|---|
| Fully qualified domain name | fqdn |
| Install status | install_status |
| IP Address | ip_address |
| Name | name |
| Netmask | netmask |
| Operational status | operational_status |
| Vendor | vendor |
| Label | Field Name |
|---|---|
| Life-cycle Stage Status | life_cycle_stage_status |
| Name | name |
| Status | status |
| Serial Number | serial_number |
| Type | type |
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| VCPUS | vcpus |
| Label | Field Name |
|---|---|
| Name | name |
| Object ID | object_id |
| Provider | provider |
| vCPUs | vcpus |