CMDB Process Mapping Modes - Detailed Guide
Overview
The CMDB Settings component (CMDBSettings.tsx) provides a Process Mapping Configuration interface that supports five different processing modes. Each mode serves a specific purpose in the software identification and mapping workflow.
Processing Modes
1. Full Process (all) - Default Mode
Purpose: Runs the complete software mapping workflow from enrichment to application.
What it does:
- Analyzes current mapping status (optional)
- Enriches software mappings with process names
- Applies enriched mappings to CI relationships
When to use:
- Initial setup of process mappings
- Regular maintenance runs
- When you want to both discover process names AND apply them
Process Flow:
Start → Analyze Status → Enrich Mappings → Apply Mappings → Complete
(optional) (find processes) (update CIs)
Example Scenario:
- You've imported new software data and want to:
- Identify what processes belong to each software
- Apply those mappings to all related CI relationships
Configuration Options:
family: Process only specific software family (e.g., "Databases")limit: Maximum items to processskipAnalysis: Skip the initial analysis for faster processing
2. Enrich Mappings Only (enrich)
Purpose: Discovers and adds process names to software mappings without applying them to relationships.
What it does:
- Finds software mappings without process names
- Attempts to discover process names using three methods:
- Pattern Matching: Checks against known process mappings
- Discovery: Finds processes from existing CI relationships
- AI Identification: Uses Claude AI to identify processes
When to use:
- Building up your software catalog with process information
- Preparing mappings before a large-scale application
- When you want to review process names before applying
Process Flow:
Software Mapping → Check for Process Names → Try Pattern Match
→ Try Discovery
→ Try AI
→ Update Mapping
Example Scenario:
- You have a SoftwareMapping for "Microsoft SQL Server" but it lacks process names
- Enrichment will:
- Check known patterns (finds: sqlservr.exe, SQLSERVERAGENT.exe)
- Check existing CI relationships for additional processes
- Use AI if needed to identify other processes
Enrichment Sources Explained:
-
Pattern-Based (Fastest):
// Known mappings include:
- Visual C++ Redistributables → vcredist_x*.exe
- Google Chrome → chrome.exe, Google Chrome.app
- Microsoft SQL Server → sqlservr.exe, SQLSERVERAGENT.exe -
Discovery-Based (Accurate):
- Searches CI relationships where this software is already identified
- Extracts process names from those relationships
-
AI-Based (Comprehensive):
- Asks Claude AI: "What processes does Microsoft SQL Server run?"
- Returns platform-specific processes and Windows services
3. Apply Mappings Only (apply)
Purpose: Takes existing software mappings and applies them to unmapped CI relationships.
What it does:
- Finds CI relationships with process names but no application info
- Looks up software mappings for each process
- Updates relationships with software and family information
- Creates new mappings via AI for unknown processes (if confidence ≥ 0.7)
When to use:
- After enriching mappings, to apply them to relationships
- When you have new CI relationships that need mapping
- To fix relationships that lost their application data
Process Flow:
CI Relationship → Extract Process Name → Find Software Mapping
→ Update with App Info
→ Or Create New Mapping (AI)
Example Scenario:
- You have CI relationships showing "sqlservr.exe" process
- Apply mode will:
- Find the mapping for sqlservr.exe → Microsoft SQL Server
- Update the relationship with:
- Application: "Microsoft SQL Server"
- Vendor: "Microsoft"
- Software Family: "Database Management Systems"
Special Features:
- Can apply "Microsoft OS Services" to all Windows system processes at once
- Groups relationships by process for efficient bulk updates
- Creates missing mappings automatically using AI
4. Enrich Relations from Mappings (enrich-relations)
Purpose: Directly enriches CI relationships using existing software mappings, with special handling for different relationship types.
What it does:
- Finds relationships missing application or software family data
- For process-based relationships: matches by process name
- For "Installed On" relationships:
- Uses direct mapping ID from Software Instance CI
- Falls back to name-based matching
When to use:
- Quick enrichment of relationships without full processing
- When Software Instance CIs have mapping references
- To fix relationships with missing application data
Process Flow:
CI Relationship → Check Type → Process-Based: Match by Process Name
→ Installed On: Check CI for mappingId
→ Or match by CI name
→ Update Relationship
Example Scenario:
- Software Instance CI "Microsoft SQL Server 2019" has mappingId reference
- "Installed On" relationship exists but lacks application data
- Enrich-relations will:
- Look up the mapping by ID
- Apply the full mapping data to the relationship
Key Differences from Apply Mode:
- Works with both process-based AND "Installed On" relationships
- Can use direct mapping references from CIs
- Doesn't create new mappings, only uses existing ones
- Processes relationships in larger batches (100 vs grouped)
5. Fix Software CI Relationships (fix-relationships)
Purpose: Creates missing Software Family CIs and establishes proper hierarchical relationships in the CMDB.
What it does:
- Finds Software CIs with family names but no Family CI
- Creates Software Family CIs (one per family per tenant)
- Creates "Belongs To" relationships: Software → Software Family
- Creates "Instance Of" relationships: Software Instance → Software
When to use:
- After importing software data that lacks proper hierarchy
- When Software CIs have family attributes but no relationships
- To repair broken software hierarchies
- After bulk data migrations
Process Flow:
Software CI → Has Family Name? → Create Software Family CI
→ Create "Belongs To" relationship
Software Instance → Has Software Ref? → Find/Create Software CI
→ Create "Instance Of" relationship
Example Scenario:
- You have Software CIs with family: "Database Management Systems"
- But no Software Family CI exists for this family
- Fix-relationships will:
- Create "Database Management Systems" Software Family CI
- Link all database software to this family
- Ensure all Software Instances link to their Software CIs
Tenant Isolation:
- Creates separate Software Family CIs per tenant
- Maintains data isolation in multi-tenant environments
- Groups operations by customer and tenant
Mode Selection Guide
Choose "Full Process (all)" when:
- Setting up initial process mappings
- Running regular maintenance
- You want end-to-end processing
Choose "Enrich Mappings Only" when:
- Building your software catalog
- You want to review process names before applying
- Preparing for a large-scale mapping application
Choose "Apply Mappings Only" when:
- You have enriched mappings ready to use
- New CI relationships need mapping
- You want to fix unmapped relationships
Choose "Enrich Relations from Mappings" when:
- Software Instance CIs have mapping references
- You need quick relationship enrichment
- Working with "Installed On" relationships
Choose "Fix Software CI Relationships" when:
- Software hierarchy is broken or incomplete
- After bulk imports or migrations
- Software CIs have family names but no relationships
Configuration Options
Common Options (all modes except fix-relationships):
-
Software Family Filter:
- Process only specific family (e.g., "Databases", "Web Servers")
- Useful for targeted processing
- Not available for fix-relationships mode
-
Limit:
- Maximum number of items to process
- Helps control processing time
- Default: No limit (process all)
-
Skip Analysis (all, enrich, apply modes):
- Skips initial status analysis
- Faster processing
- Use when you don't need current statistics
Mode-Specific Behaviors:
- Full Process: Runs analysis by default
- Enrich/Apply: Can skip analysis for speed
- Enrich-relations: No analysis phase
- Fix-relationships: No configurable options
Performance Considerations
Batch Sizes:
- Enrich mode: AI processes 10 items at a time
- Apply mode: Groups by process name (variable batch size)
- Enrich-relations: Processes 100 relationships at a time
- Fix-relationships: Groups by family (variable batch size)
Processing Times:
- Pattern matching: Near instant
- Discovery: Fast (database queries)
- AI enrichment: ~2-5 seconds per item
- Relationship updates: Bulk operations for efficiency
Best Practices:
-
For Large Datasets:
- Use limits to process in chunks
- Skip analysis for faster processing
- Process by family to reduce scope
-
For Accuracy:
- Run enrich mode first, review results
- Then run apply mode
- Use fix-relationships periodically
-
For Performance:
- Process during off-peak hours
- Monitor AI API usage
- Use appropriate batch sizes
Monitoring and Results
Status Display Shows:
- Current Statistics: Mappings, relationships, coverage
- Process Summary: Items processed, enrichment sources
- Detailed Results: Per-process statistics
- Process Logs: Real-time processing information
Key Metrics:
- Enrichment Coverage: % of mappings with process names
- Relationship Coverage: % of relationships with application data
- Processing Success Rate: Successfully processed items
- AI Usage: Items enriched via AI
Troubleshooting
Common Issues:
-
No Process Names Found:
- Check if software name is normalized correctly
- Verify AI service is available
- Review known process mappings
-
Relationships Not Updated:
- Ensure mappings exist for the processes
- Check process name format (with/without .exe)
- Verify relationship data integrity
-
Fix Relationships No Effect:
- Check if Software CIs have family attributes
- Verify CITypes exist for Software Family
- Ensure proper tenant configuration
Debug Tips:
- Check process logs in the UI
- Review specific process results
- Monitor AI API responses
- Verify mapping confidence scores