Skip to content

Import, Esportazione & Automazione nella OTOBO-CMDB

La OTOBO-CMDB offre potenti interfacce e funzioni di automazione per mantenere sempre aggiornati i dati degli asset e semplificare i compiti ricorrenti.


1. Integrazione dei dati tramite API REST e SOAP

  • API REST

    • Operazioni CRUD sulle classi CI e DynamicFields
    • Payload JSON: integrazione semplice e leggera
    • Autenticazione: basata su token o autenticazione di base
  • API SOAP

    • Sistemi legacy e funzionalità approfondite
    • Payload XML con descrizioni WSDL
    • Sessioni con stato e metodi estesi per collegamenti CI

Best Practice

  1. Elaborazione batch: importare dati in lotti per evitare timeout.
  2. Gestione degli errori: controllare i codici di ritorno e i log di sistema ("SysLog").
  3. Limitazione della velocità: prestare attenzione ai limiti API per evitare blocchi.

2. Import/Esportazione basata su file (CSV, XML)

  • Import/Esportazione CSV

    • Associazione dei campi: nomi delle colonne → nomi dei campi DynamicField
    • Separatore, set di caratteri e intestazione configurabili
    • Aggiornamento massa per CI esistenti tramite attributo chiave (ad esempio nome o ID)
  • Import/Esportazione XML

    • Strutture complesse e campi annidati
    • Mapping tramite fogli di stile XSLT possibili
    • Utilizzo in client SOAP e strumenti di terze parti

Flusso di lavoro

  1. Generare modello: esportare innanzitutto un esempio di CSV/XML.
  2. Arricchire i dati: adattare i valori e convalidarli localmente.
  3. Avviare l'importazione: tramite interfaccia agent o script CLI.
  4. Verificare il risultato: controllare i log per righe di errore e avvisi.

3. Auto-Discovery & Sincronizzazione

  • Scansione della rete: rilevamento di reti IP, dispositivi e servizi
  • Discovery basata su agenti: agenti locali segnalano dettagli del sistema alla CMDB
  • Integrazione di strumenti esterni: Ansible, Puppet, SCCM, Nagios, ecc.

Funzionalità

  • Scansioni pianificate: pianificare scansioni di inventario regolari.
  • Sovrascrittura vs arricchimento: configurare regole per il comportamento di aggiornamento.
  • Risoluzione dei conflitti: revisione manuale o priorità automatica dei dati vecchi rispetto a quelli nuovi.

4. Trigger nelle definizioni CI

  • Trigger
    • Attivare azioni in caso di modifiche ai campi (ad esempio notifica, assegnazione automatica)
    • Configurazione diretta in YAML sotto VersionTrigger o tramite script
yaml
VersionTrigger:
  - DefinitionUpdate
  - ValueUpdate
  • Casi d'uso

    • Aggiornare automaticamente il log di inventario dopo la modifica di un numero di serie
    • Inviare una notifica via email quando scade la data di scadenza di un certificato

5. VersionTriggers

  • VersionTrigger: controlla quando viene creata una nuova versione CI

  • Valori comuni

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

Vantaggio

Cronologia delle versioni di tutte le modifiche per la tracciabilità e la conformità agli audit.


6. Campi script (ScriptTemplateToolkit)

  • Campi calcolati: somma, media, blocchi di testo dinamici
  • Sintassi: TemplateToolkit ([% … %])
yaml
DynamicFields:
  TotalRAMGB:
    FieldType: ScriptTemplateToolkit
    Label: RAM totale (GB)
    Config:
      Expression: |
        [% Count = DynamicField_RAMCount %]
        [% Size  = DynamicField_RAMSize %]
        [% Total = Count * Size %]
        [% Total %] GB
      RequiredArgs:
        - DynamicField_RAMCount
        - DynamicField_RAMSize
      Readonly: '1'

Scenari di utilizzo

  • Valori cumulativi (ad esempio memoria totale)
  • Calcoli di stato (ad esempio "critico" al raggiungimento di determinate soglie)
  • Generazione di testo (ad esempio descrizioni di asset con segnaposto)

7. Unire l'automazione e le interfacce

  1. Importazioni automatiche: combinare il lavoro REST con l'importazione CSV nei cron job.
  2. Discovery + Trigger: rilevare nuovi dispositivi e avviare automaticamente la creazione di CI.
  3. Reporting: utilizzare campi script e cronologia delle versioni per report automatizzati tramite API.

Con questi meccanismi, nella OTOBO-CMDB è possibile integrare processi in modo trasparente, garantire la qualità dei dati e minimizzare le attività di routine manuali.