Skip to main content

Asset-Daten importieren

Beim Datenimport im Menü Assets > Import/Export werden die Daten mehrerer Assets aus einer bestehenden CSV-Datei eingelesen. Sie können dafür auf eine bestehende CSV-Datei zurückgreifen oder über die Export-Funktion zuvor eine CSV-Datei erzeugen, die Sie dann bearbeitet zurück importieren.

Beim Anlegen einer Asset-Klasse legt KIX automatisch ein CSV-Mapping an, welches die Datenstruktur der Asset-Klasse enthält. Die Datenstruktur im Mapping steuert die Zuordnung von Quell- und Zieldaten. Nach Änderungen an der Klassendefinition einer Asset-Klasse wird das zugehörige CSV-Mapping automatisch aktualisiert, wenn der zugehörige SysConfig-Schlüssel ImportExport::CSVMappingAutoCreate###ForceCSVMappingRecreation auf 1 gesetzt ist (default: 0).

asset-import_schema.png

Abb.: Über Mappings werden Assets aus einer CSV-Datei ausgelesen und unter der Asset-Klasse angelegt

Beim Import werden bestehende Asset-Daten überschrieben und neue Asset-Daten werden ergänzt. Maßgeblich dafür ist die in der CSV-Datei angegebene Asset-ID.

  • Ist die ID in KIX schon vorhanden, werden die zugehörigen Asset-Daten überschrieben.

    Das ist vorteilhaft, wenn Sie für mehrere bestehende Assets Änderungen vornehmen möchten.

  • Ist die ID noch nicht in KIX vorhanden, wird das Asset unter Verwendung der nächsten fortlaufenden ID angelegt. Diese ID wird intern vom System erzeugt.

    Das ist vorteilhaft, wenn Sie mehrere neue Assets auf einmal in KIX anlegen möchten.

Bedingungen für den Import

Für einen erfolgreichen Import ist es zwingend notwendig, die Bedingungen an die CSV-Datei einzuhalten. Anderenfalls können die Daten nicht korrekt zugeordnet werden und der Import schlägt fehl.

  • Alle Texte müssen in " " (doppeltes Hochkomma) gesetzt sein.

  • Das Attribut "Name" muss zwingend angegeben sein.

  • Mehrere Attribute müssen durch Semikolon ";" getrennt werden.

  • Die Spaltenbezeichnungen müssen in doppelte Hochkommas gesetzt und durch Semikolon getrennt sein.

  • Die Datenstrukturen von Quelle (CSV-Datei) und Ziel (KIX) müssen exakt übereinstimmen

  • Datumsfelder erwarten das Format: yyyy-mm-dd. Ist das Format bspw. dd.mm.yyyy, wird das Asset zwar importiert, aber das Datum nicht verarbeitet.

  • Im Browser ist ggf. noch der MIME-Type der Datei zu korrigieren. Erlaubt sind:

    • application/vnd.ms-excel

    • text/plain

    • text/csv

asset-import_beispiel-csv.png

Abb.: CSV Datei für den Import/Export (Beispiel)

Weiterhin ist zu beachten:

Attribut

Bedingungen und Hinweise

Number

Angabe der Asset-ID

  • Die ID muss zwingend angegeben sein.

  • Import neuer Assets: Die unter "Number" angegebene Asset-ID darf noch nicht in KIX vorhanden sein und nicht "0" sein.

  • Import vorhandener Assets: Die unter "Number" angegebene Asset-ID muss identisch mit der Asset-ID im KIX sein.

  • Ist eine "Number" in der CSV-Datei identisch mit einer in KIX existierenden Asset-ID, werden die Daten des Assets überschrieben (Update von Asset-Daten).

  • Stimmen "Number" und Asset-ID nicht überein, erfolgt kein Update der Asset-Daten, sondern ein Neu-Import.

Name

Name/Bezeichnung des Assets Der Name muss zwingend angegeben sein.

OwnerOrganisation

Name der Organisation Die Organisation wird nur gesetzt, wenn die sie bereits in KIX vorhanden ist.

OwnerContact

E-Mail Adresse des Kontakts

Die Kontakte werden auf Basis der importierten E-Mail-Adressen ermittelt und den Assets zugeordnet:

  1. Versuch: Zuordnung des Importwertes anhand der Emailadressen-Suche

    • Wenn mehrere "gültige" Kontakte gefunden werden, wird der erste gefundene Kontakt dem Asset hinzugefügt (feste Sortierung nach Nachname, dann Vorname). Es gibt keine Definition, welcher Kontakt dies ist.

    • Wenn keine "gültigen" Kontakte gefunden werden: Ausweitung der Suche auf "ungültige" Kontakte.

      • Wenn mehrere "ungültige" Kontakte gefunden werden, wird der erste gefundene Kontakt auf das Asset gesetzt (feste Sortierung nach Nachname, dann Vorname). Es ist nicht definiert, welcher Kontakt dies ist.

  2. Versuch - wenn 1. nicht erfolgreich: Zuweisung des Importwertes basierend auf der UserLogin-Suche.

  3. Versuch - wenn 2. nicht erfolgreich: Prüfung, ob eine Zuordnung anhand der ContactID möglich ist.

