Skip to content

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

  1. Przetwarzanie wsadowe: Importuj dane w partiach, aby uniknąć przekroczenia limitu czasu.
  2. Obsługa błędów: Sprawdzaj kody powrotu i wpisy w logach („SysLog“).
  3. 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

  1. Generuj szablon: Najpierw wyeksportuj przykładowy plik CSV/XML.
  2. Wzbogać dane: Dostosuj wartości i zweryfikuj lokalnie.
  3. Rozpocznij import: Poprzez interfejs agenta lub skrypt CLI.
  4. 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 VersionTrigger lub za pomocą skryptu
yaml
VersionTrigger:
  - DefinitionUpdate
  - ValueUpdate
  • Przypadki 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

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

Korzyść

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

  1. Zautomatyzowane importy: Połącz zadanie REST z importem CSV w zadaniach Cron.
  2. Discovery + Wyzwalacze: Wykrywaj nowe urządzenia i automatycznie uruchamiaj tworzenie CI.
  3. 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.