Wörterbücher im GLPI: So vereinheitlichen Sie das automatische Inventar

Technischer Leitfaden zu Wörterbüchern in GLPI 10/11: SQL, um den Datenwildwuchs im Inventar zu erfassen, Herstellerregeln und Regex für Modelle, Ablehnung von KBs, kontrolliertes Replay ohne Serverausfall und eine Entscheidungsmatrix, welche Aktion Sie nutzen sollten. So, wie wir es im Betrieb von GLPI-Umgebungen machen.

In diesem Artikel8 Abschnitte

Automatisches Inventar ohne Wörterbuch ergibt eine CMDB, der niemand vertraut. Jeder Agent meldet „Dell Inc.“, „DELL“ und „Dell Technologies“ als unterschiedliche Hersteller, und die Leitung öffnet einen Bestandsbericht mit drei Zeilen für dieselbe Sache. Die Wörterbücher von GLPI lösen dies bereits bei der Dateneingabe – sie funktionieren aber nur dann wirklich, wenn Sie den Wildwuchs vorher erfassen, verstehen, dass Ablehnen destruktiv ist, und ein Replay ausführen, ohne den Server lahmzulegen. Dieser Leitfaden beschreibt den Weg, den wir im Betrieb von GLPI-Umgebungen unserer Kunden gehen.

Warum Inventardaten unsauber ankommen

Wenn GLPI Agent Daten von Hunderten Rechnern sammelt, taucht dasselbe reale Objekt in mehreren Schreibweisen auf, weil jeder Anbieter die Zeichenkette auf seine Weise im BIOS, in der Windows-Registry oder im Paket hinterlegt. Die klassischen Fälle:

  • Hersteller: „Dell Inc.“, „Dell“, „DELL“, „Dell Technologies“ werden zu vier Datensätzen.
  • Modelle: „Latitude 5520“, „LATITUDE 5520“ und „Dell Latitude 5520“ werden nicht gruppiert.
  • Software: Hunderte KBs und „Update for Windows“ verdrängen die Software, die Sie tatsächlich verwalten müssen.
  • Betriebssystem: „Windows 10 Pro“, „Microsoft Windows 10 Professional“ und „Win10Pro“ zersplittern jede Lizenzzählung.

Die praktische Folge: Dashboards mit aufgeblähten Summen, ein nutzloser Software-Compliance-Bericht und Kaufentscheidungen auf Basis falscher Zahlen. Vereinheitlichen ist keine Ästhetik – es macht die CMDB erst verlässlich.

Erfassen Sie den Wildwuchs, bevor Sie die erste Regel schreiben

Der Anfängerfehler ist, blind Regeln anzulegen. Messen Sie zuerst. Eine lesende SQL-Abfrage direkt in der Datenbank zeigt die Größe des Problems und hilft, den Aufwand zu priorisieren. Führen Sie sie auf einem Replikat oder außerhalb der Spitzenzeiten aus:

-- Manufacturers with divergent spellings from the same group
SELECT id, name
FROM glpi_manufacturers
WHERE name LIKE 'Dell%' OR name LIKE '%DELL%'
ORDER BY name;

-- Amount of "pollution" in the software catalog (KBs and updates)
SELECT COUNT(*) AS junk_software
FROM glpi_softwares
WHERE name LIKE 'KB%'
   OR name LIKE 'Update for%'
   OR name LIKE 'Security Update for%';

-- Top 20 most repeated software names (rule candidates)
SELECT name, COUNT(*) AS occurrences
FROM glpi_softwares
GROUP BY name
ORDER BY occurrences DESC
LIMIT 20;

Mit diesen Zahlen wissen Sie, wo eine Regel am meisten bringt. In den meisten Umgebungen konzentriert sich der Großteil des Wildwuchses auf Hersteller und Software.

Die Arten von Wörterbüchern und wann Sie welche Aktion nutzen

Unter Administration > Wörterbücher finden Sie Wörterbücher für Software, Hersteller, Modelle (Computer, Monitor, Drucker, Telefon, Netzwerk), Typen und Betriebssystem. Was sich zwischen ihnen unterscheidet, ist die Aktion, die Sie wählen. Diese Matrix fasst die Entscheidung zusammen:

