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
- Elaborazione batch: importare dati in lotti per evitare timeout.
- Gestione degli errori: controllare i codici di ritorno e i log di sistema ("SysLog").
- 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
- Generare modello: esportare innanzitutto un esempio di CSV/XML.
- Arricchire i dati: adattare i valori e convalidarli localmente.
- Avviare l'importazione: tramite interfaccia agent o script CLI.
- 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
- Importazioni automatiche: combinare il lavoro REST con l'importazione CSV nei cron job.
- Discovery + Trigger: rilevare nuovi dispositivi e avviare automaticamente la creazione di CI.
- 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.