CIS-DF Hub Part 4: IRE IRE Architecture
⬡ Part 4 · Topic 1

IRE Architecture — The Engine That Keeps Your CMDB Clean

You've learned about three data ingestion pathways: Import Sets, Service Graph Connectors, and Discovery. All three eventually hand their data to the same engine — the Identity and Reconciliation Engine (IRE). IRE is the gatekeeper of the CMDB. It prevents duplicates, resolves conflicts, and ensures that only accurate, reconciled data makes it into CI records.

📋 9 sections ~35 min read 🎯 ~19% exam weight (INGEST domain) 🏷 IRE · Identification · Reconciliation · IRE API · Payload

The Multi-Source Problem That IRE Solves

Modern IT environments have dozens of tools that each know something about your infrastructure. AWS Config knows your EC2 instances. VMware knows your virtual machines. Discovery scans the OS level. Manual import adds contract information. Each source has accurate data — but they don't always agree, and they don't know about each other.

Without a centralized intelligence layer, CMDB quality collapses:

  • Duplicates: AWS says "i-0123abc" is a server at 10.0.1.5. Discovery also finds something at 10.0.1.5 and creates a separate CI. Now you have two CIs for the same machine.
  • Data wars: AWS says cpu_count=8. Your old spreadsheet import says cpu_count=4. The last writer wins — and the last writer is whoever ran most recently, not whoever is most accurate.
  • Phantom CIs: A server was decommissioned. The Import Set from the old CMDB still has a record for it. It keeps getting re-created.

IRE solves all three problems: it identifies existing CIs, reconciles conflicting field values using source authority rules, and detects duplicates before they are created.

⚖️
Analogy — IRE as a Master Registry Imagine a government's master citizen registry. Ten different agencies (passport, tax, health, voting) each have records about citizens. Without a master registry, the same person might have different spellings, different addresses, and different IDs across agencies. The master registry holds the canonical record, receives updates from all agencies, applies rules ("passport address overrides tax address"), and rejects attempts to create duplicate citizen records. IRE is that master registry for your CMDB.

IRE's Three Processing Phases

Every time data arrives at IRE — from Discovery, SGC, Import Set, or direct API call — it goes through three sequential phases. Understanding these phases is the foundation of everything else in Part 4.

Phase 1: Identification

IRE asks: "Does this CI already exist in the CMDB?"

It uses Identification Rules for the CI class to try to match the incoming CI payload against existing records. For example: "This incoming CI is a Linux server with serial number SN-12345. Does a CI with that serial number already exist in cmdb_ci_linux_server?"

  • Match found: This is an update. Proceed to Reconciliation with the existing CI's sys_id.
  • No match found: This is a new CI. IRE will create a new record. Skip Reconciliation and go directly to CMDB write.
  • Multiple matches found: This is a potential duplicate situation. Proceed to Deduplication (Phase 3).

Phase 2: Reconciliation

IRE asks: "This CI already exists and multiple sources have values for its fields — which source's value should win?"

It uses Reconciliation Rules to determine source precedence for each field. For example: "The ip_address field is owned by Discovery. The owned_by field is owned by Manual Entry. The cost_center field is owned by the ITSM connector." Each source can update only the fields it owns.

A source that is not authoritative for a field cannot overwrite that field's value, even if it provides a different value. This prevents low-quality sources from overwriting data set by authoritative sources.

Phase 3: Deduplication Detection

IRE asks: "Are there existing CI records that represent the same physical or logical entity as each other?"

Deduplication runs as a separate process (or triggered by Phase 1 finding multiple matches). When potential duplicates are found, IRE can either:

  • Automatically merge them according to a remediation playbook
  • Flag them for manual review by creating a remediation task

Deduplication and Remediation Playbooks are covered in depth in Topic 4 of this Part.

