Import, Export & Automation in the OTOBO-CMDB
Import, Export & Automation in the OTOBO-CMDB
Section titled “Import, Export & Automation in the OTOBO-CMDB”The OTOBO-CMDB offers powerful interfaces and automation functions to keep your asset data up to date and simplify recurring tasks.
1. Data Integration via REST and SOAP APIs
Section titled “1. Data Integration via REST and SOAP APIs”-
REST-API
- CRUD operations on CI classes and DynamicFields
- JSON payloads: Simple and lightweight integration
- Authentication: Token-based or Basic Auth
-
SOAP-API
- Legacy systems and deep functionality
- XML payloads with WSDL descriptions
- State-ful sessions and extensive methods for CI links
Best Practices
Section titled “Best Practices”- Batch processing: Import data in batches to avoid timeouts.
- Error handling: Check return codes and log entries (“SysLog”).
- Rate limiting: Pay attention to API limits to prevent blocking.
2. File-based Import/Export (CSV, XML)
Section titled “2. File-based Import/Export (CSV, XML)”-
CSV Import/Export
- Field mapping: Column names → DynamicField names
- Delimiter, character set, and header configurable
- Bulk update for existing CIs via key attribute (e.g., name or ID)
-
XML Import/Export
- Complex structures and nested fields
- Mapping via XSLT stylesheets possible
- Usage with SOAP clients and third-party tools
Workflow
Section titled “Workflow”- Generate template: First, export an example CSV/XML.
- Enrich data: Adjust values and validate locally.
- Start import: Via Agent interface or CLI script.
- Check result: Check logs for error lines and warnings.
3. Auto-Discovery & Synchronization
Section titled “3. Auto-Discovery & Synchronization”- Network scanning: Detection of IP networks, devices, and services
- Agent-based discovery: Local agents report system details to the CMDB
- Integration of external tools: Ansible, Puppet, SCCM, Nagios, and many more.
Features
Section titled “Features”- Scheduled scans: Schedule regular inventory runs.
- Overwrite vs. enrichment: Configure rules for update behavior.
- Conflict resolution: Manual review or automatic prioritization of old vs. new data.
4. Triggers in CI Definitions
Section titled “4. Triggers in CI Definitions”- Trigger
- Trigger actions upon field changes (e.g., notification, auto-assign)
- Configuration directly in YAML under
VersionTriggeror via script
VersionTrigger: - DefinitionUpdate - ValueUpdate-
Use cases
- Automatically update inventory log after a serial number change
- Send email reminder upon certificate expiration
5. VersionTriggers
Section titled “5. VersionTriggers”-
VersionTrigger: Controls which events trigger the creation of a new CI version
-
Common values
NameUpdateConfigItemCreateValueUpdateDefinitionUpdate
VersionStringModule: IncrementalVersionTrigger: - ConfigItemCreate - ValueUpdateAdvantage
Section titled “Advantage”Version history of all changes for traceability and audit compliance.
6. Script Fields (ScriptTemplateToolkit)
Section titled “6. Script Fields (ScriptTemplateToolkit)”- Calculated fields: Sum, average, dynamic text modules
- Syntax: TemplateToolkit (
[% … %])
DynamicFields: TotalRAMGB: FieldType: ScriptTemplateToolkit Label: Total RAM (GB) Config: Expression: | [% Count = DynamicField_RAMCount %] [% Size = DynamicField_RAMSize %] [% Total = Count * Size %] [% Total %] GB RequiredArgs: - DynamicField_RAMCount - DynamicField_RAMSize Readonly: '1'Use cases
Section titled “Use cases”- Cumulative values (e.g., total storage)
- Status calculations (e.g., “critical” at certain thresholds)
- Text generation (e.g., asset descriptions with placeholders)
7. Combining Automation and Interfaces
Section titled “7. Combining Automation and Interfaces”- Automated Imports: Combine REST jobs with CSV imports in cron jobs.
- Discovery + Trigger: Detect new devices and start CI creation automatically.
- Reporting: Use script fields and version history for automated reports via API.
With these mechanisms, processes can be seamlessly integrated into the OTOBO-CMDB, data quality can be ensured, and manual routine tasks can be minimized.