Skip to content

Import, Export & Automatisierung in der OTOBO-CMDB

Die OTOBO-CMDB bietet mächtige Schnittstellen und Automatisierungs-Funktionen, um Ihre Asset-Daten stets aktuell zu halten und wiederkehrende Aufgaben zu vereinfachen.


1. Datenintegration per REST- und SOAP-APIs

  • REST-API

    • CRUD-Operationen auf CI-Klassen und DynamicFields
    • JSON-Payloads: Einfache und leichtgewichtige Integration
    • Authentifizierung: Token-basiert oder Basic Auth
  • SOAP-API

    • Legacy-Systeme und tiefe Funktionalität
    • XML-Payloads mit WSDL-Beschreibungen
    • State-ful Sessions und umfangreiche Methoden für CI-Verknüpfungen

Best Practices

  1. Batch-Verarbeitung: Daten in Chargen importieren, um Timeouts zu vermeiden.
  2. Fehler-Handling: Überprüfen Sie Rückgabecodes und Log-Einträge („SysLog“).
  3. Rate-Limiting: Achten Sie auf API-Limits, um Sperrungen zu verhindern.

2. Dateibasierter Import/Export (CSV, XML)

  • CSV-Import/Export

    • Feldzuordnung: Spaltennamen → DynamicField-Namen
    • Trennzeichen, Zeichensatz und Kopfzeile konfigurierbar
    • Massenupdate für bestehende CIs per Schlüsselattribut (z. B. Name oder ID)
  • XML-Import/Export

    • Komplexe Strukturen und verschachtelte Felder
    • Mapping über XSLT-Stylesheets möglich
    • Nutzung bei SOAP-Clients und Dritt-Tools

Workflow

  1. Vorlage generieren: Exportieren Sie zunächst ein Beispiel-CSV/XML.
  2. Daten anreichern: Passen Sie Werte an und validieren Sie lokal.
  3. Import starten: Über Agent-Interface oder CLI-Skript.
  4. Ergebnis prüfen: Protokolle auf Fehlerzeilen und Warnungen prüfen.

3. Auto-Discovery & Synchronisation

  • Netzwerk-Scanning: Erkennen von IP-Netzwerken, Geräten und Diensten
  • Agent-Based Discovery: Lokale Agenten melden System-Details an die CMDB
  • Integration externer Tools: Ansible, Puppet, SCCM, Nagios, u. v. m.

Features

  • Zeitgesteuerte Scans: Planen Sie regelmäßige Inventarisierungsläufe.
  • Überschreibung vs. Anreicherung: Konfigurieren Sie Regeln zum Update-Verhalten.
  • Konfliktauflösung: Manuelles Review oder automatische Priorisierung alter vs. neuer Daten.

4. Trigger in CI-Definitionen

  • Trigger
    • Lösen Aktionen bei Feldänderungen aus (z. B. Notification, Auto-Assign)
    • Konfiguration direkt in YAML unter VersionTrigger oder per Skript
yaml
VersionTrigger:
  - DefinitionUpdate
  - ValueUpdate
  • Anwendungsfälle

    • Nach Änderung einer Seriennummer automatisch Inventar-Log aktualisieren
    • Bei Ablaufdatum eines Zertifikats E-Mail-Erinnerung versenden

5. VersionTriggers

  • VersionTrigger: Steuert, bei welchen Events eine neue CI-Version angelegt wird

  • Gängige Werte

    • NameUpdate
    • ConfigItemCreate
    • ValueUpdate
    • DefinitionUpdate
yaml
VersionStringModule: Incremental
VersionTrigger:
  - ConfigItemCreate
  - ValueUpdate

Vorteil

Versions-History aller Änderungen zur Nachvollziehbarkeit und Audit-Compliance.


6. Skript-Felder (ScriptTemplateToolkit)

  • Berechnete Felder: Summe, Durchschnitt, dynamische Textbausteine
  • Syntax: TemplateToolkit ([% … %])
yaml
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'

Einsatzszenarien

  • Kumulierte Werte (z. B. Gesamtspeicher)
  • Statusberechnungen (z. B. „kritisch“ bei bestimmten Schwellen)
  • Textgenerierung (z. B. Asset-Beschreibungen mit Platzhaltern)

7. Automatisierung und Schnittstellen zusammenführen

  1. Automated Imports: Kombinieren Sie REST-Job mit CSV-Import in Cron-Jobs.
  2. Discovery + Trigger: Erkennen Sie neue Geräte und starten Sie CI-Erstellung automatisch.
  3. Reporting: Nutzen Sie Skript-Felder und Version-History für automatisierte Berichte via API.

Mit diesen Mechanismen lassen sich in der OTOBO-CMDB Prozesse nahtlos integrieren, Datenqualität sichern und manuelle Routineaufgaben minimieren.