Excluding AVDs and Ephemeral servers

Krishn36
Tera Contributor

We've been working for over a year to extract usable Cloud data from our CMDB to support the "Active Vendor Support" control for OS/DB. unable to report accurately on our cloud data (using azure service graph connector to ServiceNow)

Major blockers: retrieve/filter Databricks and AVD servers from over all server list

Has anyone found a reliable method or filtering option to extract AVD and Databricks server data from Azure—perhaps via security groups, tags, or another metadata source? Any insights or workarounds would be greatly appreciated.

1 REPLY 1

AJ-TechTrek
Giga Sage
Giga Sage

Hi @Krishn36 ,


As per my Understanding Problem Summary


You're using the Azure Service Graph Connector, but:
* You can’t filter or identify AVD (Azure Virtual Desktop) and Databricks VMs from the overall Azure server list.
* This is blocking reporting and compliance related to OS/DB support tracking.


Let’s break it into technical root causes, then solve step by step.

 

Why this happens (Root Cause)
* The Azure Service Graph Connector populates data in tables like:
* cmdb_ci_computer
* cmdb_ci_virtual_machine
* cmdb_ci_cmp_resource
* However, Databricks and AVD VMs often:
* Appear just as generic VMs in the CMDB.
* Lack distinguishing metadata like OS type, app role, or vendor context unless custom tagging or integration enrichment is done.

 

Solution will be helpful

1. Use Azure Tags at Source
The most reliable and scalable approach is to enforce Azure tagging of Databricks and AVD servers at the subscription or resource group level, and then use these tags in ServiceNow.
Example Tag Strategy:
* Tag Name: ServiceType
* Tag Value: Databricks or AVD
Then, ensure Service Graph pulls these tags into the CMDB via:
* cmdb_ci_cmp_resource or cmdb_ci_virtual_machine > Tag table relationships
* Or the cmdb_tag table linked via cmdb_tag_set

 

2. Create CMDB Views or Scripted Filters
Once tagged, build saved filters, reports, or transform maps using:


A. CMDB Query Example:
Table: cmdb_ci_virtual_machine
Filter:
Class = Azure VM
AND [Tags] CONTAINS 'ServiceType:AVD'


B. Join with cmdb_tag table:
If needed, join via:
* cmdb_ci_virtual_machine.sys_id = cmdb_tag_set.cmdb_ci
* Filter: cmdb_tag.name = ServiceType AND cmdb_tag.value = AVD or Databricks

 

3. Add Identification Rules if Needed
If tags aren’t available or consistent, consider custom CI Identification rules to:
* Match VMs by name patterns (e.g., *dbks*, *avd*)
* Or based on associated services or network configs
This is less reliable and requires ongoing maintenance.

 

4. Leverage Azure Metadata (Advanced)
If tagging isn’t enforced, explore metadata fields like:
* vmMetadata.agentType
* vmMetadata.imageReference
* vmMetadata.compute.resourceType
In Service Graph payloads or directly from Azure Resource Graph (ARG)

 

You can then:
* Extend the import set transform maps


* Or write post-import scripts to auto-tag/label based on patterns

5. Use Cloud Management Workspace (Optional)
If you are licensed for Cloud Management Workspace (CMW) or ITOM Visibility, you can:
* Enable cloud resource grouping
* Define custom group filters for reporting on subsets like AVD or Databricks
* Use Cloud Insights Dashboards

 

Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
 

Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025