We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

CI Name getting overridden during Discovery (SNMP Classify) – unable to retain DNS-based name

DeebikaS1775775
Mega Contributor

Hi Team,
I am facing an issue with ServiceNow Discovery (SNMP Classify) for network printer devices.
Scenario:

Device is discovered via SNMP
Class is correctly identified as Printer
DNS name is coming correctly:
AMI-PLA-CP01.teachersfcu.org


However, CI Name is getting set as:
datacard printer

 

Expected behavior:

CI Name should be derived from DNS / hostname:
AMI-PLA-CP01

 


What I checked:

Identification Rules → Working fine (falls back to name)
Reconciliation Rules → No overriding issue

 

From the discovery logs, identification is skipping multiple identifier entries and only matching based on name:

Rule 1: sys_object_source → Skipped Identifier Entry
Rule 2: product_instance_id → Skipped Identifier Entry
Rule 3: serial_number → Skipped Identifier Entry
Rule 4: serial_number → Skipped Identifier Entry
Rule 5: name → Match

Final outcome:
Exploring CI: datacard printer

 

 

This indicates that:

  • No strong identifiers (serial number, product_instance_id, etc.) are available
  • Identification falls back to name-based matching
  • The name being used is already "datacard printer", which comes from SNMP classification. How to fix this ?
5 REPLIES 5

Hi I fixed the issue today.

 

Earlier, in the SNMP Classify logic, the CI name was being set directly using the SNMP sysName value. In our printer case, the sysName was coming as ‘Datacard Printer’, which is a generic value. So the system was using that as the CI name.


Then, when we checked further, the correct hostname was already available from DNS (for example, AMI-PLA-CP01), but the existing logic was not considering it and was relying only on the SNMP value.

 

To fix this, I updated the logic to first check if a DNS name is available. If it exists, we use that as the CI name. If not, then we fall back to the SNMP sysName. After this change, the generic name ‘Datacard Printer’ is no longer used, and the correct CI name is populated consistently