Situation im InventarWörterbuchEmpfohlene AktionUmkehrbar?Falle
Hersteller mit mehreren SchreibweisenHerstellerFesten Namen zuweisenJaZusammenführung kann verwaiste Einträge in der Dropdown-Liste hinterlassen
Modell mit HerstellerpräfixModelleRegex + erfasste Gruppe zuweisenJaErfordert Kriterium „regulärer Ausdruck“, nicht „enthält“
KBs und Updates verunreinigen den KatalogSoftwareImport ignorierenTeilweiseReplay LÖSCHT bereits importierte Software
Zersplitterte BetriebssystemversionenBetriebssystemBetriebssystem / Edition zuweisenJaName des Betriebssystems und Edition sind getrennte Felder
Mehrere Softwareeinträge, die dasselbe Produkt sindSoftwareName + Hersteller zuweisenJaFasst Versionen zusammen; vor dem Zusammenführen prüfen

Hersteller und Modelle normalisieren (Schritt für Schritt)

  1. Legen Sie im Wörterbuch Hersteller eine Regel an: Kriterium Name – enthält – Dell; Aktion Zuweisen Name = Dell. So werden alle Schreibweisen zu einem Datensatz zusammengefasst.
  2. Bei Modellen mit Herstellerpräfix reicht „enthält“ nicht – nutzen Sie Regex. Markieren Sie das Kriterium als regulärer Ausdruck und erfassen Sie nur den nützlichen Teil.
# Computer models dictionary
# Criterion -> Name | regular expression matches:
/^(?:Dell\s+)?(Latitude\s+\d+)/i

# Action -> Name | Assign the value from the regular expression:
#1

# Result:
#   "Dell Latitude 5520" -> "Latitude 5520"
#   "LATITUDE 5520"       -> "Latitude 5520"
#   "Latitude 5520"       -> "Latitude 5520"

#1 ist die erste erfasste Gruppe; #0 wäre die gesamte Zeichenkette. An diesem Detail scheitern viele: Die Aktion „Wert aus regulärem Ausdruck zuweisen“ funktioniert nur, wenn das Kriterium als regulärer Ausdruck markiert ist. Mit „enthält“ wird #1 zu wörtlichem Text.

KBs ablehnen, ohne das Inventar zu sprengen

Um Updates aus dem Katalog zu entfernen, legen Sie im Wörterbuch Software eine Regel mit der Aktion Import ignorieren an:

  • Kriterium: Name – beginnt mit – KB – Aktion Import ignorieren.
  • Kriterium: Name – enthält – Update for Windows – Aktion Import ignorieren.

Ab dann ignorieren neue Importe diese Einträge. Was fast niemand vorhersieht: Beim Replay dieser Regel löscht GLPI die bereits importierte Software, auf die das Kriterium zutrifft. Für die Bereinigung ist es die richtige Aktion, aber sie ist destruktiv – deshalb kommt sie immer zuerst in die Testumgebung.

Replay: Regeln auf vorhandene Daten anwenden

Eine Wörterbuchregel greift nur bei der Eingabe. Für Daten, die bereits in der Datenbank liegen, verwenden Sie in jedem Wörterbuch die Schaltfläche Wörterbuchregeln erneut anwenden. Zwei Vorsichtsmaßnahmen für den Betrieb, die wir auf die harte Tour gelernt haben:

  • Nach Hersteller aufteilen. Beim Replay des Software-Wörterbuchs lässt GLPI Sie den Hersteller wählen. Alles auf einmal in einem großen Katalog auszuführen, sprengt max_execution_time von PHP und liefert einen Fehler 500. Arbeiten Sie in Teilmengen.
  • Zeitfenster mit wenig Last. Ein Replay verarbeitet Tausende Zeilen neu; planen Sie es außerhalb der Geschäftszeiten.

Prüfen Sie nach dem Replay mit einer einfachen Zählung, ob die Konsolidierung funktioniert hat:

-- Should leave 1 "Dell" record (not 4)
SELECT id, name FROM glpi_manufacturers
WHERE name LIKE '%Dell%';

-- KB software should trend to zero after replay with "Ignore import"
SELECT COUNT(*) AS kb_remaining
FROM glpi_softwares
WHERE name LIKE 'KB%';

Der häufige Fehler im Kundenbetrieb