Trigger
Incoming CI Payload
Structured CI data arrives from any ingestion pathway. IRE receives the same input format regardless of source.
Discovery Service Graph Connector Import Set IRE API (direct)
1
Phase 1
Identification
"Does this CI already exist in the CMDB?" — Applies Identification Rules for the CI class (e.g., match on serial number, IP address, or name).
Match Found
Existing CI Located
Payload linked to the existing record's sys_id. Continues to Phase 2 Reconciliation.
No Match
New CI Created
No existing record found — IRE creates a new CI stub, then proceeds to Phase 2.
Multiple Matches
Duplicate Flagged
More than one CI matches — escalated directly to Phase 3 Deduplication.
2
Phase 2
Reconciliation
"Which source's value wins for each field?" — Applies Reconciliation Rules with a per-field priority tier. Higher-priority sources overwrite lower-priority ones; non-authoritative values are silently discarded.
Authoritative
Field Written
Source has the highest priority for this field — value is written to the CI record in CMDB.
Not Authoritative
Field Ignored
Another source has higher priority — incoming value is discarded; existing authoritative value is preserved.
Output
CMDB Record Written
CI record created or updated with only the authoritative field values from each source. The discovery_source field is stamped with the ingestion source name.
3
Phase 3 — Parallel Process
Deduplication Detection
Runs continuously in the background — not triggered sequentially after Phase 2. IRE scans for existing CI pairs that appear to represent the same physical or logical entity.
Auto-Merge Eligible
IRE Auto-Merges
One CI merged into the other per a Remediation Playbook. Non-surviving record deleted; all relationships transferred to the surviving CI.
Needs Review
Remediation Task Created
IRE creates a CMDB Remediation Task assigned to a team or person to investigate and resolve the duplicate manually.

The IRE API — How Data Enters IRE

IRE is not a UI feature — it's an internal API. Data ingestion systems (Discovery, SGC, Import Sets with IRE configuration) send structured payloads to the IRE API, which then processes them through the three phases.

The key tables involved in IRE API processing:

  • cmdb_ci_payload_pending — Queue of incoming CI payloads awaiting processing
  • cmdb_ire_event — Log of IRE processing events (success, failure, what happened to each CI)
  • cmdb_ire_identification — Records of identification decisions made by IRE

What a CI Payload Contains

When Discovery or SGC sends data to IRE, it's structured as a payload containing:

  • The CI class (e.g., cmdb_ci_linux_server)
  • Field values (hostname, IP, serial number, OS version, etc.)
  • The source label (which tool is sending this — "ServiceNow Discovery", "AWS SGC", etc.)
  • Relationships to other CIs in the same payload (for batch processing)
💡
Key Concept — The discovery_source Field One of the most important fields IRE sets when creating or updating a CI is discovery_source. This records which tool last successfully updated the CI record. Values like "ServiceNow", "AWS Service Graph Connector", "Chef", "Manual" are common. This field helps you audit the origin of CI data and is used by Reconciliation Rules to determine source authority.

Using the IRE API Directly

Developers can call the IRE API directly (without going through Discovery or SGC) using the ServiceNow scripted REST API or background scripts. This is useful for custom integrations that aren't served by existing SGCs. When you call the IRE API:

  • All three IRE phases run exactly as they do for Discovery/SGC data
  • Your integration benefits from deduplication and reconciliation automatically
  • This is the correct way to build custom CMDB integrations — not direct Table API writes
Exam Trap — IRE API vs. Table API IRE API = goes through all three phases (Identification + Reconciliation + Deduplication detection). This is always correct for CMDB writes. Table API (direct REST POST to a CMDB table) = bypasses all IRE phases. Risk: duplicates, data overwrite, no deduplication. When a question asks "how should a custom integration add CIs to the CMDB?", the answer is always "use the IRE API" or "use an SGC" — never direct Table API.

IRE Sources and Source Labels

Every piece of data that IRE processes is tagged with a source label — the name of the ingestion tool that sent it. Source labels are the foundation of Reconciliation Rules.

