📖 Guides
CMDB Population Guide

CMDB Population Guide

A CMDB is only valuable if it's accurate. This guide covers the three ways to get data in: migration (historical data), discovery (automated), and manual (the exception, not the rule).

🚫

Never start with manual data entry at scale. A 5,000-row spreadsheet import creates 5,000 records that will be wrong within 90 days with no automated correction mechanism.

Phase 1 — Define Your CI Scope

Before importing anything, define which CI classes you need:

Priority 1 (Day 1):
  ✓ Servers (physical + virtual)
  ✓ Network devices (routers, switches, firewalls)
  ✓ Databases
  ✓ Business applications (top 20)

Priority 2 (Month 2):
  ✓ Storage devices
  ✓ Cloud resources (AWS EC2, RDS, S3)
  ✓ Middleware (web servers, app servers)

Priority 3 (Month 3+):
  ✓ Endpoints (laptops, desktops)
  ✓ Printers and peripherals
  ✓ Mobile devices

Phase 2 — Discovery Setup

ServiceNow Discovery

Navigator → Discovery → Discovery Schedules → New

Name: Production Network Discovery
Type: IP Range
IP Ranges: 10.0.0.0/8 (adjust to your network)
Credentials: Windows (WMI) + Linux (SSH) + SNMP
Schedule: Weekly (Sunday 02:00)
MID Server: [your MID server name]

Discovery probes to enable:

  • Windows - Software (installed software inventory)
  • Linux - Hardware (hardware specs)
  • SNMP - Network (network device topology)
  • VMware - vCenter (virtual machine inventory)

Phase 3 — Data Migration

For existing CMDB data in spreadsheets or legacy tools:

Export and clean source data

Export to CSV. Clean in Excel or Python:

  • Remove duplicate records (same hostname, different row)
  • Standardise naming conventions (srv-prod-01 not Production Server 1)
  • Map your CI classes to the target platform's schema

Transform to import format

import pandas as pd
 
df = pd.read_csv('existing_assets.csv')
 
# Standardise hostname format
df['name'] = df['hostname'].str.lower().str.strip()
 
# Map OS to platform CI class
os_map = {
    'Windows Server 2019': 'Windows Server',
    'RHEL 8': 'Linux Server',
    'Ubuntu 22.04': 'Linux Server',
}
df['ci_class'] = df['os_version'].map(os_map)
 
df.to_csv('import_ready.csv', index=False)

Import via platform API

# ServiceNow Import Set API
curl -X POST \
  "https://[instance].service-now.com/api/now/import/u_cmdb_import_set" \
  -H "Authorization: Bearer [token]" \
  -H "Content-Type: application/json" \
  -d @import_ready.json

Reconcile and validate

After import, run the platform's reconciliation rules to merge duplicate CIs and establish relationships. In ServiceNow: CMDB → CI Lifecycle Management → Reconciliation.


CMDB architecture and implementation consulting → (opens in a new tab)

Digital Kimya — MENA & Europe

Ready to implement what you've read?

Our ITSM practitioners deliver ITIL 4 & 5 projects across ServiceNow, Jira SM, SMAX and BMC Helix — from initial assessment to full ESM deployment.

🚀 ITIL Implementation🔧 ITSM Platform Setup📊 Assessment & Roadmap🏭 Industry-Specific Projects
🌍 MENA & Europe🎯 ITIL 4 & 5 Certified🏢 6 Industries covered Assessment in 2 weeks
contact@digitalkimya.net