In einer Kundenumgebung mit rund 3.000 Assets reduzierte das Software-Wörterbuch, das KBs und Updates ablehnte, den Katalog von Zehntausenden „Softwareeinträgen“ auf einige Tausend echte Einträge – der Compliance-Bericht wurde endlich lesbar. Wir hatten aber ein Replay mit „Import ignorieren“ direkt in der Produktion ausgeführt, und der Kunde verlor den Überblick, welche Rechner welches KB hatten, weil die Ablehnung den Datensatz löscht und nicht nur ausblendet. Die Entscheidung, die seitdem für alle Umgebungen gilt: Ein Wörterbuch-Replay beginnt in der Testumgebung, Ablehnung wird als destruktive Operation behandelt, und auf eine Zusammenführung von Herstellern folgt immer eine Bereinigung der verwaisten Werte in der Dropdown-Liste, die GLPI nicht selbst entfernt. Solche Details zeigen sich erst, wenn man dies in einer echten Umgebung ausführt.

Bewährte Vorgehensweisen, die Nacharbeit vermeiden

  • Beginnen Sie mit Hersteller und Software – dort konzentriert sich der Großteil des Wildwuchses, und der Nutzen zeigt sich schnell.
  • Die Reihenfolge der Regeln ist wichtig: Stellen Sie spezifische Regeln vor allgemeine.
  • Testen Sie immer in der Testumgebung und validieren Sie jedes Replay mit SQL-Zählungen vorher und nachher.
  • Überprüfen Sie die Wörterbücher nach jeder großen Inventarwelle (neue Rechnercharge, Übernahme, Lieferantenwechsel).
  • Dokumentieren Sie jede Regel: Ein Wörterbuch ohne Historie des „Warum“ wird beim nächsten Betreuer zur Blackbox.

Ein vereinheitlichtes Inventar ist die Grundlage für verlässliche Kennzahlen und für den Lebenszyklus von Assets. Wenn Ihre Umgebung bereits gewachsen ist und die CMDB zu einem Gewirr aus Duplikaten geworden ist, übernimmt NexTool diese Bereinigung im Betrieb: Erfassung des Wildwuchses, in der Testumgebung geprüfte Wörterbuchregeln und kontrolliertes Replay, ohne Ihr GLPI lahmzulegen.


Geprüft vom Team von NexTool Solutions.

Häufig gestellte Fragen

Unter Administration > Wörterbücher. Dort erreichen Sie die Wörterbücher für Software, Hersteller, Modelle (Computer, Monitor, Drucker, Telefon, Netzwerk), Typen und Betriebssystem. Jedes Wörterbuch ist eine Menge von Regeln mit Kriterium und Aktion, die beim Import des Inventars ausgewertet werden.

Nicht automatisch. Die Regel greift bei der Eingabe neuer Daten. Um sie auf vorhandene Datensätze anzuwenden, nutzen Sie die Schaltfläche „Wörterbuchregeln erneut anwenden“ im jeweiligen Wörterbuch. Führen Sie es nach Herstellern aufgeteilt und außerhalb der Spitzenzeiten aus, weil ein Replay Tausende Zeilen neu verarbeitet und die PHP-Ausführungszeit überschreiten kann (Fehler 500).

Legen Sie eine Regel an, die den festen Namen zuweist (z. B. enthält „Dell“, dann „Dell“ zuweisen), und führen Sie anschließend ein Replay aus, um die Assets neu zuzuordnen. Prüfen Sie danach unter Einrichtung > Dropdowns, ob Hersteller mit null Elementen übrig geblieben sind, und löschen Sie sie endgültig. GLPI ordnet die Assets neu zu, entfernt aber nicht immer den alten Wert aus der Dropdown-Liste.

Ja, beim Replay. Die Aktion „Import ignorieren“ blockiert nicht nur künftige Importe: Beim Replay löscht sie bereits importierte Software, auf die das Kriterium zutrifft, und Sie verlieren den Überblick, welche Rechner dieses KB hatten. Testen Sie deshalb in der Testumgebung und behandeln Sie die Ablehnung als destruktive Operation.

Ja. Markieren Sie das Kriterium als „regulärer Ausdruck“ und verwenden Sie Erfassungsgruppen. In der Aktion akzeptiert „Wert aus regulärem Ausdruck zuweisen“ #0 (gesamte Zeichenkette) und #1 bis #9 (erfasste Gruppen). Der häufige Fehler ist, das Kriterium auf „enthält“ zu lassen und zu erwarten, dass #1 funktioniert: Es greift nur, wenn das Kriterium ein regulärer Ausdruck ist.

Ja. Die Regeln werden von oben nach unten ausgewertet. Stellen Sie spezifische Regeln vor allgemeine, damit eine breite Regel keinen Fall erfasst, der eine eigene Behandlung verdient. Überprüfen Sie die Reihenfolge jedes Mal, wenn Sie neue Regeln hinzufügen.

Brauchen Sie Hilfe?