How Source Labels Are Assigned

  • Discovery: Automatically labeled "ServiceNow" (the platform's internal Discovery)
  • SGC: Each connector has a unique source label (e.g., "ServiceNow AWS", "ServiceNow VMware", "ServiceNow GitHub")
  • Import Sets with IRE: The source label is the Data Source record's name
  • Custom IRE API calls: The source label is provided by the integration code

The Precedence Order (Out of the Box)

ServiceNow ships with a default source order that determines which source wins when multiple sources have values for the same field. You can customize this. Default order (high to low):

  1. Manual Entry — A human explicitly set this value; highest trust
  2. ServiceNow (Discovery) — Active scan found this value directly from the device
  3. ServiceNow Service Graph Connectors — API-sourced data from cloud/monitoring providers
  4. Orchestration — Values set by automated workflows
  5. Third-party integrations — Custom Import Sets and external tools

This default order can be completely overridden per CI class and per field through Reconciliation Rules (Topic 3 of this Part).

💡
Tip — Source Precedence Is Per Field, Not Per Source A common misconception: "SGC is ranked below Discovery, so Discovery always wins." That's not how it works. Reconciliation Rules are per-field. Discovery might be authoritative for cpu_count but SGC for AWS might be authoritative for instance_type. Each field has its own authority chain independently.

IRE and CI Class Hierarchy

IRE processes CIs within the context of the CMDB class hierarchy (fully covered in Part 5). This is critical because Identification Rules and Reconciliation Rules are class-specific — the rules for cmdb_ci_linux_server are different from the rules for cmdb_ci_network_adapter.

A key IRE behavior: rules can be defined at a parent class and inherited by child classes, or overridden at the child class level. For example:

  • A general Identification Rule for cmdb_ci_computer (parent of all computers) that matches on IP address
  • A more specific Identification Rule for cmdb_ci_linux_server (child) that additionally checks serial number
  • IRE uses the most specific matching rule — the Linux server rule wins over the generic computer rule

CI Class Determination by IRE

When incoming data says the CI class is cmdb_ci_linux_server, IRE enforces this class assignment. If the data contains field values that don't exist on cmdb_ci_linux_server, IRE ignores those fields. This prevents data quality issues from schema mismatches.

Warning — Wrong CI Class in the Payload = Missing Fields If a Discovery pattern or SGC sends a CI with the wrong class (e.g., sends cmdb_ci_computer when it should be cmdb_ci_linux_server), IRE creates the CI in that wrong class. Linux-specific fields won't be available. Always verify the CI class in Discovery patterns and SGC configurations.

Monitoring IRE — The IRE Log

Every CI that passes through IRE generates a log entry. These logs are your primary diagnostic tool when Discovery or SGC produces incorrect or missing CMDB data.

Accessing the IRE Log

Navigate to Configuration → CMDB → Identification/Reconciliation or search for cmdb_ire_event.

Key Fields in IRE Log Records

Field What It Shows
CI class Which CMDB table was targeted
Action insert (new CI), update (existing CI), no_change, failed, skipped
Source Which tool sent this data (discovery, SGC name, import source)
Matched on Which Identification Rule was used to find the existing CI
sys_id The CI record that was created or updated
Error message If action = failed, what specifically went wrong
Duplicate candidates Any other CIs identified as potential duplicates

Common IRE Log Error Messages

  • "No identification rule found for class X" — IRE received a CI of class X but has no Identification Rule to match it against. Fix: create or enable an Identification Rule for class X.
  • "Multiple CIs match identification criteria" — IRE found more than one existing CI matching the incoming data. Fix: investigate duplicate CIs using Deduplication tools.
  • "CI payload missing required identification attributes" — The incoming payload doesn't contain the fields the Identification Rule needs. Fix: update the Discovery pattern or SGC mapping to include those fields.
Exam Pattern — IRE Log is the Diagnostic Starting Point When any CMDB ingestion is producing unexpected results (wrong CIs, missing CIs, duplicate CIs, missing fields), the first place to look is the IRE Log (cmdb_ire_event). This is true for Discovery, SGC, and custom integrations. The exam tests this repeatedly: "Where would an administrator look to understand why an SGC is not creating CI records?"

The Multi-Source CMDB — IRE's Core Value

The concept of a Multi-Source CMDB is that multiple tools can each contribute their specialized data to the same CI record, and IRE manages whose data is authoritative for which fields.

This is a fundamental architectural shift from traditional CMDBs where one tool "owns" the CI. In a multi-source CMDB:

  • AWS SGC creates the CI and sets cloud attributes (instance_type, ami_id, availability_zone)
  • Discovery enriches the CI with OS attributes (kernel_version, installed_software)
  • Service Mapping adds relationships (this CI is used by Application Service X)
  • Manual entry sets business attributes (owned_by, cost_center, business_criticality)
  • IRE Reconciliation Rules ensure each source only updates its authorized fields
💡
Key Concept — IRE Enables the Multi-Source CMDB Without IRE, you have to choose one authoritative source for each CI class — if Discovery creates the CI, then SGC shouldn't also try to update it. With IRE, you can have five different sources all contributing to the same CI without conflict, because IRE's Reconciliation Rules define exactly which source is authoritative for each field. This is the only way to build a complete, accurate CMDB from multiple automated sources.

IRE Performance and Processing

IRE processes CI payloads asynchronously via a queue. Understanding this helps you set correct expectations for when CMDB records appear after a Discovery or SGC run.

  • Queue processing: After Discovery completes, CI payloads are queued. IRE processes them in order, not instantly. Large environments (10,000+ CIs in one run) may see a delay of minutes to hours before all records appear in the CMDB.
  • Batch vs. single-CI API: Both IRE API modes exist. Batch is more efficient for bulk ingestion (Discovery, SGC); single-CI is for real-time API integrations.
  • IRE queue monitoring: Under Configuration → CMDB → IRE Processing Queue, you can see pending payloads and their status. If the queue is growing without decreasing, IRE processing may be stalled.

IRE Architecture — Key Facts

  • IRE = Identity and Reconciliation Engine. Gatekeeper of CMDB. All Discovery and SGC data passes through it.
  • Three phases: (1) Identification — does this CI exist? (2) Reconciliation — which source owns each field? (3) Deduplication — are there duplicate CIs?
  • Identification Rules are per CI class. Match incoming data against existing CIs using key attributes.
  • Reconciliation Rules define source authority per field. Authoritative source's value wins; others are ignored.
  • IRE API = correct way for custom integrations. Table API (direct REST POST) bypasses IRE — always wrong for multi-source environments.
  • discovery_source field records which tool last successfully updated the CI.
  • IRE Log (cmdb_ire_event) = diagnostic starting point for all CMDB ingestion issues.
  • Multi-source CMDB: Multiple tools contribute different fields to the same CI. IRE prevents conflicts.
  • No Identification Rule = no CI created. IRE drops the payload if no matching rule exists for the CI class.
  • IRE processes asynchronously. After Discovery runs, there may be a delay before CMDB records appear.

Term Grid

IRE (Identity & Reconciliation Engine)
ServiceNow's central processing engine for all CMDB ingestion. Runs three phases: Identification, Reconciliation, Deduplication detection.
Identification Phase
IRE Phase 1. Determines if incoming CI already exists in CMDB using Identification Rules. Result: match (update), no match (create), or multiple matches (dedup).
Reconciliation Phase
IRE Phase 2. Determines which source is authoritative for each field. Authoritative source's value wins; non-authoritative values are ignored.
IRE Log (cmdb_ire_event)
Audit trail of every CI processed by IRE. Shows action (insert/update/failed), which rule matched, and error messages. Primary diagnostic tool.
Multi-Source CMDB
Architecture where multiple tools each contribute specialized data to the same CI record. IRE's Reconciliation Rules prevent conflicts.
Source Label
The name of the tool that sent data to IRE. Used by Reconciliation Rules to determine authority. E.g., "ServiceNow", "ServiceNow AWS", "Manual".

Practice Questions

Click any question to reveal the answer and explanation.

1. A developer builds a custom integration using the ServiceNow REST Table API to insert CI records directly into cmdb_ci_server. What critical CMDB quality problem does this approach introduce?
A) The records will fail authentication and not be saved
B) The records bypass IRE, meaning no deduplication, no reconciliation, and potential duplicate CIs
C) The records are placed in a staging table and require manual approval
D) The records are saved but marked as low-quality and hidden from reports
💡 What does IRE prevent that a direct write cannot?
Answer: B — Direct Table API writes bypass IRE entirely. This means: no Identification (duplicates can be created), no Reconciliation (last-write-wins regardless of source authority), and no deduplication detection. The correct approach for custom integrations is to call the IRE API so all three phases execute.
2. An SGC runs successfully and fetches 1,000 CI records. The IRE log shows action="failed" for all 1,000 with error "No identification rule found for class cmdb_ci_cloud_vm". What is the root cause?
A) The SGC credentials are invalid
B) The MID Server is offline
C) IRE has no Identification Rule configured for the cmdb_ci_cloud_vm CI class
D) The CMDB is at maximum capacity
💡 The error message is explicit. IRE received data but couldn't process it for what reason?
Answer: C — IRE requires an Identification Rule for each CI class before it can process incoming data. "No identification rule found" means IRE received the payload but has no rule to determine whether these CIs are new or existing. Fix: create an Identification Rule for cmdb_ci_cloud_vm with appropriate matching criteria (e.g., match on instance_id field).
3. Both Discovery and an AWS SGC are updating the same cmdb_ci_vm_instance CI. Discovery sets cpu_count=4. The SGC sets cpu_count=8. The CI consistently shows cpu_count=4 after both run. What determines this outcome?
A) Discovery always wins — it runs more frequently
B) The last-write-wins — whichever ran most recently wins
C) A Reconciliation Rule specifies that "ServiceNow Discovery" is the authoritative source for the cpu_count field
D) IRE averages the two values and picks the closest integer
💡 IRE's source authority model determines field-level winners.
Answer: C — Reconciliation Rules define which source is authoritative per field. If Discovery is the authoritative source for cpu_count, then Discovery's value (4) always wins regardless of when SGC ran. The SGC value (8) is stored in the source data but not written to the CI field because SGC is not authoritative for cpu_count. This is the entire point of Reconciliation Rules.
4. After Discovery runs, an administrator is confused because the CMDB doesn't immediately show new CI records. The Discovery Status shows the run completed successfully. What is the expected explanation?
A) Discovery results require manual approval before appearing in the CMDB
B) IRE processes CI payloads asynchronously from a queue; large runs may take minutes to hours before all records appear
C) The Discovery Behavior needs to be set to "Immediate Write" mode
D) Discovery completed but the MID Server hasn't sent results yet
💡 IRE queue processing is asynchronous.
Answer: B — After Discovery completes, CI payloads are placed in the IRE processing queue. IRE processes them asynchronously — in order, not instantly. For large environments, the queue may take significant time to process. The Discovery Status showing "complete" means Discovery gathered the data, not that IRE finished writing it all to the CMDB.
5. Where should an administrator look first when an SGC appears to run successfully but CI records are not appearing or are incorrectly populated in the CMDB?
A) The Transform Map log in Import Set administration
B) The Discovery Status record for the SGC schedule
C) The CMDB IRE Event log (cmdb_ire_event)
D) The MID Server ECC Queue output records
💡 SGC data goes through IRE. What log records IRE processing decisions?
Answer: C — All data from SGC passes through IRE, and the cmdb_ire_event log records exactly what IRE did with each incoming CI: insert, update, failed, skipped. The log shows which Identification Rule matched, which Reconciliation decisions were made, and exact error messages. Transform Map logs (A) don't apply to SGC (no Import Sets used).