Wenn keine Zuordnung möglich ist, schlägt der CSV-Import für den entsprechenden Eintrag fehl.

General Catalog Werte wie:

SectionGeneral::1::Type

z. B. Hardware

  • Die angegebenen Werte müssen bereits im General Catalog angelegt sein

  • Die Bezeichnung muss mit der genauen Bezeichnung im General Catalog übereinstimmen; Übersetzungen sind nicht möglich.

Verknüpfungen von Assets wie:

SectionGeneral::1::ParentLocation

z. B. Standort, Gebäude, Raum

  • Die Asset-Nummer muss ohne vorangestelltes "A#" angegeben werden

  • Sollen derartige Abhängigkeiten angegeben werden, müssen

    • zuerst die Asset-Klassen importiert werden, die keine Abhängigkeiten besitzen oder

    • die abhängigen Asset-Klassen in der CSV-Datei nicht angeben werden, um sie anschließend manuell nachzupflegen.

Tipp

Im SysConfig-Schlüssel ImportExport::CSVMappingAutoCreate###EmptyFieldsLeaveTheOldValues (Option für CSV-Mapping) können Sie festlegen, ob beim Import von leeren Feldern die alten Werte erhalten bleiben sollen:

  • 1: leere Werte ersetzen keine bestehenden Werte (Standard)

  • 0: leere Werte ersetzen vorhandene Werte durch leere Werte

Den Asset-Import durchführen

Für den Asset-Import muss die Datenstruktur der importierten CSV-Datei mit der Datenstruktur im Mapping übereinstimmen (s. Bedingungen oben). Das betrifft insbesondere Spaltenstruktur und Spaltenbezeichnungen. Anderenfalls schlägt der Import fehl. Als Hilfestellung können Sie eine Asset-Klasse exportieren, in der mindestens ein Asset angelegt ist.

  1. CSV-Datei exportieren (optional):

    1. Navigieren Sie im Explorer zu Assets > Import/Export. Im Contentbereich wird eine Tabelle geöffnet, welche alle im System angelegten CSV-Mappings auflistet.

    2. Wählen Sie mit einem Häkchen die gewünschte Asset-Klasse aus. Erst jetzt sind die Schaltflächen Import und Export aktiv.

    3. Klicken Sie auf Export und speichern Sie die CSV-Datei in Ihrem lokalen Dateisystem.

      Die exportierte CSV-Datei besitzt die erforderliche Datenstruktur für eine korrekte Zuordnung von Quell- und Zieldaten.

  2. Assets einpflegen:

    1. Öffnen Sie die exportierte CSV-Datei und verwenden Sie sie als Vorlage für Struktur und Aufbau.

      Pflegen Sie manuell weitere Assets in die CSV-Datei ein oder nehmen Sie Änderungen an den exportierten Assets vor.

      Beachten Sie dabei die Bedingungen für den Import

      asset-import_daten-importieren.png

      Tipp

      Wenn Sie mehrere Assets gleichzeitig importieren möchten, geben Sie jedem Asset eine möglichst große, nummerische ID, z. B. 9999999999. Alle Assets können dabei die gleiche ID besitzen. Beim Import erkennt KIX, dass es diese ID noch nicht gibt und legt das Asset fortlaufend unter der nächsten freien ID an. Damit brauchen Sie die Reihenfolge IDs nicht selbst zu überwachen.

    2. Speichern Sie Ihre Änderungen an der CSV-Datei.

      Achtung

      Microsoft Excel entfernt beim Speichern der CSV-Datei die Hochkommas. Wir empfehlen daher die Verwendung von Libre Office. Libre Office bietet zudem die Möglichkeit, bei "Speichern unter..." Filteroptionen anzugeben.

      Überprüfen Sie vor dem Import die CSV-Datei auf eine korrekte Struktur (z. B. mit einem Texteditor).

  3. CSV-Datei importieren:

    1. Navigieren Sie im Explorer zu Assets > Import/Export. Im Contentbereich wird eine Tabelle geöffnet, welche alle im System angelegten CSV-Mappings auflistet.

    2. Klicken Sie im Tabellenkopf auf Import. Es wird ein Dialog zur Dateiauswahl geöffnet.

    3. Navigieren Sie in diesem Dialog zu dem Verzeichnis, in welchem sich die CSV-Datei mit den Asset-Daten befindet und wählen Sie diese mit Öffnen aus. Der Datenimport startet.

    4. Bei erfolgreichem Import wird eine Erfolgsmeldung (grün) angezeigt.

    5. Stimmt der Dateityp nicht mit dem erwarteten Typ überein oder enthielt die Datei Fehler, wird eine entsprechende Fehlermeldung (rot) angezeigt.

Die importierten Assets stehen nun im Menü Assets des Agentenportals zur Verfügung.

Tipp

KIX Pro bietet die Möglichkeit, die durch KIX generierten Assetnummern beim Import durch eigene Identifikatoren zu ersetzen. Dies erfolgt mit einem Job des Typs "Asset".

CSV-Import via Skript mit erweiterten Optionen

