Skip to content

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

  1. Przetwarzanie partii: Importuj dane partiami, aby uniknąć limitów czasu.
  2. Obsługa błędów: Sprawdź kody zwrotne i wpisy w dzienniku („SysLog”).
  3. 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

  1. Generuj szablon: Najpierw wyeksportuj przykładowy plik CSV/XML.
  2. Wzbogać dane: Dostosuj wartości i zwaliduj je lokalnie.
  3. Uruchom import: Za pomocą interfejsu agenta lub skryptu CLI.
  4. 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

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