Von Jörg Hohwieler 5. Mai 2025
IT Asset Management - Mit dem Discovery-Scan den Grundstein legen
Gerade beim Aufbau eines IT Asset Managements ist der Start oft mühsam: Listen, manuelle Erfassung, fehlende Standards. Dabei geht es auch effizienter – mit einem Discovery-Scan als Grundlage.
In einem vorherigen Artikel wurden die Grundlagen von IT Asset Management (ITAM) erklärt. In diesem Teil zeigen wir nun wie man mit einem Discovery-Scan den Grundstein für ein ITAM legen kann.
Open Source Asset Management
Für diese Demonstration bietet sich das frei verfügbare ITAM Snipe-IT an. Snipe-IT ist genügsam und benötigt einen Webserver mit PHP und eine Datenbank. Es kann nativ auf dem OS installiert werden oder man nutzt das offizielle Docker-Image, das man auch mit Podman ausführen kann. Die Installation wird hier erklärt.
Der Vollständigkeit wegen wird an dieser Stelle noch angemerkt, dass ein produktiver Einsatz von Snipe-IT entsprechend geplant werden sollte hinsichtlich TLS-gesicherter Verbindung, Backup, User-Konfiguration und Dokumentation.
Discovery-Scan
Um was es sich bei einem Discovery-Scan handelt, haben wir schon bereits in einem Blogartikel näher beschrieben.
Kurz gesagt, geht es beim Discovery-Scan darum, möglichst alle Netzteilnehmer sowie deren Eigenschaften und Merkmale zu ermitteln. Also Merkmale wie Gerätetyp, Betriebssystem und -version, Hostname und Dienste. Viele dieser Merkmale eignen sich für den Datenbestand eines ITAMs.
Daher liegt es nahe, die Daten eines Discovery-Scans zur initialen Befüllung, aber auch zur späteren Aktualisierung, eines ITAMs zu nutzen. In unserem Beispiel verwenden wir das Discovery-Tool von runZero. Es benötigt einen Explorer, der über eine Cloud-Console seine Scankonfiguration erhält. Die Daten lassen sich nach einem Scan z.B. als CSV-Datei exportieren.
Daten-Import
Um es einfach zu halten, nutzen wir die Daten des runZero Demo Projekts. Es enthält ca. 50 Assets verschiedener Gerätetypen.
Der Ablauf ist wie folgt:
- Daten als CSV-Datei exportieren
- Benutzerdefinierte Felder in Snipe-IT anlegen
- Spalten in der CSV-Datei umbenennen
- Daten in Snipe-IT importieren
- Benutzerdefinierte Felder den Gerätemodellen zuweisen
Das folgende Video zeigt den Vorgang im Schnelldurchlauf:
Daten als CSV-Datei exportieren
Die Assets in runZero können mittels Export-Funktion einfach exportiert werden. Neben CSV gibt es noch JSON. Für den hier beschriebenen Vorgang bietet sich CSV an, da es einfach editiert werden kann.
Benutzerdefinierte Felder in Snipe-IT anlegen
Snipe-IT bringt bereits viele Felder mit, aber es hat keine vordefinierten Felder für Betriebssystem, IP-Adressen, etc. Da wir diese Informationen jedoch aus einem Discovery-Scan einfügen möchten, müssen diese Felder angelegt werden.
Unter Settings -> Custom Fields legt man nun die Felder Operating System
,
Operating System Version
und IP Address
an. Das Feld MAC Address
gibt es
bereits.
Danach erzeugt man ein neues Field Set. Damit kann man benutzerdefinierte Felder
gruppieren. Für unseren Fall legen wir ein Field Set mit dem Namen System Information
an und fügen alle 4 Felder der Gruppe hinzu.
Spalten in CVS-Datei umbenennen
Der Import von Assets in Snipe-IT wird hier beschrieben. Dort gibt es auch einen extra Hinweis für den Import von CSV-Daten mit benutzerdefinierten Feldern. Damit diese auch wirklich zugeordnet werden können, müssen die Spaltennamen in der CSV-Datei exakt den Namen der benutzerdefinierten Felder entsprechen.
Daher werden die passenden Spalten in der CSV-Datei entsprechend umbenannt. Dazu wird das passende Feld in der ersten Zeile der CSV-Datei editiert.
os
->Operating System
os_version
->Operating System Version
address
->IP Address
newest_mac
->MAC Address
Daten importieren
Nachdem die Snipe-IT Datenbank und die CSV-Datei vorbereitet wurden, kann nun der Import der Daten erfolgen.
Unter dem Menüpunkt Import
kann die CSV-Datei hochgeladen werden. Eine
entsprechende Zeile erscheint für die Datei. Am rechten Rand kann man durch
Klick auf den blauen Button das Mapping der Felder starten. Zunächst gibt man an,
welchen Typ man importieren möchte. In diesem Fall handelt es sich um Assets.
Hier besteht auch die Möglichkeit, ein Häkchen zu setzen bei Update Existing Values?
. Beim ersten Import kann man dies vernachlässigen, da es noch keine
Assets in Snipe-IT gibt, die man aktualisieren könnte. Aber bei späteren Imports
könnte man damit bereits bestehende Assets in Snipe-IT aktualisieren.
Das nachfolgende Mapping der CSV-Felder zu den Feldern in Snipe-IT ist Fleißarbeit.
- Spalte CSV -> Feld Snipe-IT
Id
->Asset Tag
(wichtig für Aktualisierungen)Organization
->Company
Site
->Location
Type
->Category
Hostname
->Asset Name
Newest_mac_vendor
->Manufacturer
Hw
->Model Name
Sofern man die Spracheinstellung von Snipe-IT auf Deutsch umstellt, muss man ggf. die Zuordnung entsprechend den deutschen Begriffen anpassen.
Die obige Zuordnung des Asset Tags ist wichtig für spätere Aktualisierungen.
Damit ein bereits importiertes Asset durch die Daten des Discovery-Scans
aktualisiert werden kann, wird eine eindeutige ID benötigt, die sich nicht
ändert. Glücklicherweise vergibt runZero eine eigene ID, die in Snipe-IT als
Asset Tag
verwendet werden kann. Auf diese Weise kann man bei einem Import mit
aktiviertem Update-Häkchen vorhandene Assets aktualisieren.
Diese 4 Spalten werden durch die entsprechende Umbenennung in der CSV-Datei bereits automatisch zugeordnet:
Operating System
Operating System Version
IP Address
MAC Address
Nachdem alle Spalten zugeordnet wurden, klickt man unten auf den Button Process Import
.
Benutzerdefinierte Felder den Gerätemodellen zuweisen
Durch den Import der CSV-Datei wurden nun nicht nur Assets erstellt, sondern
auch die zugehörigen Asset Modelle, Kategorien und Hersteller. Damit Snipe-IT
nun die benutzerdefinierten Felder bzw. das Field Set System Information
anzeigt, muss man dieses Field Set den erzeugten Asset Modellen zuweisen.
Dazu klickt man auf Settings -> Asset Models
, wählt mit Klick auf die oberste
Checkbox alle Asset Modelle aus und klickt ganz oben im Drop-Down Menü mit Bulk Edit
auf Go
. Im darauffolgenden Menü kann man hier nun das entsprechende Field
Set auswählen und mit Klick auf Update
speichern.
Danach kann man in der Ansicht der Assets die entsprechenden Spalten zur Ansicht aktivieren.
Import mittels Script
Mit etwas Entwicklungsaufwand kann der oben beschriebene manuelle Prozess durch ein Script abgelöst werden. Denn sowohl runZero als auch Snipe-IT können über eine API abgefragt bzw. befüllt werden.
Sofern der runZero Scan automatisch in einen bestimmten Intervall läuft, könnte ein Script die Daten immer wieder automatisiert in Snipe-IT aktualisieren und dabei ggf. noch gewünschte Transformationen (Umbenennung etc.) vornehmen.