Import, Eksport i Automatyzacja w OTOBO-CMDB
OTOBO-CMDB oferuje potężne interfejsy i funkcje automatyzacji, aby Twoje dane zasobów były zawsze aktualne i upraszczały powtarzalne zadania.
1. Integracja danych przez API REST i SOAP
API REST
- Operacje CRUD na klasach CI i DynamicFields
- Payloady JSON: Prosta i lekka integracja
- Uwierzytelnianie: Oparte na tokenach lub Basic Auth
API SOAP
- Systemy starszej generacji i głęboka funkcjonalność
- Payloady XML z opisami WSDL
- Sesje stanu (State-ful) i obszerne metody dla powiązań CI
Najlepsze praktyki
- Przetwarzanie wsadowe: Importuj dane w partiach, aby uniknąć przekroczenia limitu czasu.
- Obsługa błędów: Sprawdzaj kody powrotu i wpisy w logach („SysLog“).
- Ograniczanie szybkości (Rate-limiting): Zwracaj uwagę na limity API, aby zapobiec blokadom.
2. Import/Eksport oparty na plikach (CSV, XML)
Import/Eksport CSV
- Mapowanie pól: Nazwy kolumn → Nazwy DynamicField
- Separator, zestaw znaków i nagłówek konfigurowalne
- Masowa aktualizacja istniejących CI za pomocą atrybutu kluczowego (np. Nazwa lub ID)
Import/Eksport XML
- Złożone struktury i zagnieżdżone pola
- Mapowanie możliwe za pomocą arkuszy stylów XSLT
- Użycie w klientach SOAP i narzędziach stron trzecich
Przepływ pracy
- Generuj szablon: Najpierw wyeksportuj przykładowy plik CSV/XML.
- Wzbogać dane: Dostosuj wartości i zweryfikuj lokalnie.
- Rozpocznij import: Poprzez interfejs agenta lub skrypt CLI.
- Sprawdź wynik: Sprawdź protokoły pod kątem błędnych wierszy i ostrzeżeń.
3. Auto-Discovery i Synchronizacja
- Skanowanie sieci: Wykrywanie sieci IP, urządzeń i usług
- Discovery oparte na agentach: Agenci lokalni zgłaszają szczegóły systemu do CMDB
- Integracja narzędzi zewnętrznych: Ansible, Puppet, SCCM, Nagios i wiele innych.
Funkcje
- Skanowanie zaplanowane czasowo: Planuj regularne przebiegi inwentaryzacji.
- Nadpisywanie vs. Wzbogacanie: Konfiguruj reguły dotyczące zachowania aktualizacji.
- Rozwiązywanie konfliktów: Ręczny przegląd lub automatyczne priorytetyzowanie starych vs. nowych danych.
4. Wyzwalacze w definicjach CI
- Wyzwalacze (Triggers)
- Wyzwalają akcje przy zmianach pól (np. powiadomienie, automatyczne przypisanie)
- Konfiguracja bezpośrednio w YAML pod
VersionTriggerlub za pomocą skryptu
yaml
VersionTrigger:
- DefinitionUpdate
- ValueUpdatePrzypadki użycia
- Po zmianie numeru seryjnego automatycznie zaktualizuj log inwentaryzacyjny
- Po dacie ważności certyfikatu wyślij przypomnienie e-mail
5. VersionTriggers
VersionTrigger: Kontroluje, przy jakich zdarzeniach tworzona jest nowa wersja CI
Typowe wartości
NameUpdateConfigItemCreateValueUpdateDefinitionUpdate
yaml
VersionStringModule: Incremental
VersionTrigger:
- ConfigItemCreate
- ValueUpdateKorzyść
Historia wersji wszystkich zmian dla możliwości śledzenia i zgodności z audytem.
6. Pola skryptowe (ScriptTemplateToolkit)
- Pola obliczeniowe: Suma, średnia, dynamiczne fragmenty tekstu
- Składnia: 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'Scenariusze użycia
- Wartości skumulowane (np. całkowita pamięć RAM)
- Obliczenia statusu (np. „krytyczny“ przy określonych progach)
- Generowanie tekstu (np. opisy zasobów z symbolami zastępczymi)
7. Łączenie automatyzacji i interfejsów
- Zautomatyzowane importy: Połącz zadanie REST z importem CSV w zadaniach Cron.
- Discovery + Wyzwalacze: Wykrywaj nowe urządzenia i automatycznie uruchamiaj tworzenie CI.
- Raportowanie: Używaj pól skryptowych i historii wersji do automatycznych raportów przez API.
Dzięki tym mechanizmom procesy mogą być płynnie integrowane w OTOBO-CMDB, zapewniając jakość danych i minimalizując ręczne zadania rutynowe.