Import, Eksport & Automatyzacja w OTOBO-CMDB
OTOBO-CMDB oferuje potężne interfejsy i funkcje automatyzacji, aby utrzymać dane o zasobach na bieżąco i uprościć powtarzające się zadania.
1. Integracja danych za pomocą interfejsów API REST i SOAP
API REST
- Operacje CRUD na klasach CI i polach dynamicznych
- Ładunek JSON: prosta i lekka integracja
- Uwierzytelnianie: oparte na tokenach lub uwierzytelnianie podstawowe
API SOAP
- Systemy legacy i głęboka funkcjonalność
- Ładunek XML z opisami WSDL
- Sesje stanowe i metody dla połączeń CI
Najlepsze praktyki
- Przetwarzanie partii: Importuj dane partiami, aby uniknąć limitów czasu.
- Obsługa błędów: Sprawdź kody zwrotne i wpisy w dzienniku („SysLog”).
- Limitowanie szybkości: Zwróć uwagę na limity API, aby uniknąć blokad.
2. Import/Eksport oparty na plikach (CSV, XML)
Import/Eksport CSV
- Mapowanie pól: nazwy kolumn → nazwy pól dynamicznych
- Możliwość konfiguracji separatorów, zestawu znaków i nagłówka
- Aktualizacja masowa istniejących CI za pomocą atrybutu klucza (np. nazwa lub ID)
Import/Eksport XML
- Złożone struktury i zagnieżdżone pola
- Możliwość mapowania za pomocą arkuszy stylów XSLT
- Używany w klientach SOAP i narzędziach zewnętrznych
Przepływ pracy
- Generuj szablon: Najpierw wyeksportuj przykładowy plik CSV/XML.
- Wzbogać dane: Dostosuj wartości i zwaliduj je lokalnie.
- Uruchom import: Za pomocą interfejsu agenta lub skryptu CLI.
- Sprawdź wynik: Sprawdź protokoły pod kątem wierszy błędów i ostrzeżeń.
3. Auto-Discovery & Synchronizacja
- Skanowanie sieci: Wykrywanie sieci IP, urządzeń i usług
- Discovery oparty na agencie: Lokalne agenci zgłaszają szczegóły systemu do CMDB
- Integracja zewnętrznych narzędzi: Ansible, Puppet, SCCM, Nagios itp.
Funkcje
- Skanowanie czasowe: Zaplanuj regularne przebiegi inwentaryzacyjne.
- Nadpisanie vs. wzbogacenie: Skonfiguruj reguły dotyczące zachowania podczas aktualizacji.
- Rozwiązywanie konfliktów: Ręczna kontrola lub automatyczna priorytetyzacja starych vs. nowych danych.
4. Wyzwalacze w definicjach CI
- Wyzwalacze
- Wywołują akcje podczas zmian pól (np. powiadomienie, Auto-Assign)
- Konfiguracja bezpośrednio w YAML pod
VersionTrigger
lub za pomocą skryptu
yaml
VersionTrigger:
- DefinitionUpdate
- ValueUpdate
Przykłady zastosowań
- Po zmianie numeru seryjnego automatycznie aktualizuj logi inwentarzowe
- Przy upływie daty ważności certyfikatu wyślij przypomnienie e-mail
5. VersionTriggers
VersionTrigger: Steruje, kiedy tworzyć nową wersję CI
Typowe wartości
NameUpdate
ConfigItemCreate
ValueUpdate
DefinitionUpdate
yaml
VersionStringModule: Incremental
VersionTrigger:
- ConfigItemCreate
- ValueUpdate
Zalety
Historia wersji wszystkich zmian dla śledzenia i zgodności z przepisami.
6. Pola skryptowe (ScriptTemplateToolkit)
- Polą obliczeniowe: Suma, średnia, dynamiczne bloki tekstu
- Składnia: TemplateToolkit (
[% … %]
)
yaml
DynamicFields:
TotalRAMGB:
FieldType: ScriptTemplateToolkit
Label: Łączna pamięć RAM (GB)
Config:
Expression: |
[% Count = DynamicField_RAMCount %]
[% Size = DynamicField_RAMSize %]
[% Total = Count * Size %]
[% Total %] GB
RequiredArgs:
- DynamicField_RAMCount
- DynamicField_RAMSize
Readonly: '1'
Scenariusze użycia
- Wartości kumulatywne (np. łączna pojemność dysku)
- Obliczenia stanu (np. „krytyczny” przy określonych progach)
- Generowanie tekstu (np. opisy zasobów z symbolami zastępczymi)
7. Łączenie automatyzacji i interfejsów
- Automatyczne importy: Połącz zadanie REST z importem CSV w zadaniach Cron.
- Discovery + Wyzwalacz: Wykryj nowe urządzenia i uruchom automatycznie tworzenie CI.
- Raportowanie: Użyj pól skryptowych i historii wersji do automatycznego generowania raportów za pomocą API.
Z tymi mechanizmami można w OTOBO-CMDB bezproblemowo integrować procesy, zapewniać jakość danych i minimalizować ręczne zadania rutynowe.