Practice Questions

4 questions · Select an answer to see the explanation immediately.

IRE Architecture Quiz 1 / 4

A developer uses the REST Table API to POST new CI records directly to cmdb_ci_server. What is the critical problem with this approach?

💡 Explanation

B is correct. Direct Table API writes to CMDB tables bypass IRE entirely. This means no Identification (so duplicates can be freely created), no Reconciliation (last-write-wins regardless of source quality), and no deduplication detection. The correct approach for custom integrations is to use the IRE API so all three phases execute. This is one of the most tested exam traps: always use IRE API, never direct Table API, for CMDB writes.

An SGC runs successfully but the IRE log shows action="failed" with error "No identification rule found for class cmdb_ci_cloud_vm" for all records. What must be done?

💡 Explanation

B is correct. IRE requires an Identification Rule for every CI class before it can process incoming payloads. "No identification rule found" means IRE received data for cmdb_ci_cloud_vm but has no rule to determine if these CIs are new or existing. Create an Identification Rule with appropriate Identifier Entries (e.g., match on cloud instance ID). ServiceNow-published SGC plugins create these automatically, but custom classes need manual rule creation.

Both Discovery and an AWS SGC update the same cmdb_ci_vm_instance CI. Discovery sets cpu_count=4; the SGC sets cpu_count=8. The CI consistently shows cpu_count=4. What determines this outcome?

💡 Explanation

C is correct. Reconciliation Rules define per-field source authority. If Discovery is the authoritative source for cpu_count, Discovery's value wins regardless of when the SGC ran. The SGC value is stored in source data but not applied to the CI field because SGC is not authoritative for cpu_count. This eliminates the "last-write-wins" problem — source authority, not recency, determines field values.

Where should an administrator look first when an SGC appears to run successfully but CI records are missing or incorrectly populated in the CMDB?

💡 Explanation

C is correct. All SGC data passes through IRE, and cmdb_ire_event logs every processing decision: insert, update, failed, skipped — along with which Identification Rule matched and exact error messages. This is always the first diagnostic step for CMDB ingestion issues. Transform Map logs (A) don't apply to SGC since SGC doesn't use Import Sets. The IRE log is the universal diagnostic starting point for all CMDB data quality issues.

← Agent Client Collector Identification Rules →