Qualys SGC/CMDB Sync bypassing Transform Maps and forcing CIs into Personal Computer class

pallavis5429050
Tera Contributor

I am experiencing an issue with our Qualys integration where incoming computer data is being classified into the Personal Computer (cmdb_ci_pc_hardware) table.
My Goal:
I want all of this incoming asset data to go strictly to the base Computer (cmdb_ci_computer) table instead of extending into the Personal Computer child table.
What I have checked/tried so far:

  • CI Class Mappings: Looked under Qualys CMDB Sync App > Configuration > CI Class Mappings, but there are no active rules or records mapping to cmdb_ci_pc_hardware. It seems to be falling back to an internal Qualys default.
  • Transform Map Source Scripts: I added a source script on the sys_class_name field to return "cmdb_ci_computer".
  • OnBefore Transform Scripts: I wrote an onBefore script setting target.sys_class_name = "cmdb_ci_computer".

The Issue:
Both Transform Map methods are failing. The data completely bypasses my scripts and still creates the records as Personal Computers. I suspect the Qualys integration is using the Identification and Reconciliation Engine (IRE) via a payload structure that ignores standard target mapping changes.
My Question:
Apart from writing a database-level before insert Business Rule on cmdb_ci_pc_hardware to force-switch the sys_class_name, is there an official, cleaner way to override this hardcoded Qualys class logic? Where exactly in the Qualys application configuration or Script Includes can I stop this fallback routing to the Personal Computer table?
Any guidance or code snippets to intercept the IRE payload would be highly appreciated!
If you'd like, I can:

  • Add a code snippet to the community draft showing exactly what your current onBefore script looks like
  • Refine the description based on whether you are using the Service Graph Connector or the older Qualys CMDB Sync App
3 REPLIES 3

pr8172510
Kilo Sage

Hi @pallavis5429050,

If you are using the Qualys Service Graph Connector (SGC), then the data is processed through IRE (Identification and Reconciliation Engine) and not through traditional Transform Map target scripts.

In that case, modifying
sys_class_name in Transform Maps or onBefore scripts will typically have no effect.

The class assignment is usually determined by:

  • The Service Graph Connector mapping configuration
  • The CI Type/Class mapping in the connector payload
  • IRE processing rules

A Business Rule on cmdb_ci_pc_hardware is not recommended because it can interfere with IRE and CMDB data integrity.

 check:

  • Qualys SGC CI Class Mapping configuration
  • Service Graph Connector mapping definitions
  • IRE logs (cmdb_ire_output)
  • Connector Script Includes related to CI classification

Also note that Personal Computer (cmdb_ci_pc_hardware) extends Computer (cmdb_ci_computer), so ServiceNow may be intentionally classifying the device into the more specific class based on the payload attributes.

Hi pr8172510

 

Thank you for your quick response, issue is now resolved by creating New Model Category ( Personal Computer) and associating product models to it.

 

 
 

Narsing1
Mega Sage

Hi @pallavis5429050 

Looks like you are using Qualys Bi-Directional Store app.  If so, you may do this.

1. Observe the Qualys Asset table for Hardware Category & Hardware Category 1 for the ones that is creating as Personal computer.

2. Create an entry in the Computer-CI Class Mappings with the filter condition that you found in the step 1

3. Remove the Personal computer entry.

4. Open the Qualys Asset record and click on "Approve"

 

I hope the above steps can work.  If not, try with the latest version 2.5.1, this has new features as well.

 

Thanks,

Narsing