What is CMDB? Configuration items, relationships and what it is for
A CMDB (configuration management database) records what each configuration item is, where it sits, what it connects to and what depends on it. An asset register answers "what do we have"; a CMDB also answers "what breaks if we touch this", the question behind change assessment and troubleshooting.
What is CMDB? CMDB stands for configuration management database. It records every “configuration item” (CI) in an IT environment — servers, switches, IP addresses, operating systems, applications, even racks and customers — along with their attributes and, more importantly, the relationships between them: which rack a server sits in, which switch port it is cabled to, which IP addresses it uses, which customer’s workload it runs. Those relationships are what let an operations team see who will be affected before a change, and where to look when something breaks.
Where the term comes from: ITIL
The term CMDB comes from ITIL, the IT service management framework. ITIL defines configuration management as a process: identify, record, control and verify every configuration item that matters to delivering an IT service, together with the relationships between them. The database that holds those records is the CMDB. ITIL later added the idea of a configuration management system (CMS): large organizations rarely have a single CMDB, because network, server and application teams each keep their own data sources, and the CMS federates them into one view.
Three elements fall out of that definition:
| Element | Meaning | Example |
|---|---|---|
| Configuration item (CI) | An object under management with a unique identifier | Server SRV-0231, switch SW-A03, IP 103.45.12.37 |
| Attributes | Fields that describe a CI | Model, serial number, CPU, rack, status, owner |
| Relationships | Directed links between CIs | SRV-0231 “is located in” rack A03; SRV-0231 “is connected to” SW-A03 port GE1/0/12 |
The word “configuration” misleads people into thinking a CMDB stores configuration files. It does not. A CMDB stores what the environment is made of and how the pieces fit together; the configuration files themselves normally live in version control, and the CMDB holds at most a reference to them.
What counts as a configuration item
Configuration items are not limited to hardware. Common CI types in a data center:
| CI type | Examples | Key attributes |
|---|---|---|
| Location | Data center, rack, rack unit | Address, power capacity, rack height, units in use |
| Hardware | Server, switch, router, PDU, firewall | Model, serial number, asset tag, BMC address, install date |
| Component | Disk, memory module, NIC, power supply | Batch, capacity, host device, RMA history |
| Network resource | IP block, IP address, VLAN, switch port | CIDR, gateway, VLAN ID, port speed |
| Software | Operating system, database, middleware | Version, install date, license |
| Service | Customer order, public-facing service, internal system | Customer, SLA, expiry date |
| People and organizations | Customer, operations team, vendor | Contact details, scope of responsibility |
| Document | Network diagram, runbook, contract | Version, effective date |
Every CI needs an identifier that is never reused — an asset tag, a serial number or a system-generated ID — otherwise relationships have nothing to point at.
The relationship model: what separates a CMDB from an inventory list
An inventory is a flat table with one row per device. A CMDB is a graph: the nodes are CIs and the edges are relationships. Common relationship types:
| Relationship | Direction | Example |
|---|---|---|
| Located in | Device → location | Server → rack A03, units 10–11 |
| Connected to | Port → port | Server eth0 → switch port GE1/0/12 |
| Uplinks to | Device → device | Access switch SW-A03 → core switch CORE-A |
| Uses | Device → network resource | Server → IP 103.45.12.37, VLAN 120 |
| Powered by | Device → power device | Server → PDU A03-L outlet 7 |
| Contains | Device → component | Server → disk D-240311-07 |
| Runs | Device → software | Server → Ubuntu 22.04 |
| Leases | Customer → device | Customer C1024 → server SRV-0231 |
| Depends on | Service → service | Customer website → database instance |
Centered on one server, the CMDB looks like this:
Customer C1024 --leases--> Server SRV-0231
Server SRV-0231 --located in--> Rack A03, U10-U11
Server SRV-0231 --powered by--> PDU A03-L outlet 7 / PDU A03-R outlet 7
SRV-0231 eth0 --connected to--> Switch SW-A03 port GE1/0/12 (VLAN 120)
SRV-0231 bmc --connected to--> Switch SW-MGMT-A port GE1/0/12
Server SRV-0231 --uses--> Public IP 103.45.12.37, IPMI 10.1.16.37
Switch SW-A03 --uplinks to--> Core switch CORE-A port XGE1/0/3
With this graph, “we need to upgrade the firmware on SW-A03” becomes a query: follow the “connected to” edges backwards to find every server on that switch, then follow “leases” to get the customer list. That is change impact analysis.
What a CMDB is used for: four typical scenarios
Change impact analysis. Every change request starts with a question to the CMDB: which CIs are affected if we touch this one? Take replacing a line card in core switch CORE-A. The CMDB follows the “uplinks to” edges to every access switch, then on to every server and customer behind them. The change notice goes out to an accurate list, and the maintenance window can be set around customer SLAs.
Troubleshooting. Customer C1024 reports that their server is unreachable. The CMDB says: rack A03, switch SW-A03 port GE1/0/12, VLAN 120, power from PDU A03-L outlet 7. The engineer walks that chain — is the port down, is the VLAN right, is the PDU outlet live — instead of first asking the customer where their machine is. In the other direction, when SW-A03 raises a port alarm, you know immediately which customers are affected.
Asset lifecycle. A server moves through procurement, installation, assignment, reclaim and disposal, and each state is an update in the CMDB. Disks and memory are stocked by batch, so you can trace which machine a part went into and when it was sent back for RMA. At audit time, “where is this machine and who is using it” no longer means digging through email.
Capacity and compliance. How many rack units are free, which IP block is nearly exhausted, which PDU is close to its rated load: each is an aggregate query against the CMDB. Audits such as ISO 27001 or SOC 2 expect the asset inventory and network diagram to match reality, and the CMDB is the evidence you hand to the auditor.
CMDB vs asset management: what is the difference
The two are often confused because their scopes overlap (both contain servers), but they answer different questions:
| Asset management system | CMDB | |
|---|---|---|
| Question answered | How many, what are they worth, who is responsible | How are they connected, what depends on them, what breaks if we change them |
| Objects managed | Physical items with financial value: servers, air conditioners, furniture, vehicles | Anything that matters to an IT service, including logical objects such as IPs, VLANs, software and services |
| Core fields | Purchase price, depreciation, custodian, storage location | Attributes plus relationships |
| Processes driven | Procurement, issue, stocktaking, disposal | Change, incident, problem, release |
| Updated when | A finance or administrative event happens | Any technical change happens |
| Used by | Finance, administration, asset managers | Operations, network engineers, change managers |
A simple test: desks and air conditioners belong in the asset system but not in the CMDB; VLANs, IP blocks and customer orders belong in the CMDB but the asset system does not care about them. Physical servers appear in both, and the practical approach is to share one asset tag so the two systems can be matched record for record.
A sample CI model for a small data center
Take a colocation and dedicated server provider with three rows of racks and 300 servers on lease. A workable CI model needs only nine types:
| CI type | Rough count | Required attributes | Relationships |
|---|---|---|---|
| Data center | 1–2 | Name, address, power and bandwidth capacity | Contains racks |
| Rack | 30 | ID, height (U), data center | Contains devices |
| PDU | 60 | ID, rack, rated current | Powers devices |
| Switch | 40 | Model, management IP, rack, rack unit | Uplinks to core; ports connect to servers |
| Server | 300 | Asset tag, model, serial number, BMC address, rack and unit, status | Connects to switch port; uses IPs; powered by PDU; leased by customer |
| Component | By batch | Type, batch, quantity, host device | Contained in server |
| IP block / IP address | 20 blocks, 5,000 addresses | CIDR, type, VLAN, gateway, status | Used by server |
| VLAN | 50 | ID, purpose, switch | Carries IP block |
| Customer and order | 200 | Name, contact details, expiry date | Leases server |
Settle the naming convention while you design the model. For example, rack A03 is the third rack in row A; a server’s asset tag is SRV-0231; the switch in that rack is SW-A03; the two PDUs are A03-L and A03-R for the left and right strips. Names that carry location information tell you where something is at a glance and are much harder to mistype.
Do not aim for completeness on day one. These nine types are enough for day-to-day troubleshooting and change queries in a data center. Application-layer items — middleware, databases, dependencies between microservices — can be added when someone actually needs to query them.
How to keep a CMDB accurate
A CMDB fails for one reason above all others: the data drifts from reality, people stop trusting it, and then nobody updates it. Keeping it accurate comes down to four practices:
- Automate discovery first. Read a server’s CPU, memory and disks with a discovery script, pull port state and MAC tables from switches over SNMP, find device-to-device links with LLDP, and reconcile IP-to-MAC mappings against the ARP table. Reserve manual entry for what a machine cannot read, such as the customer and the contract.
- Keep two sources side by side. Store the manually entered configuration and the discovered result together. When they disagree, raise a record to verify rather than silently overwriting one with the other. That is how swapped parts and moved machines get noticed.
- Tie it to the change process. Installing, decommissioning, re-cabling and re-addressing must be done in the system before anyone goes to the floor, and a change ticket cannot be closed until the CMDB is updated.
- Audit on a schedule. Once a quarter, scan the subnets to compare live addresses with records, spot-check racks against recorded rack units, and drive the difference to zero.
In a hosting environment most of this is already built into DCIM. Rack and asset management in Toplink DCIM organizes everything as data center → rack → rack unit → device, runs a discovery script on each server to collect hardware details and keep the history, and shows manual entries and discovered values side by side. IP address management records which server each address is assigned to, which VLAN a block lives in and which switch holds its gateway, and the server list shows which switch port every machine is connected to. For a provider that leases servers and rack space, that is the CMDB for the data center layer. To see how DCIM divides the work with environmental monitoring and asset systems, read what DCIM is.
FAQ
What is the relationship between a CMDB and DCIM?
DCIM manages a data center's physical and network resources and already tracks how racks, servers, switch ports and IP addresses relate, so it acts as the CMDB for that layer. A separate application-level CMDB is only needed when you also manage a large estate of applications, middleware and databases on top.
How much detail should a CMDB record?
Record what you will look up during a change or an outage. In a data center that means servers, switch ports, IP addresses and PDU outlets. Disks and memory modules can be tracked by batch; there is no need for a configuration item per DIMM.
How does a CMDB relate to monitoring?
Monitoring collects metrics and raises alerts; the CMDB tells monitoring who owns a device, where it is connected and what it affects. A common setup syncs the object list from the CMDB into monitoring and adds rack, port and customer details to each alert, so the notification reaches the right person.