Der Import von Asset-Daten ist ebenfalls über Kommandozeile und das Tool https://github.com/kix-service-software/kix18syncmöglich. Dabei können sowohl CSV-Daten ohne explizites Attributmapping in der Kopfzeile als auch solche mit verwendet werden. Beachten Sie, dass die Kopfzeile die technischen Bezeichner und Feldindizes enthalten muss, wie sie auch der Asset-CSV-Export via GUI erzeugt.

Liegt Ihnen eine CSV-Datei ohne geeignete Überschriften als Attributzuordnung vor, können Sie die Option--uam (use asset mapping) bei Aufruf des Scripts (kix18.CSVSync.pl) verwenden. Es wird dann ein Spalten-zu-Attribut-Mapping vorausgesetzt, welches in der verwendeten Konfigurationsdatei enthalten sein muss (siehe Beispiel: https://github.com/kix-service-software/kix18sync/blob/master/config/kix18.CSVSync.cfg). Die zu importierende Datei darf keine Kopfzeile beinhalten. Alle Zeilen werden als Assetdaten interpretiert.

Beispielkonfiguration für die Option "uam" an der Assetklasse Computer:

/opt/kix18sync$ ./bin/kix18.CSVSync.pl --config ./config/kix18.CSVSync.cfg --ot Asset --if ./sample/AssetData04_Computer_Sample.csv --ac Computer --uam

Für Datenimporte aus externen Quellen und Updates in der KIX-CMDB stehen mitunter keine KIX-Assetnummern bereit. Verwenden Sie eindeutige Asset-Namen, können Sie dann die Option "--anl" (asset name lookup) verwenden. Diese Option ermöglicht eine Suche nach Asset-Namen, wenn keine oder eine ungültige Asset-Nummer angegeben ist.

Beispielkonfiguration für die Option "anl" an der Assetklasse Computer:

/opt/kix18sync$ ./bin/kix18.CSVSync.pl --config ./config/kix18.CSVSync.cfg --ot Asset --if ./sample/AssetData04_Computer_Sample.csv --ac Computer --anl

Assetnummern beim Import ändern

Beim Import werden Assets unter einer von KIX generierten Assetnummer abgelegt. KIX Pro bietet die Möglichkeit, die Assetnummern beim Import durch eigene Identifikatoren zu ersetzen. Dies erfolgt mit einem eventbasierten Job des Typs "Asset".

Richten Sie diesen Job wie folgt ein:

  1. Navigieren Sie im Explorer zu Automatisierung > Jobs

    Im Contentbereich wird eine Tabelle geöffnet, welche alle im System angelegten Jobs auflistet.

  2. Klicken Sie in der Tabelle auf Neuer Job.

    Es wird ein Formular-Dialog geöffnet, in dem Sie schrittweise den Synchronisationsjob anlegen können.

    Nutzen Sie die kleinen blauen Pfeil- oder Punktschaltflächen, um zum nächsten Schritt zu gelangen oder um zwischen den Schritten zu wechseln.

    • Job Informationen

      • Wählen Sie unter JobTyp die Option "Asset"

      • Vergeben Sie dem Job einen aussagekräftigen Namen.

      • Optional: Beschreiben Sie den Job im Feld Kommentar.

      • Setzen Sie den Job auf "gültig".

    • Ausführungsplan

      • Wählen Sie unter Eventgesteuerte Ausführung das Event VersionCreate.

        Damit wird festgelegt, dass der Job bei jeder Versionsänderung eines Assets die Nummer ersetzt.

    • Filter

      • Optional: Setzen Sie Filter, um festzulegen, unter welchen Voraussetzungen der Job ausgeführt wird.

        Der Job wird nur auf Assets angewandt, die allen definierten Filterkriterien entsprechen.

    • Aktionen

      • Wählen Sie als 1. Aktion "Asset Nummer setzen".

      • Tragen Sie unter "Asset Nummer" den zu setzenden Indentifikator ein.

        Sie können Buchstaben und Ziffern sowie deren Kombination verwenden.

        Platzhalter sind ebenfalls möglich:

        • <KIX_ASSET_CurrentVersion_[AttributeName]>

          Referenz auf Attribute aus der Asset Version (z.B. "Name")

        • <KIX_ASSET_CurrentVersion_[Data_AttributeKey]>

          Referenz auf Attribute aus der Asset Klassendefinition

        • <KIX_ASSET_CurrentVersion_Data_[KEY]>

          für XML-Daten (klassenspezifisch)

        • <KIX_ASSET_CurrentVersion_Name>:::<KIX_ASSET_CurrentVersion_Data_RoomLabel>:::<KIX_ASSET_CurrentVersion_Data_Floor>

          Bespiel-Eintrag, wenn Asset zu Klasse "Raum" gehört

      Anmerkung

      Ist der zu setzende Wert ein CMDB-weit eindeutiger Indentifikator (Assetnummer), so wird die KIX-Assetnummer durch den Wert ersetzt.

      Ist eine Assetnummer nicht eindeutig oder kein Wert an betreffendem Attribut gesetzt, wird die bestehende Assetnummer nicht ersetzt und eine Fehlermeldung wird im Log eingetragen (Level "ERROR").