Back to Basic CMDB

Basic CMDB Governance Guide

Lightweight data quality practices for small teams. The goal is simple: keep your CMDB accurate without creating bureaucratic overhead. Governance for a 3-object-type CMDB should take minutes per week, not hours.

📖 10 min read 📋 Governance v1.0 🆓 Free Tier

Simple Ownership Model

The CMDB Champion

For a Basic CMDB, you need one person responsible for data quality. This doesn't need to be a full-time role - typically 5-10% of someone's time.

CMDB Champion Responsibilities:

  • Weekly data quality check (5 minutes)
  • Onboard new team members to CMDB
  • Handle data quality questions
  • Decide when to upgrade to larger schema

Ideal CMDB Champion Profile:

  • IT team member with broad visibility
  • Detail-oriented
  • Already uses JSM Assets
  • Typically: IT Manager, Senior Sysadmin, or DevOps Lead

Object Type Ownership

Object Type Default Owner Backup
Person CMDB Champion IT Manager
Server Senior Sysadmin CMDB Champion
Application IT Manager CMDB Champion

RACI Matrix (Simplified)

CI Lifecycle

Activity CMDB Champion IT Team Member
Create Person R, A -
Create Server A R
Create Application A R
Update any record I R
Delete/Retire record A R
Weekly quality check R, A I

Legend: R = Responsible, A = Accountable, I = Informed, C = Consulted

Basic Data Quality Rules

Person Quality Rules

Rule ID Rule Check Query
P-001 All persons have email objectType = "Person" AND Email IS EMPTY
P-002 No duplicate emails Manual review of Person list
P-003 Inactive persons documented objectType = "Person" AND Active = "Inactive"

Server Quality Rules

Rule ID Rule Check Query
S-001 All servers have hostname objectType = "Server" AND Hostname IS EMPTY
S-002 Production servers have owners objectType = "Server" AND Environment = "Production" AND "Managed By" IS EMPTY
S-003 No duplicate hostnames Manual review or objectType = "Server" ORDER BY Hostname
S-004 Operational servers updated in 90 days objectType = "Server" AND Status = "Operational" AND updated < now(-90d)

Application Quality Rules

Rule ID Rule Check Query
A-001 All apps have names objectType = "Application" AND "Application Name" IS EMPTY
A-002 Production apps have owners objectType = "Application" AND Environment = "Production" AND "Managed By" IS EMPTY
A-003 Operational apps linked to servers objectType = "Application" AND Status = "Operational" AND "Runs On" IS EMPTY

Data Quality Scoring

Simple Scoring System

Calculate your weekly quality score:

Check Points
All production servers have owners 25
All production apps have owners 25
All active apps link to servers 25
No stale records (90+ days) 15
No inactive owners on active assets 10
Total 100

Score Interpretation

Score Status Action
90-100 Excellent Maintain current practices
70-89 Good Address gaps when convenient
50-69 Needs Work Schedule time to fix issues
Below 50 Critical Prioritize CMDB cleanup

Review Cadence

Weekly Quick Check (5 minutes)

Every Monday morning, run these queries:

1. Unowned production servers:

objectType = "Server" AND Environment = "Production" AND "Managed By" IS EMPTY

2. Unowned production apps:

objectType = "Application" AND Environment = "Production" AND "Managed By" IS EMPTY

3. Apps without servers:

objectType = "Application" AND "Runs On" IS EMPTY AND Status = "Operational"

Action: If any return results, create a task to fix within the week.

Monthly Review (30 minutes)

First Monday of each month:

  1. Calculate quality score using the scoring system above
  2. Review stale records
  3. Check for departed people
  4. Count records (People, Servers, Applications)
  5. Decision point: Is it time to upgrade to a larger schema?

Quarterly Review (1 hour)

Full data validation:

  1. Export all records to CSV
  2. Review for duplicates
  3. Verify all relationships are correct
  4. Update any outdated information
  5. Archive truly retired records

Handling Common Situations

When Someone Leaves

  1. Find their assets:
objectType = "Server" AND "Managed By".Name = "Departing Person"
objectType = "Application" AND "Managed By".Name = "Departing Person"
  1. Reassign ownership to their replacement or manager
  2. Update Person Active to "Inactive" - don't delete
  3. Document the transition date in notes if needed

When a Server is Decommissioned

  1. Check for applications:
objectType = "Application" AND "Runs On" = "server-hostname"
  1. Migrate applications to new servers first
  2. Update server status to "Non-Operational"
  3. Keep the record for historical reference

When Bad Data is Found

  1. Document the issue - what's wrong and how you found it
  2. Fix the data - correct the record
  3. Consider prevention - could a validation rule prevent this?
  4. No blame - focus on fixing, not fault-finding

Governance Checklist

Weekly (5 min)

  • Run ownership check queries
  • Fix any gaps found
  • Note any new servers/apps needed

Monthly (30 min)

  • Calculate quality score
  • Review stale records
  • Check departed people
  • Count total records
  • Assess upgrade need

Quarterly (1 hour)

  • Full data validation
  • Remove true duplicates
  • Verify relationships
  • Update outdated info
  • Growth assessment