Discovery & IRE Deep Dive
The Identification and Reconciliation Engine (IRE) is the gatekeeper for all CI data entering the CMDB. It prevents duplicates, manages conflicts between data sources, and determines the authoritative value for every field. Understanding IRE is the single most important skill for CIS-DF.
Why IRE Exists High Priority
Without a gatekeeper, every import and every Discovery run would simply overwrite CI data. Imagine: Discovery finds a server and sets its hostname to "WEB-01". An hour later, a CSV import from the asset management system arrives with hostname "web-server-01" for the same physical machine. Without IRE, whichever ran last wins — creating either duplicates or incorrect overwrites.
The Identification and Reconciliation Engine (IRE) solves this in three phases:
- Identification — Is this CI already in the CMDB? Find the existing record, or create a new one if it's genuinely new. Never create a duplicate.
- Reconciliation — Multiple sources are reporting values for this CI. Which source should win for each field? Apply the authoritative source rules.
- Deduplication — After identification and reconciliation, detect near-duplicate CIs (records that represent the same real-world device) and merge them. See Part 4 Topic 4 for the full deduplication workflow.
Identification Rules & Identification Entries High Priority
Identification Rules define how IRE determines if an incoming CI payload matches an existing CI in the CMDB. There is one Identification Rule per CI class (or inherited from a parent class).
Each Identification Rule contains one or more Identification Entries. Each Entry specifies a set of fields that, when matched, uniquely identify a CI. Think of Identification Entries as the "fingerprints" — multiple fingerprints can identify the same person.
How Identification Works Step-by-Step
Identification Entry Configuration
Each Identification Entry has:
- Priority — Integer (1 = highest priority). IRE tries entries in order; the first match wins.
- Attributes — one or more field names from the CI class that must ALL match (AND logic). Example: "serial_number" alone, or "name + ip_address".
- Qualifier — optional filter to restrict which CIs this entry applies to (e.g., only apply if OS = Linux).
- Related Entries — match via related CI values (e.g., match the server by its network adapter's MAC address).
cmdb_ci_computer
has an Identification Rule, cmdb_ci_server inherits it unless a more
specific rule is defined for servers. This means you don't need to create separate
rules for every subclass — define at the right level of the hierarchy.
Reconciliation Rules High Priority
Once IRE identifies the target CI, it moves to the second phase: Reconciliation. Multiple data sources may all report different values for the same CI field. Reconciliation Rules determine which source wins for each field.
Each Reconciliation Rule specifies:
- CI Class — which CI type this rule applies to
- Field — which specific field is being governed (e.g.,
ip_address) - Data source precedence — ordered list of data sources; higher position = higher authority
- Action — what to do: Accept (use the value), Reject (ignore this source's value), or Merge
Reconciliation Precedence Example
For the os_version field on servers, you might configure:
- Discovery (highest authority — it read the OS directly from the server)
- ServiceNow CMDB Agent
- Third-party ITSM import (lowest authority — manual data entry is less reliable)
If Discovery reports "Windows Server 2022" and the ITSM import reports "Windows 2019," Discovery wins. The ITSM value is stored but not applied to the active field value.
What Happens When No Rule Matches
If no Reconciliation Rule covers a specific field/source combination:
- By default, the incoming value overwrites the existing value (last-write-wins)
- This is the dangerous default — it means any source can overwrite any field if no rule protects it
- Best practice: create Reconciliation Rules for all fields that could be updated by multiple sources
Discovery Architecture
ServiceNow Discovery is the automated process of scanning your network to find and inventory CIs. It runs on a schedule or on demand, communicates with devices and applications, and sends the discovered data through IRE into the CMDB.
Key Discovery Components
Discovery → CMDB Flow
Service Graph Connectors and IRE
Service Graph Connectors (SGCs) are the recommended integration pattern for getting third-party data into the CMDB. Unlike raw Import Sets that write directly to tables, SGCs explicitly route data through IRE.
| Feature | Service Graph Connector | Import Set (direct write) |
|---|---|---|
| IRE Identification | ✓ Always passes through IRE | ✗ Bypasses IRE by default |
| Duplicate prevention | ✓ IRE deduplicates | ✗ Can create duplicates |
| Reconciliation rules honored | ✓ Yes | ✗ No — writes directly |
| Source tagging | ✓ Tagged for reconciliation | Limited |
| Setup complexity | Higher (requires SGC install) | Lower |
| Recommended for CMDB | ✓ Yes | Only if SGC not available |
SGC payloads include the source system identifier and the CI class with identification attributes. IRE uses these to match the incoming payload against existing CIs and apply the configured Reconciliation Rules for that source.
cmdb_ci_server (target table is the CI table),
IRE is not involved. This means no duplicate checking, no reconciliation rules, and no
source tagging. This is the main reason direct Import Set writes to CMDB tables are
discouraged — they undermine CMDB data integrity.
To route Import Sets through IRE, use the CMDB Identification Utility (IRE API) in transform scripts.
Duplicate CIs and CMDB Deduplication
Despite IRE's best efforts, duplicates can still enter the CMDB — especially through legacy Import Sets that bypass IRE, or when Identification Rules are misconfigured. ServiceNow provides tools to detect and resolve duplicates.
CMDB Dedupe Dashboard
- Shows CI records flagged as potential duplicates by IRE (multiple match condition)
- Allows viewing duplicate pairs side by side to compare field values
- Provides actions: Merge (combine into one), Delete (remove the less accurate one), or Mark as Not Duplicate
Merge Behavior
When merging two duplicate CIs, ServiceNow must decide which field values to keep. The merge process:
- Designates one as the "winner" (master) and one as the "loser" (duplicate)
- Applies Reconciliation Rule logic to determine which value survives for each field
- Updates all references (incidents, changes, relationships) that pointed to the loser to point to the winner
- Marks the loser record as decommissioned or deletes it
IRE Tables Reference
IRE configuration lives in a small set of tables. Knowing these table names is tested:
| Table | Purpose |
|---|---|
| cmdb_identifier | Identification Rule — one per CI class; links to Identification Entries |
| cmdb_identifier_entry | Identification Entry — the specific field combinations used for matching |
| cmdb_reconciliation_rule | Reconciliation Rule — field-level authoritative source configuration |
| cmdb_datasource_filter | Data Source Filter — restrict which CIs a source can create/update |
| cmdb_ire_event | IRE event log — tracks each payload processed, result, and any errors |
Common Exam Traps — Discovery & IRE
- IRE has three phases: Identification (find/create CI), Reconciliation (apply authoritative field values), then Deduplication (detect and merge duplicate CIs) — see Part 4 for full detail
- Identification Rule = one per CI class; contains one or more Identification Entries
- Identification Entry attributes = AND logic (all must match); multiple Entries = OR logic
- Priority on Entries: lower number = tried first
- No Reconciliation Rule = last writer wins (dangerous default)
- SGCs route through IRE; direct Import Set writes to CMDB tables bypass IRE
- Discovery updates CIs through IRE — never updates Asset records
- MID Server = Java agent in your network; runs probes, sends results to ServiceNow
- Probes collect raw data; Sensors transform probe output into CI payloads
- Merge re-points all references from loser to winner — does NOT delete referenced records
- IRE tables:
cmdb_identifier,cmdb_identifier_entry,cmdb_reconciliation_rule
Practice Questions
4 questions · Select an answer to see the explanation immediately.
An Identification Entry lists "name" and "ip_address" as its attributes. A payload arrives with name="WEB-01" but no ip_address field. What does IRE do with this entry?
B is correct. Identification Entry attributes use AND logic — ALL fields in the entry must be present in the payload for the entry to even attempt a match. If ip_address is missing, the entire entry is skipped. IRE then tries the next entry (lower priority, higher number) in sequence. This is a common cause of duplicate CI creation: Discovery doesn't collect a key identifier field, so IRE skips the matching entry and creates a new record every run.